Separate newly issued XMR from recycled fees over 100 blocks
A miner reward includes transaction fees and newly issued coins. Treating the entire reward as new supply overstates issuance in a historical report.
Fix a starting height and count
On a mainnet node beyond the requested range, the fixture covers heights 3000000 through 3000099. Record both boundaries to avoid counting the final block again in the next window. POST this example to /json_rpc on monerod.
{
"jsonrpc": "2.0",
"id": "guide",
"method": "get_coinbase_tx_sum",
"params": {
"height": 3000000,
"count": 100
}
}
Read the two wide integer totals
Decode wide_emission_amount and wide_fee_amount as hexadecimal integers in atomic units. Include only the first in an issuance series. Divide by 1000000000000 using decimal arithmetic when displaying XMR. A per-block average hides variation between individual rewards and fees.