LithosDocs
ProtocolPayoutsTokenStatsDocs
Start mining
Documentation home
Protocol
  • Lithos Protocol
  • LFSM
    • Rollups
    • NISPs
    • Emissions
    • Mining on Lithos
    • Candidate building
    • Ergo Voting
  • LithosDex
    • Trading with orders
    • Providing liquidity
Run Lithos
  • Startup guide
    • Setting up an Ergo testnet node
  • Configuration
    • Node connection and security
    • Stratum and difficulty
    • Block packages
    • Batching and orders
    • Collateral and emission
    • Wallet and consolidation
    • Statistics and web panels
    • Synchronization and storage
    • Tasks and dispatchers
    • Failure modes
    • Reporting issues
Client API
  • Overview
    • getLithos client information
    • getList UTXO ids for blocks
    • getUTXO ids by block height
    • getBlock info by UTXO id
    • postBlock info for multiple UTXO ids
    • getGet a block's miner set
    • getList all pool blocks
    • getGet Lithos payouts
    • getStatistics overview
    • getMining and payment totals
    • getMining statistics by hour or day
    • getEstimate Lithos hashrate
    • getNetwork difficulty by epoch
    • getThis client's own hashrate
    • getThis client's hashrate over time
    • getThis client's payouts and claims
    • getCollateral inventory
    • getLocal mining activity
    • getCollateral market snapshot
    • getList queue boxes
    • getList the active set
    • getPermit price history
    • getYour locked block rewards
    • postClaim unlocked block rewards
    • postQuote joining the queue
    • postJoin the collateral queue
    • getLithosDex pool state
    • getLithosDex fee vault state
    • getList your outstanding orders
    • postQuote a swap order
    • postPlace a swap order
    • postQuote a deposit order
    • postPlace a deposit order
    • postQuote a redeem order
    • postPlace a redeem order
    • postCancel an order
    • postQuote a swap
    • postQuote a swap by desired output
    • postExecute a swap
    • postQuote a liquidity deposit
    • postDeposit liquidity
    • postQuote a liquidity redemption
    • postRedeem liquidity
    • getList liquidity provisions
    • postClaim settled fees for a provision
    • postQuote a provision resize
    • postResize a provision
    • postCheck a pending fee flush
    • postFlush pending fees to the vault
    • getPool-wide fee history
    • getPool price history
    • getRecent pool activity
    • getFee history for one provision
    • getWallet balances and lending status
    • getGet Stratum information
    • getGet candidate settings
    • getGet difficulty commitment
    • postCommit a difficulty
    • getGet best NISP at height
Lithos

A decentralized mining pool protocol on Ergo. Miners build their own blocks; contracts pay them for proven work.

Live on Ergo mainnet
Protocol
  • How Lithos works
  • Mining on Lithos
  • NISPs
  • Emissions
  • LFSM contracts
Run Lithos
  • Startup guide
  • Configuration
  • LithosDex
  • Client API
  • Failure modes
Network
  • Live stats
  • Public stats API
  • Ergo Platform↗
  • SOAT Miner↗
Community
  • Telegram↗
  • X / Twitter↗
  • GitHub↗
Lithos
© 2026 Lithos Protocol. Open source under the MIT licence.λίθος — stone
Docs/Client API/Statistics

This client's payouts and claims

get/stats/mining/payments

Every payout to this client's primary mining address in retained history, newest first, each with what it was made of and the rollup it came from. Alongside them, the rollups this client has a claim in that have not paid yet, and the fraud proofs it was paid for.

Payouts break the output into reward, refunded bond and surplus. Only reward and surplus are earnings — the bond is this client's own deposit coming back. score / rollupScore is the share of the block this client earned, out of rollupMiners miners.

Claims follow each unpaid rollup through holding, evaluation and payout. The expected reward is exact once the payout is ready and projected during evaluation, where a fraud proof against another miner can still raise it. Holding has no projection. A slashed claim lost its bond to a fraud proof and will never pay.

Bounties are fraud proofs this client submitted. Each pays the slashed miner's bond.

Payouts are paged by offset and limit in the order sort and order choose, and total counts every retained payout. A payout confirmed between two requests shifts later pages by one. Claims and bounties always come in full.

Query parameters

  • offsetinteger · int32default 0

    Payouts to skip, counting from the newest.

  • limitinteger · int32default 100

    Payouts per page.

  • sortstringdefault "paid"paid | mined

    paid orders by the block that paid each payout, mined by the block its rollup was mined in. Paid time needs no option of its own: block timestamps rise with height, so it always agrees with paid.

  • orderstringdefault "desc"desc | asc

    desc puts the highest first.

Responses

200One page of payouts, with every open claim and bounty.PaymentLedgerPage▶
  • holdingBlocksintegerrequired

    Blocks a rollup takes submissions for, counted from the block that mined it.

  • evaluationBlocksintegerrequired

    Blocks a rollup stays open to fraud proofs, counted from the block evaluation started in.

  • statusstringrequired

    How far collection has got. ready means it reached the last checked chain tip. catching-up and recovering mean replay or reorg work is still running, stale means the last successful check is too old, and unavailable means collection failed. On disabled or loading the numbers are not evidence that the period was quiet.

    one ofdisabledloadingreadystaleunavailablecatching-uprecovering
  • ▶
    sourceMiningCursorrequired

    The processed chain point a statistics result was read from.

    • heightintegerrequired
    • blockIdstringrequired
    • parentIdstringrequired
    • timestampinteger · int64required

      The block's own timestamp in Unix milliseconds, not the time the client read it.

  • retainedFromHeightintegerrequired

    First retained height. Nothing older is listed.

  • ▶
    paymentsLocalPayment[]required

    In the order sort and order give.

    • transactionIdstringrequired
    • outputIdstringrequired
    • payoutBoxIdstringrequired
    • rollupNftstringrequired

      NFT minted from the original collateral box id.

    • minedBlockIdstringrequired

      The block holding the rollup genesis, even when that block is older than retained history.

    • minedHeightintegerrequired
    • minedTimestampinteger · int64required

      Timestamp of minedBlockId, in Unix milliseconds. With timestamp, how long the payout took.

    • blockIdstringrequired

      The block holding this payout transaction.

    • heightintegerrequired
    • timestampinteger · int64required
    • grossNanoErgstringrequired

      Exact output value, including the refunded bond and any surplus.

    • scorestringrequired

      An exact nonnegative integer as a decimal string. Parse it without going through a float.

      decimal string
    • rewardNanoErgstringrequired

      This client's share of the rollup's ERG reward. Earnings.

    • bondNanoErgstringrequired

      The submission bond coming back. Not earnings.

    • surplusNanoErgstringrequired

      Anything the output carried beyond reward and bond. Earnings; usually zero.

    • litTokenIdstring
    • rewardLitstringrequired

      LIT the protocol owed this share.

    • receivedLitstringrequired

      LIT the output actually carried. Never less than rewardLit.

    • rollupScorestringrequired

      The whole rollup's score. score / rollupScore is this client's share.

    • rollupMinersintegerrequired

      Miners the rollup paid.

    • rollupRewardNanoErgstringrequired

      The ERG reward the whole rollup distributed, bonds excluded.

    • rollupRewardLitstringrequired

      The LIT the whole rollup distributed.

  • offsetintegerrequired

    The offset this page starts at.

  • totalintegerrequired

    Every payout in retained history. Pages end at offset + limit >= total.

  • sortstringrequired

    The ordering this page is in.

    one ofpaidmined
  • orderstringrequired
    one ofdescasc
  • ▶
    claimsPaymentClaim[]required

    Unpaid claims, newest submission first.

    • rollupNftstringrequired
    • minedBlockIdstringrequired
    • minedHeightintegerrequired
    • phasestringrequired

      The furthest transition seen. holding still takes submissions, evaluation is open to fraud proofs, payout has a fixed reward waiting to be sent. slashed will never pay.

      one ofholdingevaluationpayoutslashed
    • submittedHeightintegerrequired
    • submittedTimestampinteger · int64required
    • submissionTransactionIdstringrequired
    • scorestringrequired

      An exact nonnegative integer as a decimal string. Parse it without going through a float.

      decimal string
    • bondNanoErgstringrequired

      The bond this client posted. Comes back with the payout, or is lost if slashed.

    • phaseHeightintegerrequired

      Height of the transition that set phase.

    • phaseTimestampinteger · int64required
    • rollupMinersinteger

      Miners still in the rollup. Absent while holding.

    • rollupScorestring

      The rollup's total score. Absent while holding.

    • rewardNanoErgstring

      Expected ERG reward, bond excluded. Absent while holding or slashed.

    • rewardLitstring

      Expected LIT. Only known once the payout is ready.

    • rewardBasisstring

      exact once the payout is ready; projected during evaluation.

      one ofexactprojected
    • slashedTransactionIdstring

      The fraud proof that removed this client's entry.

    • payoutReadyFrominteger

      First height the payout can become ready. Exact during evaluation; during holding it assumes evaluation starts the moment holding ends, so it is the earliest possible. Absent once the payout is ready, and when slashed.

  • ▶
    bountiesFraudBounty[]required

    Newest first.

    • transactionIdstringrequired
    • rollupNftstringrequired
    • minedHeightintegerrequired
    • heightintegerrequired
    • timestampinteger · int64required
    • bondNanoErgstringrequired

      The slashed bond, paid to this client.

    • claimedScorestringrequired

      The score the slashed miner had claimed.

    • minerHashstring

      Hash identifying the slashed entry. Not a miner address.

400`limit` is outside 1–500, `offset` is negative, or `sort` or `order` is not one of its values.ApiError▶
  • errorintegerrequired

    Error code

  • reasonstringrequired

    Error message explaining the reason of the error

  • detailstringrequirednullable

    Detailed error description

503History is loading, disabled, busy, or unreadable. Check `mining.status` in /stats before retrying.ApiError▶
  • errorintegerrequired

    Error code

  • reasonstringrequired

    Error message explaining the reason of the error

  • detailstringrequirednullable

    Detailed error description

← PreviousThis client's hashrate over timeNext →Collateral inventory
Request
curl -X GET "http://localhost:9000/stats/mining/payments"
Response
{
  "holdingBlocks": 0,
  "evaluationBlocks": 0,
  "status": "disabled",
  "source": {
    "height": 0,
    "blockId": "string",
    "parentId": "string",
    "timestamp": 0
  },
  "retainedFromHeight": 0,
  "payments": [
    {
      "transactionId": "string",
      "outputId": "string",
      "payoutBoxId": "string",
      "rollupNft": "string",
      "minedBlockId": "string",
      "minedHeight": 0,
      "minedTimestamp": 0,
      "blockId": "string",
      "height": 0,
      "timestamp": 0,
      "grossNanoErg": "string",
      "score": "1000000000",
      "rewardNanoErg": "string",
      "bondNanoErg": "string",
      "surplusNanoErg": "string",
      "litTokenId": "string",
      "rewardLit": "string",
      "receivedLit": "string",
      "rollupScore": "string",
      "rollupMiners": 0,
      "rollupRewardNanoErg": "string",
      "rollupRewardLit": "string"
    }
  ],
  "offset": 0,
  "total": 0,
  "sort": "paid",
  "order": "desc",
  "claims": [
    {
      "rollupNft": "string",
      "minedBlockId": "string",
      "minedHeight": 0,
      "phase": "holding",
      "submittedHeight": 0,
      "submittedTimestamp": 0,
      "submissionTransactionId": "string",
      "score": "1000000000",
      "bondNanoErg": "string",
      "phaseHeight": 0,
      "phaseTimestamp": 0,
      "rollupMiners": 0,
      "rollupScore": "string",
      "rewardNanoErg": "string",
      "rewardLit": "string",
      "rewardBasis": "exact",
      "slashedTransactionId": "string",
      "payoutReadyFrom": 0
    }
  ],
  "bounties": [
    {
      "transactionId": "string",
      "rollupNft": "string",
      "minedHeight": 0,
      "height": 0,
      "timestamp": 0,
      "bondNanoErg": "string",
      "claimedScore": "string",
      "minerHash": "string"
    }
  ]
}