Tesla's Bitcoin 10-K: Feb 8, 2021 on the Tape
February 8, 2021: Tesla disclosed a $1.5B bitcoin purchase inside its annual report. The filing is in our EDGAR records and the session is on our tape.
On the morning of February 8, 2021, Tesla disclosed that it had bought $1.5 billion of bitcoin and intended to accept it as payment — not in a press release or a flashy 8-K, but inside the risk-factors-and-everything-else text of its annual report. It was the moment corporate-treasury crypto went from meme to filed fact, at the crest of that winter's speculative wave. Both halves of the event live in this warehouse: the filing in the EDGAR index, the reaction on the tape. Every number is a stored query; expand any panel for the SQL.
The filing, receipted
The exact SQL behind every number
SELECT
count() AS tesla_filings_that_day,
countIf(form_type = '10-K') AS annual_reports,
any(form_type) AS form_type_on_file
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date = '2021-02-08'
AND (issuer_name ILIKE '%tesla%' OR cik = '0001318605')One filing on the date: a 10-K — the annual report. The bitcoin disclosure rode along inside the 10-K's subsequent-events and risk text, a detail that matters for how the news traveled: annual reports are hundreds of pages, and the market's reaction began as readers found the paragraph, not at a scheduled headline moment. The SEC filings guide covers what each form is for — and why the 10-K is where the bodies are buried.
The day, on one row
The exact SQL behind every number
WITH
(
SELECT argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'TSLA'
AND window_start >= toDateTime('2021-02-05 00:00:00') AND window_start < toDateTime('2021-02-08 04:00:00')
) AS prior_rth_close
SELECT
round(prior_rth_close, 2) AS prior_close,
round(toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_open,
round((toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS gap_pct,
round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_low,
formatDateTime(toTimeZone(argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 'America/New_York'), '%H:%i') AS low_et,
round(maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_high,
round(toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_close,
round((toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS day_change_pct,
round((minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / prior_rth_close - 1) * 100, 1) AS low_vs_prior_pct,
round(toFloat64(sum(volume)) / 1e6, 1) AS day_shares_m,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_minute_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'TSLA'
AND window_start >= toDateTime('2021-02-08 04:00:00') AND window_start < toDateTime('2021-02-08 23:59:00')Here is the tape's quiet verdict: TSLA opened at $869.67 (+2% from Friday), touched $877.77, and closed at $863.3 — +1.3% on the day, on 19.7 million shares. A famous market moment, and a thoroughly ordinary session for 2021-vintage TSLA, a stock that had spent months moving multiple percent on no news at all. The asset that actually moved violently that day was bitcoin itself, which repriced double digits — but that market lives outside this warehouse's licensed universe, so this page sticks to what our tape can verify.
The shape of the session
The exact SQL behind every number
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(toFloat64(argMax(close, window_start)), 2) AS bucket_close,
round(min(toFloat64(low)), 2) AS bucket_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'TSLA'
AND window_start >= toDateTime('2021-02-08 04:00:00') AND window_start < toDateTime('2021-02-08 23:59:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_time
ORDER BY et_timeThe strength came early — the largest buckets sit in the morning as the disclosure circulated — and the afternoon drifted sideways in a narrow band. As event tapes go, this is what "priced within the hour" looks like, a useful contrast to the overnight NVDA gap where the market was closed for the reaction, or the GME halt cascade where the reaction kept breaking the market. Same era, three completely different event mechanics.
What this day teaches
Two mechanics. First, where a disclosure lives shapes how it prices: a 10-K paragraph diffuses through the market over hours as it is read, versus the step-function of a scheduled announcement — one reason the morning buckets carry the move. Second, the significance of an event and the size of the day's stock move are different things: this session's modest percentage belies its consequence, which unfolded over years as the corporate-bitcoin question became a permanent treasury debate (and as Tesla itself later sold portions of the position, disclosed in later filings — the same paper trail, continued). Historic days do not always look historic on the tape; the filing record is often the better receipt.
There is also a scale lesson in the pairing of the two numbers involved: $1.5 billion was under two percent of Tesla's cash-adjacent position at the time and a rounding error against its market value, yet the disclosure re-anchored a whole policy debate — treasurers, auditors, and boards suddenly needed a bitcoin opinion. Materiality in filings is measured in dollars; materiality in markets is measured in precedent. The gap between those two measures is where this day lives.
Tesla bitcoin FAQ
How did Tesla announce its bitcoin purchase?
Inside its annual report — the 10-K filed February 8, 2021, receipted above from the EDGAR index — disclosing a $1.5 billion purchase and the intent to accept bitcoin as payment.
What did Tesla stock do when the bitcoin purchase was announced?
It rose 1.3% that session, with the move concentrated in the morning as the disclosure circulated — an unremarkable day by that era's TSLA standards, receipted above.
Does Tesla still hold its bitcoin?
Tesla sold a large portion of the position in 2022 (disclosed in its quarterly filings) and has adjusted it since. The current answer lives where the original one did: in the company's most recent 10-Q or 10-K.
Every panel above is a stored, versioned query over the historical tape — expand the SQL to see each measurement. Want to feel this day instead of reading it? It is one of the playable scenarios in the Strasmore Labs trading simulator.