Sqrt Price Limit
Controlling Slippage in CLMM Swaps
In a Concentrated Liquidity Market Maker (CLMM), the sqrt_price_limit parameter is used to define a price boundary for a swap — effectively acting as a slippage protection mechanism. Depending on the direction of your trade (i.e., which token you're selling vs. buying), you must use either a min_sqrt_price_limit or max_sqrt_price_limit.
Determining Token Order
Each CLMM pool defines a token0 and a token1.
You can identify the token order by using the get_pool_view function.
Swap Direction and Price Limits
token0 → token1
min_sqrt_price_limit
Sets a lower bound on the price to prevent excessive slippage when selling token0
token1 → token0
max_sqrt_price_limit
Sets an upper bound on the price to prevent excessive slippage when selling token1
Example:
If the pool consists of:
token0= USDCtoken1= MOVE
Then:
Swapping USDC → MOVE: Use
MIN_SQRT_PRICESwapping MOVE → USDC: Use
MAX_SQRT_PRICE
Constants
export const MIN_SQRT_PRICE = "281480266797392";
export const MAX_SQRT_PRICE = "5192199275492655220258463701383891";Use these constants to safely bound the swap and avoid undesired price execution due to rapid pool movement or low liquidity conditions.
Last updated