LithosDocs
ProtocolPayoutsTokenStatsDocs
Start mining
Documentation home
Protocol
  • Lithos Protocol
  • LFSM
    • Rollups
    • NISPs
    • Emissions
    • Mining on Lithos
    • Candidate building
    • Ergo Voting
  • LithosDex
    • Choosing a pool
    • Trading with orders
    • Providing liquidity
    • Creating a pool
    • Difficulty forwards
Run Lithos
  • Startup guide
    • Setting up an Ergo 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
    • Renting hashrate into Lithos
    • Checking your wallet
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
    • getThis wallet's lending earnings
    • getLocal mining activity
    • getCollateral market snapshot
    • getList queue boxes
    • getList the active set
    • getPermit price history
    • getYour lending status
    • postQuote joining the queue
    • postJoin the collateral queue
    • getLithosDex pool state
    • getEvery LithosDex pool
    • getOne LithosDex pool and its vault
    • getList your outstanding orders on any pool
    • postQuote a direct swap on any pool
    • postSwap directly on any pool
    • postQuote a direct deposit on any pool
    • postDeposit directly on any pool
    • postQuote a direct redemption on any pool
    • postRedeem a provision directly on any pool
    • getList your provisions on any pool
    • postClaim a provision's fees on any pool
    • postCheck a flush on any pool
    • postFlush any pool
    • getA verified pool's price history
    • getA verified pool's fee history
    • getA verified pool's recent activity
    • getA provision's fee history on a verified pool
    • postQuote a new LithosDex pool
    • postCreate a LithosDex pool
    • postQuote a swap order on any pool
    • postPlace a swap order on any pool
    • postQuote a deposit order on any pool
    • postPlace a deposit order on any pool
    • postQuote a redeem order on any pool
    • postPlace a redeem order on any pool
    • 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
    • postLook up provision NFTs
    • 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
    • getDifficulty accumulator and the next epoch's difficulty
    • getList open offers
    • postCreate an offer
    • postQuote an offer
    • postQuote filling an offer
    • postFill an offer
    • postQuote cancelling an offer
    • postCancel an offer
    • getThe whole market
    • getYour settled positions and closed offers
    • getList your positions and offers
    • postQuote settling a position
    • postSettle a position
    • getWallet balances
    • getYour block rewards
    • postClaim unlocked block rewards
    • getVerified tokens
    • 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
  • Difficulty forwards
  • Client API
  • Failure modes
Network
  • Live stats
  • Public stats API
  • Ergo Platform↗
  • SOAT Miner↗
Community
  • Telegram↗
  • X / Twitter↗
  • GitHub↗
Lithos
© 2026 Lithos Protocol. The Lithos client, its contracts and Lithos Launcher are open source under CC0.λίθος — stone
Docs/Client API/Statistics

This wallet's lending earnings

get/stats/collateral/earningsapi_key

Every collateral box of this wallet's that a Lithos block spent in retained history, newest first, with what the lender posted and what came back.

A lender posts the box's whole value: the fixed principal plus any priority fee bid on top. The block that spends it pays the lender twice, both locked to the lender's key for rewardLockBlocks blocks: the coinbase, the block reward, and the block's fees, every transaction fee in it. On mainnet the coinbase is reported less its re-emission tokens, which a spend of it must pay. netNanoErg is what came back less what was posted. The network fee each join paid is not in it, and neither is the LIT permit, which comes back in full.

joinedHeight is the block that included the queue box, so height - joinedHeight is how long the principal waited before it was used, and the reward stays locked rewardLockBlocks after that.

History is kept for stats.mining.historyDays; positions spent before retainedFromHeight have been pruned and are in neither the list nor totals.

Query parameters

  • offsetinteger · int32default 0

    Positions to skip, counting from the newest.

  • limitinteger · int32default 50

    Positions per page.

Responses

200One page of spent positions, with totals over all of retained history.LendingPage▶
  • 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 spent before it is listed or totalled.

  • retainedFromTimestampinteger · int64

    Timestamp of the first retained block, in milliseconds. Absent while nothing is retained.

  • offsetintegerrequired

    The offset this page starts at.

  • totalintegerrequired

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

  • ▶
    positionsLendingPosition[]required

    Newest first.

    • blockIdstringrequired

      The Lithos block that spent the box.

    • heightintegerrequired
    • timestampinteger · int64required

      The block's timestamp, in milliseconds.

    • collateralBoxIdstringrequired
    • lenderAddressstringrequired

      The wallet key the box named as its lender, which the block paid.

    • postedNanoErgstringrequired

      The box's whole value, principal and priority fee together.

    • priorityFeeNanoErgstringrequired

      The bid on top of the principal, which went to the miners.

    • coinbaseNanoErgstringrequired

      The block reward paid to the lender, less its re-emission tokens on mainnet.

    • feesNanoErgstringrequired

      The block's transaction fees, paid to the lender.

    • receivedNanoErgstringrequired

      coinbaseNanoErg + feesNanoErg.

    • netNanoErgstringrequired

      receivedNanoErg - postedNanoErg, before the join's network fee.

    • joinedHeightinteger

      The block that included the queue box. Absent when the node's index does not show it.

  • ▶
    totalsLendingTotalsrequired
    • positionsintegerrequired
    • postedNanoErgstringrequired
    • priorityFeesNanoErgstringrequired
    • coinbaseNanoErgstringrequired
    • feesNanoErgstringrequired
    • netNanoErgstringrequired

      Received less posted, over every retained position.

  • rewardLockBlocksintegerrequired

    Blocks a coinbase or fee reward stays locked to the lender's key after its block.

400`limit` is outside 1–500 or `offset` is negative.ApiError▶
  • errorintegerrequired

    Error code

  • reasonstringrequired

    Error message explaining the reason of the error

  • detailstringrequirednullable

    Detailed error description

403Missing or wrong `api_key`.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

← PreviousCollateral inventoryNext →Local mining activity
Request
curl -X GET "http://localhost:9000/stats/collateral/earnings" \
  -H "api_key: $LITHOS_API_KEY"
Response
{
  "status": "disabled",
  "source": {
    "height": 0,
    "blockId": "string",
    "parentId": "string",
    "timestamp": 0
  },
  "retainedFromHeight": 0,
  "retainedFromTimestamp": 0,
  "offset": 0,
  "total": 0,
  "positions": [
    {
      "blockId": "string",
      "height": 0,
      "timestamp": 0,
      "collateralBoxId": "string",
      "lenderAddress": "string",
      "postedNanoErg": "string",
      "priorityFeeNanoErg": "string",
      "coinbaseNanoErg": "string",
      "feesNanoErg": "string",
      "receivedNanoErg": "string",
      "netNanoErg": "string",
      "joinedHeight": 0
    }
  ],
  "totals": {
    "positions": 0,
    "postedNanoErg": "string",
    "priorityFeesNanoErg": "string",
    "coinbaseNanoErg": "string",
    "feesNanoErg": "string",
    "netNanoErg": "string"
  },
  "rewardLockBlocks": 0
}