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.
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:
| Kind | Holds | ERG in the pool |
|---|---|---|
| ERG/token | ERG and one token | Part of the reserves, so it trades |
| Token/token | Two tokens | About 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:
| Badge | What it means | What the client does |
|---|---|---|
| Verified | On the verified list that ships with the client | Trades with no extra step, and keeps the pool's graphs and history |
| Unverified | Its genesis passed the client's checks, but nobody vetted its creator or its tokens | Trades only with your consent on each trade. Keeps no graphs or history |
| Not checked | The client has not read its genesis yet | Checks the genesis before placing any trade there |
| Can be drained | Its genesis breaks a fact the pool contracts rely on | Refuses 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:
| Setting | Default | What it does |
|---|---|---|
lithosdex.pools.hidden | ["eb123f49f083f5b68d10d7037a45eb11d3371210ab10bc66757e29432d661ee6"], a test LIT/RSN pool | Pool 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:
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.