Why do ETH supply numbers differ?
Look up "ETH supply" in three places and you will get three different numbers. None of them is necessarily wrong — they count different things, at different times, under different definitions. This page applies each definition to the same measured chain data so the gaps are visible rather than mysterious.
What each definition counts
All figures from the same collection run, 2026-09-23T22:26:11Z (UTC).
| Definition | ETH | What it counts |
|---|---|---|
| Total supply | 122,068,988 | Every ETH in existence: execution-layer balances + beacon-chain balances − processed deposits |
| Excluding staked | 78,322,817 | Total minus ETH bonded in the beacon chain. Staked ETH still exists and can be withdrawn — excluding it answers "how much is liquid right now", not "how much exists" |
| Excluding bridged to L2 | 119,978,750 | Total minus ETH held in canonical L2 bridge escrows. Also still L1 ETH — this is a "where is it" cut, not a supply change |
| "Circulating" | varies | No fixed definition for ETH. Each aggregator decides what it treats as non-circulating, so this figure differs by publisher rather than by measurement |
Only the first row is a supply measurement. The next two are subsets of it, and the fourth is an editorial judgement. Numbers built on different rows of this table cannot be compared directly.
The three real reasons figures diverge
1. "Circulating" is not "total"
Total supply counts every ETH in existence. Circulating supply subtracts whatever the publisher considers non-circulating — and for ETH there is no official locked-allocation schedule like many tokens have, so each publisher applies its own judgement. That judgement is the gap.
2. Update lag
ETH supply changes every block: issuance up, burn down. A figure cached hours ago is already off by the net issuance accrued since. Refresh cadences differ, and a figure without a timestamp cannot be checked at all. Every number here is stamped with its measurement time so lag is visible instead of hidden.
3. System boundary
Some methods read the execution layer only; some add beacon-chain balances; some track the deposit contract balance, which only ever grows and therefore overstates stake once withdrawals are enabled. Two honest measurements with different system boundaries produce different numbers — the boundary is the disagreement, not the arithmetic.