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/Mining

Get candidate settings

get/mining/candidate

The stratum.candidate settings that decide what this client's blocks carry besides the genesis transaction, which collateral box funds them, and when a served job is replaced mid-block. Values are the ones the client started with.

Responses

200The candidate settings in forceCandidateSettings▶
  • blockTransactionsbooleanrequired

    Whether this client's blocks carry transactions besides the genesis transaction. When false, no source is asked.

  • ▶
    sourcesCandidateSourceSettings[]required

    Every transaction source, in the order candidates ask them.

    • namestringrequired
      one ofrollupsemissionsrentlithosdexergodex
    • enabledbooleanrequired

      The source's own enabled setting.

    • activebooleanrequired

      Whether candidates ask this source for transactions: blockTransactions is on, the source is enabled with maxTxs above 0 and, for lithosdex and ergodex, the matching batching block is enabled.

    • maxTxsintegerrequired

      Transactions this source may place in one block, carried ancestors included.

    • maxBytesinteger · int64required

      Serialized bytes this source may claim.

    • maxCostinteger · int64required

      Validation cost this source may claim.

  • blockSharenumber · doublerequired

    Fraction of the node's block size and cost limits the whole package may claim.

  • waitForBlockPackagebooleanrequired

    Whether the first job for a height waits, up to genesisWaitMs, for the sources before it is sent.

  • genesisWaitMsintegerrequired

    Milliseconds to wait for the genesis transaction before a solo job is sent instead.

  • blockTxTimeoutintegerrequired

    Milliseconds the sources have to build their transactions.

  • mempoolRefreshMsintegerrequired

    Milliseconds between mid-block package rebuilds. 0 turns them off.

  • minCandidateChangeRevenueinteger · int64required

    nanoERG a rebuilt package must add over the served one before the job changes mid-block.

  • refreshForProtocolTxsbooleanrequired

    Whether a rebuilt package that adds rollup or emission transactions also changes the job mid-block.

  • minNewProtocolTxsintegerrequired

    Rollup or emission transactions the rebuilt package must add before refreshForProtocolTxs changes the job.

  • collateralStrategystringrequired

    How the collateral box is picked. highestFee takes the highest priority fee until a box reaches clearanceAge; random draws from every usable box.

    one ofhighestFeerandom
  • clearanceAgeintegerrequired

    With highestFee, blocks a collateral box may stay live before the oldest is taken regardless of fee. Ignored by random.

  • pinnedInputsintegerrequired

    Wallet boxes set aside to fund transactions that need a wallet input inside this client's own block.

defaultErrorApiError▶
  • errorintegerrequired

    Error code

  • reasonstringrequired

    Error message explaining the reason of the error

  • detailstringrequirednullable

    Detailed error description

← PreviousGet Stratum informationNext →Get difficulty commitment
Request
curl -X GET "http://localhost:9000/mining/candidate"
Response
{
  "blockTransactions": true,
  "sources": [
    {
      "name": "rollups",
      "enabled": true,
      "active": true,
      "maxTxs": 0,
      "maxBytes": 0,
      "maxCost": 0
    }
  ],
  "blockShare": 0,
  "waitForBlockPackage": true,
  "genesisWaitMs": 0,
  "blockTxTimeout": 0,
  "mempoolRefreshMs": 0,
  "minCandidateChangeRevenue": 0,
  "refreshForProtocolTxs": true,
  "minNewProtocolTxs": 0,
  "collateralStrategy": "highestFee",
  "clearanceAge": 0,
  "pinnedInputs": 0
}