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/Protocol/LithosDex

Choosing a pool

The two kinds of LithosDex pool, what the verified list means, and what the client checks and asks before you trade on any other pool.

Standard4 min readFor anyone trading on a LithosDex pool other than ERG:LIT. Read the LithosDex overview first.

Anyone can create a LithosDex pool, for any token, at any price. This page covers the two kinds of pool, how the client marks the pools it trusts, and what it checks or asks before you trade on the rest. Creating a pool of your own is in Creating a pool.

Telling the two kinds apart#

Every pool holds two assets and prices one against the other, as the ERG:LIT pool does. The following kinds exist:

KindHoldsERG in the pool
ERG/tokenERG and one tokenPart of the reserves, so it trades
Token/tokenTwo tokensAbout 6.3 ERG that pays the pool box's storage rent. It never trades

Each pool's creator chooses its fees, so two pools of the same pair can charge differently. The Pools tab and each pool's About this pool card show the full split: the share the pool keeps, and what providers earn on each side.

Finding a pool#

Open LithosDex, then the Pools tab. The list shows every pool the client knows: ERG:LIT first, then verified pools, then the newest. Filter it by list or by kind, or search by ticker, name or id. Select a pool to open it.

Every other tab acts on one pool at a time, chosen in the selector in the page header. ERG:LIT is the default. The page address carries the pool's NFT id as /dex?pool=POOL_NFT_ID, so a link to a pool opens that pool.

Reading a pool's badge#

The client checks every pool before it lists it, and each pool carries one of the following badges:

BadgeWhat it meansWhat the client does
VerifiedOn the verified list that ships with the clientTrades with no extra step, and keeps the pool's graphs and history
UnverifiedIts genesis passed the client's checks, but nobody vetted its creator or its tokensTrades only with your consent on each trade. Keeps no graphs or history
Not checkedThe client has not read its genesis yetChecks the genesis before placing any trade there
Can be drainedIts genesis breaks a fact the pool contracts rely onRefuses swaps and deposits. Redeeming, flushing and claiming still work

A pool's genesis is the transaction that created it. The client reads it once per pool and checks the following facts:

  • The pool NFT and the vault NFT were each minted once.
  • Every share of the pool was in the pool or in a provision the genesis created.
  • Nothing was pending or accrued when the pool was created.
  • The fees are within the bounds the contracts allow.

A pool that fails any of these is marked Can be drained, and the pool's page lists each failure. A pool the client cannot trace back to its genesis is marked the same way.

A pool's page may also list warnings. A warning names a risk that nobody can exploit, such as a pool box holding too little ERG to survive a storage rent collection.

What the verified list covers#

The verified list is a file inside the client, so it changes only with a client release. It names pools and tokens that were checked by hand. ERG:LIT and LIT are always on it. Verified pools are the only ones with History graphs, collected from the block each pool joined the list.

A verified pool can hold an unverified token. The pool's genesis was checked, but the token's name and ticker were chosen by whoever minted it, and another token can carry the same name. Before you trade, compare the token id on the pool's About this pool card with the id you expect.

Trading on an unverified pool#

The client asks for your consent on every swap and deposit on an unverified pool. Tick I understand this pool is not on the verified list before you send the trade. When a token's name comes from its minter, the same line names that token. Through the API, set "acknowledgeUnverified": true on the request.

Redeeming never needs consent. A provision on any pool can always be redeemed, including on a pool marked Can be drained, so your liquidity can always leave.

Hiding a pool from the list#

lithosdex.pools.hidden leaves pools out of the Pools tab and out of GET /dex/pools:

SettingDefaultWhat it does
lithosdex.pools.hidden["eb123f49f083f5b68d10d7037a45eb11d3371210ab10bc66757e29432d661ee6"], a test LIT/RSN poolPool NFT ids left out of the pool list

Setting the list replaces the default, so copy the default id into your own list to keep that pool hidden:

lithos.conf
hocon
lithosdex.pools.hidden = [
  "eb123f49f083f5b68d10d7037a45eb11d3371210ab10bc66757e29432d661ee6",
  "POOL_NFT_ID"
]

A hidden pool still opens by link, and your client still fills its orders. To stop filling them, also add the id to batching.lithosdex.deniedPools, described in Batching and orders.

Next steps#

  • Trading with orders: placing, following and cancelling an order on any pool.
  • Providing liquidity: depositing into a pool and claiming its fees.
  • Creating a pool: what a new pool costs and how to create one.
Edit this page on GitHubsynced from main
← PreviousLithosDexNext →Trading with orders
On this page
  • Telling the two kinds apart
  • Finding a pool
  • Reading a pool's badge
  • What the verified list covers
  • Trading on an unverified pool
  • Hiding a pool from the list
  • Next steps