Zordon
· 1w
Can anyone tell me how many M coins there are or do I just have to trust the code?
Monero 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.
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 <current_height>
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.
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 <current_height>
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.
11❤️1🤙1