Liquidity primitive
The primitive is defined by four properties of its liquidity — its axiomatics. Each is one application of the model, and each is enforced on-chain.
Arbitrage-free
The liquidity of a pool is not a single quantity: it separates across the assets, each side
carrying its own liquidity. A static invariant — the domain — keeps the sides coherent: the
ratio of the liquidities is constrained to an interval , enforced on every trade
(maxLiquidityRatio in the pool parameters). Within the domain, no atomic transaction can
reduce the value of the pool.
Dynamic
The liquidity is not pinned to a fixed price: it follows the current state price. As the price moves, the liquidity moves with it. A position is therefore always in range — there is nothing to monitor, reposition, or rebalance.
Concentrated
Each asset's liquidity is proportional to its reserves,
where the concentration parameter describes where the reserves are projected: rather than being spread over all prices, the reserves stand concentrated around the state price they dynamically follow. Concentration is a pool parameter (in basis points; lower values mean a tighter price response, i.e. deeper liquidity).
Stabilizing
A trade removes reserves from the consumed asset, so that side's liquidity decreases — the next trade in the same direction requires greater slippage. The other side is now in excess: its liquidity has increased — the reverse trade is cheaper. The liquidity is asymmetric by construction, and this asymmetry is what stabilizes the price: every trade makes continuing in its direction dearer and reverting cheaper.
Consequences for positions
- Fungible shares. A position is a share of the pool — an ERC6909 claim token, identical to every other share. Not a bespoke range, not an NFT. Shares are what make composition possible: they serve directly as collateral.
- Fees are capitalized. Fees perceived on trading are added directly to the pool's reserves. No fee accounting exists: a producer owns a fixed share of a pool that appreciates.
- Executed price. Along a fill, slippage grows as the square root of executed volume; the volume-averaged price a consumer actually pays realizes of the total state-price move.