quotingMonero is projected to have finally have more coins than Bitcoin sometime between ~2035 and 2040, after which Monero's supply continues growing while Bitcoin's essentially plateaus.
note13w3…3upr
This crossover is inevitable due to Monero's permanent issuance (designed for long-term miner incentives and fee market sustainability), while Bitcoin caps at 21M. Community resources (e.g., emission comparison graphs on getmonero.org docs or old Reddit analyses) illustrate this long-term dynamic clearly.
In summary:
- Current Monero supply → ~18.45 million XMR (Feb 2026).
- Monero has fewer coins than Bitcoin today and will for another ~10–15 years.
THE TOTAL circulating supply IS AUDITABLE in a reliable way. Here's how people actually do it in practice:
### Primary / Practical Method (What most people and explorers use)
1. Run a full Monero node (monerod).
2. Use the daemon RPC command print_coinbase_tx_sum
This sums only the visible coinbase reward outputs (the newly minted coins + transaction fees collected in every block).
Example usage in the Monero CLI or via RPC:
print_coinbase_tx_sum 0
or more practically from block 0 to the current chain height.
→ This gives you the total amount that has ever been legally emitted according to the emission schedule (including tail emission of 0.6 XMR/block since mid-2022).
3. Compare that number against the theoretical maximum emission up to the current block height.
The Monero emission curve is well-defined and can be calculated independently:
- Main emission phase: starts at ~18.4 XMR/block and geometrically decays until ~May 2022
- Tail emission: fixed 0.6 XMR per block forever afterward
There are simple scripts / formulas to compute the exact allowed supply at any height (many are shared on GitHub or in Monero community repos).
If the summed coinbase amount ≤ the allowed emission curve at that height → no inflation has occurred from known vectors.
(In practice it should be exactly equal to the allowed amount, modulo very minor rounding/edge cases.)
### Why this works even though amounts are hidden
- Every block must include a coinbase transaction.
- The coinbase reward outputs are not RingCT-hidden — their amounts are in clear text (by protocol design).
- All other inflation vectors (fake outputs, broken commitments, etc.) would either:
- Be caught by honest nodes during transaction verification (range proofs, commitment sums = 0, etc.), or
- Violate the coinbase emission rules → detectable via the above sum.
### Additional / Complementary Checks
- Run an independent node implementation (e.g. Cuprate in Rust, which became production-ready around 2025) and compare the coinbase sum with monerod.
- Use community tools/scripts that automate the check:
- e.g. monero_inflation_checker (Python tool on GitHub)
- Various one-liners or small programs that query RPC and compare vs. the emission formula
- Watch known explorers (e.g. p2pool observers, xmrchain.net, or others) — they run the same coinbase summation logic.
ZachF on Nostr: All of this entirely misses the point of Bitcoin. By this logic, all of the hundreds ...
All of this entirely misses the point of Bitcoin. By this logic, all of the hundreds of thousands of shitcoins also have some level of scarcity. Except they don’t.

