A company files an 8-K. It says it bought 4,603 bitcoin at an average price of $80,318. Within an hour that number is in forty headlines. And in almost none of them is it compared to anything, which means that for most readers it carries no information at all. $80,318 is not high or low. It is high or low relative to something, and the something is not obvious.

This guide sets out the seven checks we run on every corporate bitcoin purchase disclosure, in the order we run them, with the arithmetic shown. The worked example is Strategy’s filing of 31 August 2026, because it is the most recent and because it happens to fail the second check — which makes it more useful than an example that passes everything. None of this is a judgement about whether the company is a good investment. It is a method for turning a press-release number into a measured one.

Check 1 — Does the disclosure’s own arithmetic close?

Before comparing anything to the market, make the filing agree with itself. There are usually three or four numbers and they should multiply and add.

TestArithmeticResult
Coins × average = spend4,603 × $80,318$369,703,754 vs “approximately $369.7m” — closes
Old holding + new = new holding840,447 + 4,603845,050 — closes
Old cost + new spend = new cost$63.36bn + $369.70m$63.730bn vs disclosed $63.73bn — closes
New cost ÷ new holding = new basis$63,729,703,754 ÷ 845,050$75,415.31 vs disclosed $75,412 — $3.31 apart

A $3.31 gap on a $75,000 basis is rounding in the previously published aggregate — the $63.36bn we started from is itself a rounded figure — not a discrepancy. A $300 gap would not be. This check takes ninety seconds and it is the one that catches genuine errors — including errors made by reporters rather than by the company. Last week we found a widely reproduced cost-basis figure that was $265 a coin too high because it had been copied rather than divided.

The habit to build: never accept a derived figure that you can compute from primary figures in the same document. If the filing gives you aggregate cost and coin count, divide them yourself.

Check 2 — Compare the average to the window’s VWAP, not to today’s price

This is the check that almost nobody runs, and it is the only one that measures execution rather than luck. VWAP — volume-weighted average price — is the average price at which the market actually traded, weighting each price by how much volume changed hands there. It is the natural benchmark for a large buyer, because it is roughly the price you would get if you spread your buying evenly across the period in proportion to liquidity. Institutional execution desks are literally graded against it.

Computing it for a purchase window needs two things: the window (filings usually name exact dates), and daily quote volume and base volume from any exchange API. Window VWAP = total quote volume ÷ total base volume. Do not average the seven daily VWAPs — that weights a quiet Sunday the same as a heavy Tuesday and will give you the wrong number.

Date (UTC)CloseDay VWAPVolume (BTC)
24 Aug 2026$78,992.75$78,463.1030,179.29
25 Aug$78,539.14$79,611.2424,772.51
26 Aug$79,023.75$78,572.2614,613.76
27 Aug$80,249.58$79,761.9116,265.54
28 Aug$77,845.87$79,008.5619,756.44
29 Aug$78,230.00$77,799.957,016.30
30 Aug$77,682.00$78,423.049,085.42
Window VWAP $78,930.87 — disclosed average $80,318+1.757%

Binance BTCUSDT, own pull, 1 September 2026. Seven candles, 24 through 30 August inclusive. Total base volume 121,689.27 BTC.

So the company paid 1.757% above the market’s own average trade for the days it was buying — $1,387.13 a coin, $6.385 million in total. Note also the sanity check that makes the result vivid: the disclosed average is higher than the daily close on every one of the seven days. The highest close in the window was $80,249.58. When a disclosed average sits above every close in its own window, the buying was concentrated in intraday highs.

An off-by-one day is the way this check goes wrong, and it went wrong for us on the first pass. Our initial pull of this window returned eight candles rather than seven, because the exchange endpoint’s end-time boundary swept in 31 August — a session with 15,303.91 BTC of volume that Strategy was not buying in. That single extra day moved the window VWAP by $71.48 and the headline premium from 1.757% to 1.850%. Count your candles and print the count. If the filing names seven days, the pull must return seven rows, and the base-volume total is the number to check it against.

Check 3 — Three ways this comparison misleads you

Run check 2 carelessly and you will publish something wrong. Three specific traps:

    • The window is not always what you think. Filings say “between 24 and 30 August”; they rarely say whether trades settled on the 30th were executed on the 30th, and the disclosed average is inclusive of fees and expenses, which the market VWAP is not. A spread of a few tens of basis points is explained by fees alone. 1.757% is not.
    • One exchange is not the market. A VWAP from Binance BTCUSDT is a large and liquid sample but it is a sample. A large corporate buyer is likely executing through OTC desks and prime brokers, where the reference price may be a different index entirely. Compute the VWAP on a second venue before you publish; if the two disagree by more than a few basis points, say so.
    • Paying above VWAP is not automatically bad. A buyer who must acquire size inside a fixed window, without signalling, will pay a premium; that premium is the cost of urgency, not a mistake. The finding is descriptive, not accusatory. What is fair to say is that the premium exists, how large it was, and that the company chose the window.

Check 4 — Is the new tranche above or below water, separately from the whole position?

These are two different questions and conflating them is the most common error in coverage. A company with a large legacy position at a low basis can be enormously profitable overall while its newest purchase is a loss. Both facts should be printed.

New trancheWhole position
Coins4,603845,050
Average cost$80,318$75,412
Value at $79,014.01$363.70m$66.771bn
P&L−$6.002m (−1.624%)+$3.044bn (+4.776%)

Own computation at the Binance BTCUSDT price of $79,014.01, 1 September 2026, 06:10 UTC.

The arithmetic is a single subtraction in each column: coins × (current price − average cost). Do it for both and you will never again write a sentence that implies a company’s newest buy is profitable because its oldest ones are.

Check 5 — Compute the sensitivity constant and use it instead of dollar figures

Every dollar figure attached to a large bitcoin position is stale within hours. The fix is to publish the sensitivity instead. Coins ÷ 1,000 gives you the dollars of position value per $1,000 move in bitcoin. For 845,050 coins that is $845.1 million per $1,000.

This is why several outlets put the position at “around $66.1 billion” on Monday and were $671 million light by Tuesday morning — not an error, a clock. Give a reader the coin count, the basis and the constant, and they can revalue the position themselves at any price, forever. Give them a dollar figure and you have given them something with a shelf life measured in hours.

Check 6 — Where did the money come from, and what fraction reached bitcoin?

A purchase announcement is a use of funds. The source of funds is the other half and it is usually in the same filing. Three questions:

    • Equity, debt, preferred or operating cash? Equity issuance dilutes existing holders; debt adds a maturity wall; preferred adds a dividend obligation that must be serviced in cash regardless of what bitcoin does.
    • What share of the raise reached bitcoin? In the worked example, $602.8m of stock was sold and $369.7m — 61.33% — went into bitcoin. The rest went to preferred buybacks ($151.8m, 25.18%), preferred dividends ($50.7m, 8.41%) and cash ($30.0m, 4.98%). A pure accumulation vehicle would show close to 100%.
    • Did the coin count per share rise or fall? This is the number that actually matters to a shareholder. Coins bought divided by shares issued, compared to the pre-existing coins-per-share. If a company issues shares faster than it adds coins, holders own less bitcoin each after the announcement than before it, however large the headline purchase.

That last check is the one to run if you only have time for one. A treasury company is a claim on coins per share, and every announcement is a test of whether that number went up.

Check 7 — Compare against the company’s own history, not against the market’s

The final check is internal. Pull the last several disclosed tranches and put the averages side by side with the window VWAPs. A single purchase above VWAP is noise. A pattern of purchases above VWAP is an execution profile, and it is worth roughly the same to a shareholder as a persistent fee.

The same applies to the pauses. A company that stops buying for ten weeks and then buys at the top of its own pause window is telling you something about how it makes the decision — specifically, that the trigger is price strength rather than price weakness. Whether that is good or bad depends entirely on what happens next, which is why we mark it rather than argue about it: our standing marker on this is that bitcoin records a daily close at or above $80,318 on or before 30 September 2026, which needs +1.695% from the 1 September Bitstamp print of $78,979.03. If it clears, the timing was fine. If it does not, the timing cost real money and we will say so.

The seven checks, in order

#CheckWhat it catches
1Does the filing’s own arithmetic close?Copied figures, reporter errors, stale aggregates
2Average vs window VWAPExecution quality — the only real measure of “bought well”
3Fees, venue, urgency caveatsYour own overclaiming
4Tranche P&L vs position P&LThe most common error in coverage
5Sensitivity per $1,000Dollar figures that go stale in hours
6Source of funds and coins per shareDilution hidden behind a large headline
7Pattern across tranchesA persistent execution cost

Total time, once you have done it twice: about ten minutes. The only tool you need beyond a calculator is a public exchange API that returns daily candles with quote volume — and the discipline to ask “compared to what?” of every average price anyone ever prints at you.

This is Field Guide #38. Related: #37, on telling whether a rally was bought with cash or with leverage, and #34, on turning an opinion into a claim that can be proved wrong.

Method: prices, funding, open interest, basis and on-chain figures in this article are pulled directly by Bitcoin Mastery at the timestamp stated — Bitstamp BTC/USD daily candles for closes and monthly returns, Binance BTCUSDT spot and perpetual for intraday and derivatives, Binance COIN-M quarterly contracts for basis, mempool.space for difficulty, hashrate and fees, alternative.me for the Fear & Greed series, Farside Investors’ all-data table for ETF flows and US Treasury CMT par yields for rates. Volume-weighted average prices are computed from Binance daily quote volume divided by base volume. Where a third-party figure is cited we name the source and its date; where two sources disagree we print both. Every streak or extreme figure is published with the first date of its series in the same sentence.

Disclaimer: This article is for informational purposes only and does not constitute investment advice. Cryptocurrencies are volatile and you can lose money. Nothing here is a recommendation to buy or sell any security, including MSTR, STRC or any exchange-traded fund. Do your own research and consult a licensed financial advisor before making investment decisions.