How these figures are computed
Every figure on these pages is generated from one file, from public inputs, on a declared basis. Nothing is typed by hand. Where a choice exists, all the options are published, not just the one used.
The core ratio
Annualised miner revenue divided by market capitalisation. Miner revenue is a flow and market capitalisation is a stock, so the ratio asks what share of the protected value is spent protecting it. Today that is 0.82%.
The three bases, and which one is published
| Basis | Ratio | Gap / yr | Market cap to cover it |
|---|---|---|---|
| Trailing-year revenue over spot market cap | 0.92% | $1.27B | $24.40B |
| Trailing-year revenue over average market cap | 0.86% | $2.13B | $40.93B |
| Spot run-rate revenue over spot market cap (published) | 0.82% | $2.77B | $53.28B |
Three ways to measure the same ratio, all published. None of the three closes the gap.
The published figure is the third: spot run-rate revenue over spot market capitalisation. It answers the present-tense question, and it is the least flattering of the three to the argument these pages make, producing the largest gap. Why that matters is set out on why different sources give different figures.
Inputs, and where each comes from
| Input | Source | How it is used |
|---|---|---|
| Block rewards, last 1,008 blocks | mempool.space | annualised at 52,560 blocks/yr for the run-rate basis |
| Daily miner revenue and fees | blockchain.com charts | trailing-365-day sums; fee share; the epoch history |
| BTC price and market capitalisation | CoinGecko | the denominator, and the dollar restatements |
| Adequate-spend band | Alden, McAvity, Hasu | the 1% target is a round heuristic inside their published range, not a derived floor |
Rules the generator enforces
No typed numbers. Every figure on every page is read from the figures file at build time; a page cannot contain a number the file does not carry. Constants are labelled as constants. The block subsidy and the miner-redirect block height are protocol facts, not readings. Forward figures assume nothing about price. The 2028, 2032 and 2036 ratios halve the subsidy on schedule and hold the fee component flat; price appears in both the numerator and the denominator and cancels, so no price forecast is involved or implied.
Dates, updates and history
Each page states the asof date of the figures it quotes, which is the date of the underlying data and usually lags the calendar by a day. The figures are regenerated from source and the pages rebuilt together, so they cannot disagree with each other. A dated snapshot is written on each refresh and kept permanently, so a citation made today still resolves to the numbers it was made against: the current one is /security-budget/2026-09-07/.
Machine-readable
The current figures are at data.json, with CORS enabled so a page or notebook can fetch them directly. The full series is at history.csv and history.json, one row per asof date. All of it is CC BY 4.0: use it, and cite this page.
Corrections
If a figure here is wrong, the fix goes into the generator or its inputs, never into a page, and every page carrying that figure is rebuilt in the same pass. Dated snapshots are never edited after the fact, so the record of what was published on a given day stays intact. Corrections are noted on the about page.