Fee allocation and the security budget

BSAHI — where Bitcoin's fee revenue must eventually go. Produced: 2026-09-17 · Instrument: tools/research/fee_allocation.py

The two claims on one revenue stream

Bitcoin's transaction fees are the only long-run revenue. Today almost none of the competing claims is actually paid by fees — the block subsidy pays the security bill:

claim on fees (2026, per block)USD/blockcovered by fees today
------:---:
Security / production (network energy cost to produce a block)$198,5490.7% (subsidy pays 107.0%)
Storage externality (L_net, N=32K, T=10yr)$5,62828.8% (the SCCR)
Node operating cost (network-wide, one year)$563251.4%

Actual fee revenue: ~$1,415/block (measured; frozen series) — against a $198,549/block production cost and a $5,628/block modeled storage cost. The subsidy ($212,517/block) is what keeps the security budget met today.

Miners are fee recipients; validators are cost bearers. That asymmetry is the externality. Miners are a few dozen pools running nodes; the ~26,586 reachable (and the unobservable non-listening) nodes are the ones carrying the storage and validation burden, and they receive nothing.

The halving clock

Subsidy halves every ~210,000 blocks. Only this arithmetic is exact:

yearsubsidy (BTC/block)USD at the current price
---:---:---:
20243.12500000$212,517
20281.56250000$106,258
20320.78125000$53,129
20360.39062500$26,565
20400.19531250$13,282
20480.04882812$3,321
20760.00038147$26
21000.00000596$0

When fees must take over

The subsidy alone stops covering the current network-wide energy cost of production in:

assumed pricesubsidy covers energy until
------:
$50,0002024
$78,0002028
$150,0002032
$300,0002036

At the current price that crossover is 2028 — after which fees must fund security, and, if the storage externality is to be internalized, roughly $204,177/block more on top.

Temporal expansion — the fee requirement per halving epoch

Price paths are scenarios (grade C); the halving is arithmetic (grade A).

Specified price path (aggressive appreciation)

yearpricesubsidy USD/blockproduction deficitstorage claimtotal fee needed
---:---:---:---:---:---:
2024$50,000$156,250$42,299$4,676$46,975
2028$78,000$121,875$76,674$4,676$81,350
2032$150,000$117,188$81,362$4,676$86,038
2036$300,000$117,188$81,362$4,676$86,038
2040$600,000$117,187$81,362$4,676$86,038
2044$1,200,000$117,187$81,362$4,676$86,038

The structural invariant: when the price doubles each epoch, the USD subsidy is constant — the halving cancels the appreciation. On this path the nominal security protection plateaus at ~$117,188/block and does not grow again. The security-budget cliff is therefore a protocol invariant, not a pricing problem: no amount of fiat appreciation on a doubling path raises the subsidy above the plateau, while the production deficit and the storage claim are set by costs and by schedule.

Flat-price path (no appreciation)

yearpricesubsidy USD/blockproduction deficitstorage claimtotal fee needed
---:---:---:---:---:---:
2024$68,005$212,517$0$4,676$4,676
2028$68,005$106,258$92,291$4,676$96,967
2032$68,005$53,129$145,420$4,676$150,096
2036$68,005$26,565$171,985$4,676$176,660
2040$68,005$13,282$185,267$4,676$189,943
2044$68,005$6,641$191,908$4,676$196,584

Under a flat price the crossover arrives sooner and hardens, because the subsidy and the protection fall together.

Doubling-each-epoch from today

yearpricesubsidy USD/blockproduction deficitstorage claimtotal fee needed
---:---:---:---:---:---:
2024$68,005$212,517$0$4,676$4,676
2028$136,011$212,517$0$4,676$4,676
2032$272,022$212,517$0$4,676$4,676
2036$544,043$212,517$0$4,676$4,676
2040$1,088,086$212,517$0$4,676$4,676
2044$2,176,172$212,517$0$4,676$4,676

Machine-readable: data/fee_allocation.jsontemporal.paths (per path, per epoch).

Grades

leglayergrade
Halving scheduleobservedA (arithmetic)
Energy cost / L_net / node opexmodelledC (documented assumptions on measured legs)
Fee revenueobservedB (frozen series: fees BTC/day × price)
Multi-decade projectionmodelledC (scenario, not a forecast)

Caveats

Why this matters

The SCCR asks whether fees cover the storage externality. The security budget asks whether fees cover hashing. Both are claims on the same fee stream, and the subsidy is currently masking both. As the subsidy falls, the two claims compete — and that is a research question worth owning.

Data: `/data/fee_allocation.json` · Related: SCCR sensitivity · Production cost · Evidence Matrix

Data source: data/fee_allocation.json — deterministic, frozen-input instrument; re-runnable offline.

← All research · ← Back to Learn