Why does the price input round?
Last modified:
v3 divides the continuous price curve into discrete ticks. When you enter a price bound, the interface snaps it to the nearest tick that is a multiple of the pool's tick spacing. The tick spacing equals twice the fee tier — except for the 0.01 % tier, where the spacing is 0.01 %.
Each tick corresponds to a price of 1.0001^n (where n is an integer). The two pricing formulas:
price0 = (1.0001^tick) / (10^(token1Decimals - token0Decimals))
price1 = 1 / price0Example: An LP targets a range of 1,000–5,000 USDC per CTN in a 0.30 % pool (tick spacing 60).
- Nearest low tick for $1,000: tick 207,240 →
price0 ≈ 0.0009999698→ price1 ≈ 1,000.30 USDC - Nearest high tick for $5,000: tick 191,160 →
price0 ≈ 0.0002020024→ price1 ≈ 4,993.92 USDC
The entered bounds of 1,000 and 5,000 therefore round to 1,000.30 and 4,993.92. This is inherent to tick-based pricing and cannot be overridden.