Ethereum Total Supply: How to Work It Out From the Chain
About 122.2 million ETH exist as of 30 October 2026. Where each part of that total comes from, and how to rebuild it from block data with the Bitquery MCP server or GraphQL.

About 122.2 million ETH exist as of 30 October 2026. The Bitquery MCP server reports 122,155,365. Etherscan's supply page shows 122,174,500 on the same day. The two figures differ by 0.02%.
Ethereum has no fixed cap, so the total moves every block. New coins enter through rewards, and some leave for good through the fee burn. Below, we split the total into its parts, rebuild the parts that live in block data, and show the queries we used.
The formula
Total supply = genesis grant + proof-of-work rewards + staking rewards − burned fees.
| Part | Ether | Source |
|---|---|---|
| Genesis grant (July 2015) | 72,009,990.50 | Etherscan |
| Mining rewards, blocks and uncles (2015 to September 2022) | 50,364,024 | Bitquery block data |
| Staking rewards (since December 2020) | 4,443,340 | Etherscan |
| Burned fees (since August 2021) | −4,638,451 | Bitquery block data |
| Total | 122,178,904 |
The sum lands 4,404 above Etherscan's figure. The gap is in the burn line, covered below.
Bitquery's data covers the main chain, where blocks, fees and the burn live. Staking rewards are paid on the separate staking chain, which Bitquery does not index, so that line comes from Etherscan.
Rebuild the mining rewards
Before the switch to staking on 15 September 2022, each block paid its miner a fixed reward: 5 ETH, then 3 from October 2017, then 2 from February 2019. Uncle blocks earned a share too, and the block that included an uncle earned a small bonus.
Bitquery stores these rewards per block. Summed over blocks 1 to 15,537,393, the last mined block, they give:
- block rewards: 47,094,781;
- uncle rewards, with the bonus: 3,269,243;
- together: 50,364,024.
Etherscan's two lines for the same period add up to 50,363,881. Etherscan appears to file the bonus under block rewards rather than uncle rewards, so the split differs, but the sums are 143 ETH apart.
Rebuild the burn
Since the London upgrade in August 2021 (block 12,965,000), the base fee of every payment is destroyed. Bitquery's block data gives 4,638,451 ETH burned up to 30 October 2026. We checked that figure against base fee × gas used, block by block, and the two match exactly.
Etherscan shows 4,642,711 burned, 4,260 more. Since March 2024, rollups pay a separate blob fee, and that fee is burned too. Bitquery's burn figure counts the base fee only, so the blob burn is the likely source of the gap.
The burn has fallen each year since 2022:
| Year | Ether burned |
|---|---|
| 2021 (from August) | 1,317,700 |
| 2022 | 1,482,912 |
| 2023 | 1,093,504 |
| 2024 | 634,265 |
| 2025 | 91,175 |
| 2026 (to 30 October) | 18,894 |
The burn in 2026 so far is 1% of the 2022 burn. Fees fell as rollups moved their data to cheaper blob space in March 2024. Since the switch to staking, staking rewards are the only new coins, so a smaller burn means the supply grows faster.
Ask for it through the Bitquery MCP server
The MCP server lets an AI client such as Claude, Cursor or ChatGPT query Bitquery's data in plain language. Connect it with one URL, https://mcp.bitquery.io; the setup guide covers each client.
The questions we asked, and the tools the AI called:
- "What is the total supply of ETH right now?" The AI called
currency_supplywith the IDbid:eth. It returned 122,155,365, with a market cap of about $274 billion at $2,244 a coin. - "How much ether has been burned since London, by year?" The AI called
eth_transfers_raw_sqlon the block-reward table and summed the burned fees per year. That gave the table above. - "Sum the block and uncle rewards up to the merge." Same tool and table, filtered to blocks before 15,537,394.
Plans and prices for the MCP server are on the pricing page.
The same data in GraphQL
Bitquery's GraphQL API serves the same block-reward data through the MinerRewards cube. This query gives the ether burned and the fees paid per day:
query {
EVM(dataset: realtime, network: eth) {
MinerRewards(orderBy: {descending: Block_Date}) {
Block {
Date
}
blocks: count
burnt: sum(of: Reward_BurntFees)
fees: sum(of: Reward_TxFees)
}
}
}
Run it in the Bitquery IDE with an API key. The cube is served from the realtime dataset only, which holds the last few days, so use the MCP server for totals over months or years.
The query is good for spotting spikes. On 26 to 28 October 2026 about 25 ETH burned a day. On 29 October the base fee rose to 253 gwei and 1,618 ETH burned, 9% of the year's burn in one day. The miner rewards docs list every field.
What changed from the 2020 version
The first version of this post, from August 2020, used queries that no longer match how Ethereum works:
- It subtracted gas fees from the supply. Before London, every fee went to the miner, so fees moved coins between holders and destroyed none. Only the base fee burn, from August 2021, takes ether out of the supply.
- It counted mints as transfers from the zero address. Block rewards are not transfers, and staking rewards are paid on the staking chain. The rewards table above is the sound source.
- It had no burn and no staking. Both came later: London in 2021, staking in 2022.
We also removed the sections on balances, large transfers and the DAO fork, which did not bear on supply, and links to tools Bitquery no longer offers.
Related reading
First published in August 2020. Rewritten on 30 October 2026 by the Bitquery team, with help from AI tools: the mining and burn figures were re-derived from Bitquery block data through the MCP server and checked against Etherscan, the genesis and staking figures are Etherscan's, and the 2020 queries were replaced. Bitquery sells the MCP server and API plans named above. This article is for information only and is not investment advice.
Subscribe to our newsletter
Subscribe and never miss any updates related to our APIs, new developments & latest news etc. Our newsletter is sent once a week on Monday.