Bitcoin blocks are running about 99.9% full. A Bitcoin transfer costs about nine cents.

Both were true at 22:47 UTC on 16 July 2026, and the fact that they can be true at the same time is the whole story of network fees. Block space is sold out in every block, including the boring ones. What moves is the clearing price — and the clearing price has fallen off a cliff that most people's mental model hasn't caught up with.

The ChainCensus Fees Index currently reads 7.5as of 09:07 UTC, and the median cost to send $100 across the eight chains we track is $0.0011as of 09:07 UTC. The label beside each figure says whether it came from the live database or the sample fallback. Live readings move fast enough that baking one into prose would be dishonest — while I was checking numbers for this piece, the index fell from 21 to 13.1 in half an hour because Ethereum's gas price dropped 73%.

Key takeaways
  • Bitcoin blocks run 99.8–99.9% full even on a day when a send costs nine cents — block space is always sold out, only the price moves
  • Ethereum's median daily fee per transaction fell from $18.66 in 2021 to $0.16 so far in 2026 — a 117x collapse
  • Blob data is exactly 640x cheaper per byte than calldata, and that ratio is fixed by two constants rather than market conditions
  • Base collected ~$2.28M from users in 30 days and paid Ethereum $5,741 for settlement — your L2 fee mostly funds the sequencer
  • Asking for confirmation within an hour instead of the next block was 3.2x cheaper on Bitcoin, measured 2026-07-16

Fees buy bytes, not a share of your money

A $100 transfer and a $1M transfer of the same shape cost the network the same resources, so they pay roughly the same fee. On Bitcoin both are about 140 virtual bytes. On Ethereum both burn exactly 21,000 gas. The amount you're sending never enters the calculation.

That's why percentage thinking fails. A fee is rent on space in the next block, and the landlord doesn't ask what's in the box. Small transfers get punished; large ones get a free ride.

The rent is set by auction, and the auction never closes. I pulled the five most recent Bitcoin blocks from Blockstream's API while writing this: weights of 3,993,576 to 3,997,847 against the BIP-141 ceiling of 4,000,000 weight units. That's 99.84% to 99.95% full — every single one, on a day when getting in costs nine cents.

This is the thing "congestion" gets wrong. A chain doesn't run out of room during a mania. It's always out of room. A mania just means more people are bidding for the same fixed space, and they're willing to outbid you.

Bitcoin: an auction with no slow days

Bitcoin sells weight units. BIP-141 sets the rule plainly — block weight must not exceed 4,000,000, and virtual size is weight divided by four. You bid in satoshis per virtual byte; miners sort by bid and fill the block. There is no base fee, no burn, no schedule. Just a queue and a price.

Our methodology models a transfer as 140 vB — one input, two outputs, native SegWit — which is why our Bitcoin row tracks the sat/vB market almost exactly.

Ethereum: a base fee that burns, and moves fast

Ethereum replaced the pure auction in August 2021. EIP-1559 split the fee into a base fee that is algorithmically set and destroyed, plus a priority fee that goes to the block producer. The base fee targets half the block's gas limit and can move at most 12.5% per block in either direction.

The spec meets the chain neatly: London activated at block 12,965,000 (2021-08-05 12:33:42 UTC) with a base fee of exactly 1 gwei — the spec's INITIAL_BASE_FEE, right there on-chain.

The 12.5% cap sounds gentle. Compounded over a few dozen blocks it isn't. On 2026-07-16 the base fee went from 0.1851 gwei to 0.1068 gwei in about twenty minutes, and Ethereum's send cost on our table ran between $0.003 and $0.012 inside a single half-hour. Any sentence of the form "Ethereum costs $X" has a half-life measured in minutes. A 30-day median is the honest unit: by growthepie's numbers, the median Ethereum L1 transaction cost about 1.5 cents over the 30 days to 2026-07-15.

Four chains, four different markets

The spread isn't a quality ranking. It's four unrelated markets that happen to use the same word.

How each chain prices a transaction
ChainWhat you're buyingWho sets the priceWhat makes it spike
Bitcoin4,000,000 weight units per block; a send is ~140 vBOpen sat/vB auction, no floor, no burnInscription and token waves competing for the same 4M WU
EthereumGas (a send is 21,000) against a 60,000,000 gas limitBurned base fee, ±12.5% per block, plus a priority tipMints, liquidations — anything that fills blocks past the 50% target for many blocks running
Rollups (Base, Arbitrum, Optimism)Execution on the L2, plus a share of one batched L1 billSequencer pricing, split across everyone in the batchL1 base fee spikes, or a thin batch with few users to share it
SolanaA signature (5,000 lamports, half burned) plus compute unitsFixed base fee + optional compute_unit_price bidContention for specific accounts, not the chain as a whole
TronBandwidth and energy, not block spaceNo auction: 600 free bandwidth per account per day, then burn TRXNothing bids the price up — the allowance is a rule, not a market

Tron is the useful outlier. It doesn't run an auction at all. Every account gets 600 bandwidth a day; I sampled eleven real transfers from TronGrid and they consumed 265 to 274 bandwidth each. When a chain hands out the resource by rule instead of selling it, "the fee" stops being a market price and becomes a policy. Note that our own Tron and TON rows are flagged estimate: true — they are static figures, not live measurements, and you should not build an argument on them.

What blobs actually did

The Dencun upgrade landed on 2024-03-13 at 13:55:35 UTC and gave rollups a second, cheaper place to put data: blobs.

A blob is 131,072 bytes that the EVM cannot read. That's not a limitation, it's the entire trick — EIP-4844 describes data "that cannot be accessed by EVM execution, but whose commitment can be accessed." Rollups don't need Ethereum to execute their data, only to guarantee it was published. And blobs are deleted after 4,096 epochs, roughly 18 days. You're renting temporary space, not buying permanent storage. That's the actual trade, and most coverage skips it.

The discount is larger and more durable than it looks. Since EIP-7623 (shipped in Pectra, 2025-05-07), a non-zero calldata byte costs 40 gas. A blob carries 131,072 bytes for 131,072 gas — one gas per byte — and while the EIP-7918 price floor binds, blob gas is pinned at exactly 1/16 of the execution base fee. Multiply it out:

calldata:  40 gas/byte × base_fee
blob:       1 gas/byte × base_fee / 16
ratio:     40 × 16 = 640x

The base fee cancels. So does the ETH price. Blob data is exactly 640x cheaper per byte than calldata, and it stays 640x whatever the market does. Before Pectra, when calldata cost 16 gas per byte, the same arithmetic gave 256x. I checked it at two different base fees twenty minutes apart and got 640 both times.

Ethereum also made this deliberate: EIP-7623 raised the calldata floor specifically to push rollups onto blobs.

The before and after

DL News reported median transaction costs on 2024-03-14, within hours of each chain switching blobs on: Starknet $0.0196 (down 98%), Base $0.026 (96%), Optimism $0.027 (95%), Arbitrum $0.051 (95%), zkSync $0.108 (65%). Those are same-day readings, taken very early — not a settled state.

Compare to now, and mind the trap:

Chain2024-03-142026-07-15USD factorIn ETH terms
Optimism$0.027$0.000012,700x~1,330x
Base$0.026$0.0012820x~10x
Arbitrum$0.051$0.0036714x~7x
Starknet$0.0196$0.005014x~2x

ETH fell from $3,882.90 to $1,918.68 over that window — down 50.6%. Roughly half of every dollar-denominated improvement above is the ETH price, not a fee reduction. Anyone quoting the USD column without the ETH column is selling you something.

And here's the correction most people still need: Dencun barely touched L1. In the 30 days before the upgrade, Ethereum's median daily fee was $15.29; in the 30 days after, $9.12. That's a 40% improvement, against 95%+ for the rollups. Blobs were built for L2s, and they went to L2s.

Where your L2 fee actually goes

The old story — "your L2 fee is mostly the L1 data cost" — was true when Ed Felten wrote in February 2024 that "data posting cost makes up the largest portion of L2 transaction fees," with calldata running "about $1000 per megabyte at current prices." It is now out of date, and the numbers say so loudly.

Between 2026-06-16 and 2026-07-15, using growthepie's fundamentals:

ChainPaid to L1Of which blobsBlob shareCollected from usersRent as % of revenue
Base$5,741$82814.4%$2,276,5240.252%
Arbitrum$1,930$23912.4%$568,9030.339%
Optimism$2,119$1245.9%$39,0755.42%
Unichain$2,199$622.8%$9,98922.0%
Worldchain$3,703$1704.6%$14,34825.8%

Two things jump out. First, blobs are now a minority of what rollups pay Ethereum — 14.4% for Base, under 6% for most. Blob space got so cheap that the non-blob costs, like proof and state-root submission, now dominate the bill. Second, Base collected roughly $2.28M from users and paid Ethereum $5,741 for it — a 397x margin. It keeps about 99.75% of what it charges you.

So when you pay a Base fee, you are overwhelmingly paying Base, not Ethereum. That isn't an accusation — sequencers cost money to run, and the fee is a fraction of a cent either way. But it is the answer to "where does my L2 fee go", and it's not the answer the ecosystem usually gives.

Felten's other point still holds and deserves more attention: batching means a busier rollup is a cheaper rollup. If Rollup A has twice the traffic of Rollup B, its data cost per transaction is about 41% lower — and it posts about 41% faster. Scale is a feature here, not a strain.

What a real fee spike looks like

I rebuilt the history from the Coin Metrics community API — total fees times price, divided by transaction count, every day since 2015. One caveat that matters: this is the mean fee across all transaction types, not the cost of a simple send. Treat it as a temperature, not a price tag.

Notable fee events, mean fee per transaction
DateChainMean fee/txWhat happened
2024-04-20Bitcoin$124.17Halving plus the Runes launch — all-time record
2021-04-20Bitcoin$60.95Spring 2021 peak
2017-12-22Bitcoin$56.31The 2017 congestion crisis
2023-12-16Bitcoin$37.75Ordinals, second wave
2023-05-08Bitcoin$30.36Ordinals and BRC-20, first wave
2022-05-01Ethereum$200.27Otherdeed mint — all-time record
2021-05-11Ethereum$68.30The 2021 gas crisis peak

Yearly medians of that daily series tell the story better than the peaks. Ethereum's median daily fee per transaction: $18.66 in 2021, $0.16 so far in 2026. A 117x collapse. Bitcoin's went from $5.04 to $0.37 over the same stretch. The fee crisis everyone remembers is over, and the memory outlived the condition.

The most expensive block ever mined makes the auction concrete. Block 840,000 was the halving block, and the Runes spec states that the protocol activates on exactly that block. So everyone who wanted an early Rune had to be in one specific block. I pulled it raw: 3,762,561,499 satoshis in fees — 37.63 BTC, about $2.4M at that day's price — across 3,050 transactions, at 99.83% of the weight limit, timestamped 2024-04-20 00:09:27 UTC. CoinDesk reported the day's average fee at $127.97; my independent reconstruction says $124.17 — 3% apart on completely different methods, which is about as good as cross-checks get. Cointelegraph reported ViaBTC took home 40.7 BTC total; 37.63 in fees plus the freshly halved 3.125 subsidy is 40.75, so the press total validates the raw block and the halving in one line.

People paid $2.4 million to be in one block for a collectible reason. Nothing demonstrates better that this is an auction, not a price list.

Fee spikes also have consequences beyond a chart. In January 2018, Stripe announced it was dropping Bitcoin support, writing that "fees have risen a great deal. For a regular Bitcoin transaction, a fee of tens of U.S. dollars is common, making Bitcoin transactions about as expensive as bank wires." Support ended that April. In May 2023, Binance paused Bitcoin withdrawals twice in one weekend — once for about an hour, once for about three — citing a large volume of pending transactions; CZ described fees as "fluctuating, 18x in a month." And when Yuga Labs sold 55,000 Otherdeeds at 305 APE each in a mint that spanned the night of 2022-04-30 in the US (2022-05-01 UTC — which is why the fee record carries that date), the network buckled so badly that Yuga refunded 90.57 ETH in gas to people whose transactions failed.

Waiting is the only lever you control

You can't lower the fee. You can lower your urgency, and on Bitcoin the discount is measurable. Straight from Blockstream's estimator at 22:47 UTC on 2026-07-16, priced for a 140 vB transfer with BTC at $64,065:

Confirmation targetsat/vBFeevs next block
Next block (~10 min)3.854$0.3457
~30 min (3 blocks)2.127$0.19081.8x cheaper
~1 hour (6 blocks)1.200$0.10763.2x cheaper
~4 hours (24 blocks)1.014$0.09093.8x cheaper
~1 day (144 blocks)0.728$0.06535.3x cheaper
~1 week (1008 blocks)0.719$0.06455.4x cheaper

Those sat/vB values are a snapshot and will be stale by the time you read them — the 3-block estimate moved 2.26 to 2.13 in about fifteen minutes. The ratios are the durable part, and they're worth internalising: an hour of patience is worth roughly two-thirds of your fee. Note this is a choice of confirmation target, not a time of day. We haven't tested whether weekends or "quiet hours" are cheaper, so we don't claim it.

Check any of this yourself

Nothing above needs an API key or our permission.

  • Our numbers: GET https://chaincensus.com/api/data/fees returns the whole table, no key, with estimate: true on rows that are static figures rather than live measurements. The methodology lists its four limitations — including that our L2 rows ignore the L1 data fee, which is exactly why our Base reading ($0.00024) sits below growthepie's ($0.00128). We price a 21,000-gas transfer; they take a median across all transaction types. Both are right about different questions.
  • Bitcoin: curl https://blockstream.info/api/fee-estimates, multiply by 140 vB and the BTC price.
  • Ethereum: eth_gasPrice × 21,000 × the ETH price. Expect it to move 70% in half an hour.
  • Block fullness: curl https://blockstream.info/api/blocks/<height> and compare weight to 4,000,000.
  • History: the Coin Metrics community API is free and reproduces every historical figure in this article.

If you reproduce the blob arithmetic, use the current fork's baseFeeUpdateFraction — mainnet has been on BPO2 (14 target, 21 max blobs) since 2026-01-07, and using Cancun's old constant produces absurd results. As of 2026-07-16, BPO2 is where mainnet's blob schedule ends.

The short version: fees collapsed, the spread across chains is thousands of times, and both facts are checkable in under a minute. Bitcoin at nine cents and Optimism at four thousandths of a cent are a 2,279x gap — same job, four different markets for it, and no relationship at all to how much money you're moving.

The full per-chain table — send and swap costs across 8 chains, updated every 30 minutes, with public methodology and a free JSON API.

Live data