Mining and payment totals
/stats/mining/totalsRunning totals over the retained history: Lithos blocks, payout rewards, bond refunds,
transaction fees, batching revenue, participation and confirmed fraud proofs. Keys under
local. belong to this client's primary mining address; network. keys cover the whole
configured protocol.
Label the period with the height and timestamp fields. Retention holds a rollback buffer
and can run behind on pruning, so the period is often longer than the configured number
of days. Only ready means collection reached the last checked chain tip — a loading or
disabled response can return an empty totals map, which is not evidence that nothing
happened. Reorgs and pruning can lower a total between two requests.
Responses
200The last published totals, with collection status and coverage.MiningTotalsResponse▶
statusstringrequiredHow far collection has got.
readymeans it reached the last checked chain tip.catching-upandrecoveringmean replay or reorg work is still running,stalemeans the last successful check is too old, andunavailablemeans collection failed. Ondisabledorloadingthe numbers are not evidence that the period was quiet.one ofdisabledloadingreadystaleunavailablecatching-uprecoveringpersistentbooleanrequiredWhether history survives a client restart.
observedAtinteger · int64When the last replay cycle started, in Unix milliseconds. Absent until the first check after a restart.
sourceHeightintegerLast processed height, or the starting anchor if nothing has been collected yet.
sourceBlockIdstringThe block id at
sourceHeight.targetHeightintegerLast checked chain height. Collection can lag behind it.
fromHeightintegerFirst retained height. Higher than
sourceHeightmeans the history is empty.fromTimestampinteger · int64Timestamp of the first retained block, in Unix milliseconds. Absent when there are no block records.
totalsMiningAccountingMetricsrequiredExact sums and counts for the period, as decimal strings. A missing key means nothing was collected for it, which is not evidence that nothing happened outside the coverage. Amounts ending in
NanoErgare nanoERG and LIT amounts are base units. New keys get added over time, so ignore ones you do not recognise.Payout families hold
outputs,grossNanoErg,rewardNanoErg,bondNanoErg,surplusNanoErg,rewardLitandreceivedLit. Gross ERG is reward plus refunded bond plus any surplus.rewardLitis what the protocol owes;receivedLitis what the outputs actually carried. Network totals already contain the local ones — never add the two together.Batching families hold
orders,grossNanoErg,transactionFeeNanoErgandafterTransactionFeesNanoErg, counting recognised execution layouts only, not all pool activity. Gross is newly earned executor fees and excludes takings carried in from earlier. Liquidity-provider fees are a different thing and live on the DEX API.pool.batchingpays no transaction fee, so it holds onlyordersandgrossNanoErg. It andlocal.batchingnever count the same execution.Rollup families hold
count,miners,claimedScore,bondNanoErgandvalueNanoErg, pluslocalCount,localValueNanoErg,localBondNanoErgandlocalClaimedScorewhere the local miner is identifiable — the submitting miner for submissions, the prover input for fraud proofs. Sorollup.submission.localBondNanoErgis the bond this client posted, androllup.fraudProof.localValueNanoErgis the slashed bonds it was paid for proving fraud.minerscounts entries at that transition, not unique people.valueNanoErgmeans a different thing per kind: added holding value for a top-up, zero for a submission, the full box value at evaluation, the slashed bond for a fraud proof, and distributable ERG excluding bonds at payout readiness. These are stages of the same funds, so summing them is not income.transaction.<kind>coversgenesis, the rollup kinds above,payout,registration,ergodex,lithosdex,ergodexOtherPoolSpendandlithosdexOtherPoolSpend. Those fees overlap the block fee totals.Priority fees.
lithos.priorityFeeNanoErg / lithos.blocksis the mean fee across every Lithos block; divide bylithos.blocksWithPriorityFeeinstead for the mean across the blocks that carried one. The amount is the WHOLE fee the lender posted, not the share the block's finder keeps out of it. The pool's share went into the holding box and is already insideholding.genesisNanoErg, so there is deliberately no separate key for it.Divide a sum by its matching count for an average.
claimedScoreis protocol accounting, not measured hashrate. A transaction fee is a transaction's cost and not automatically this client's expense, holding top-ups and executor fees can describe the same proceeds, and no key here is a net-income figure.