Liquidity
Creating a pool
Any address can create a pool for any token pair by calling the router's addLiquidity /
addLiquidityETH: if the pair does not exist the router creates it and your deposit becomes the
first one. On hartiilabs.com this is Pools → Create pool, or Create the first pool on a token
page.
The first deposit sets the price
With an empty pool, the ratio of what you deposit is the price. Deposit 20,000 QAXE and 60.84 QUAI and the pool opens at 0.003042 QUAI per QAXE. Get it wrong and arbitrageurs will trade the pool to the market price at your expense.
The first 1000 LP units are minted to address(0) and locked forever; you receive
sqrt(amountToken × amountQuai) − 1000 LP.
Adding to an existing pool
Later deposits must match the pool ratio. The router takes your desired amounts, computes the optimal
counterpart with quote(amountA, reserveA, reserveB) = amountA × reserveB / reserveA, and uses
whichever side fits; excess QUAI is refunded. Set amountAMin/amountBMin (e.g. 99.5% of desired) so a
price move between signing and inclusion cannot give you a worse deposit. LP received:
min(amount0 × totalSupply / reserve0, amount1 × totalSupply / reserve1).
Removing liquidity
Approve the pair's LP token to the router (or use a …WithPermit function), then
removeLiquidityETH(token, liquidity, minToken, minQuai, to, deadline). You receive
liquidity / totalSupply of both reserves at that moment.
What liquidity providers earn
Every swap pays 0.30% of its input into the pool, so each LP unit is backed by slightly more tokens
over time. Of that growth, 1/6 (≈ 0.05% of volume) is minted to the protocol-fee recipient
(factory.feeTo(), the Hartii treasury) the next time liquidity is added or removed — the standard
Uniswap V2 fee switch. LPs keep the remaining ≈ 0.25%. Where a farm exists, LP tokens can
also be staked for rewards.
Risks
- Impermanent loss. A pool always holds a 50/50 value split. If the token's price moves, you end up with more of whichever side fell in value, and — before fees — less value than if you had just held both. A 2× price move costs about 5.7%; 5× about 25.5%.
- Token risk. A pool is only as good as its tokens. A token whose contract can freeze or tax transfers can trap or drain LPs; HartiiLabs launch tokens have no transfer tax and no freeze, but anyone can create a pool for any token.
- Thin pools move a lot. A small pool gives large price impact; check it before swapping.
Two venues for one token
A graduated HartiiLabs token trades in its curve's locked internal pool and can trade in a HartiiSwap pool. The two prices are independent; arbitrage keeps them close. The token page shows both and links to the better one. Seeding at the curve price (above) means nothing is given away when the pool opens.