Liquidity Pool
Last updated
Last updated
The x/liquiditypool
module implements a concentrated liquidity automated market maker (AMM) mechanism for the Sunrise blockchain. This module enables users to create liquidity pools, add positions with specific price ranges, and earn rewards from trading fees and incentives.
Concentrated Liquidity AMM:
Follows a similar model to Uniswap V3, allowing liquidity providers to concentrate their assets within specific price ranges.
Improves capital efficiency compared to traditional constant product AMMs.
Position-Based Liquidity:
Users create positions with defined price ranges (ticks).
Each position has a unique ID and tracks the liquidity provider's contribution.
Fee Generation:
Positions earn fees from trades that occur within their price range.
Fees are collected in the base and quote denominations of the pool.
vRISE
Incentives:
Liquidity providers earn vRISE tokens as additional incentives.
For more information, see
Note: The following section covers advanced topics intended for experienced users or developers.
Each pool is defined by several parameters:
id
: Unique identifier for the pool
denom_base
& denom_quote
: The token pair denominations
fee_rate
: The fee charged on swaps within the pool
tick_params
: Parameters defining the tick system
current_tick
, current_tick_liquidity
, current_sqrt_price
: Current state variables
The tick system is based on a price ratio formula:
In the typical case with price_ratio = 1.0001
and base_offset = 0
:
This allows for precise positioning of liquidity within specific price ranges.
Note: The following section covers advanced topics intended for experienced users or developers.
The module provides various message types:
MsgUpdateParams: Update module parameters (governance operation)
MsgCreatePool: Create a new liquidity pool with specified parameters
MsgCreatePosition: Create a position within a price range in a pool
MsgIncreaseLiquidity: Add liquidity to an existing position
MsgDecreaseLiquidity: Remove liquidity from an existing position
MsgClaimRewards: Claim accumulated fees and incentives for positions
The module provides various query endpoints:
Params: Query module parameters
Pool: Get details of a specific pool
Pools: List all liquidity pools
Position: Get details of a specific position
Positions: List all positions
PoolPositions: List positions in a specific pool
AddressPositions: List positions owned by an address
PositionFees: Get accrued fees for a position
CalculationCreatePosition: Preview position creation
CalculationIncreaseLiquidity: Preview liquidity increase
See for details.