Liquidity Lu saysUniswap v3 prices live on a discrete tick lattice spaced as 1.0001^tick — each tick is one basis point, and tick spacing per fee tier controls position granularity.
Uniswap v3 does not work with continuous prices — it uses a discrete tick lattice where each tick represents a price 1.0001^tick. One tick is exactly one basis point (0.01%). Each fee tier has its own tick spacing: 1 (0.01% pool), 10 (0.05%), 60 (0.3%), 200 (1%) — wider spacing for higher-fee pools where MEV is heavier.
Positions snap to tick boundaries. A ±5% range around p=1.0 covers about 1000 ticks. The demo computes tick boundaries for that range and counts 60-spaced positions that fit.
Power-ups you unlock
Prices = 1.0001^tick (one tick = 0.01%)
Tick spacing per fee tier: 1 / 10 / 60 / 200
Positions snap to tick boundaries
Wider spacing reduces gas and limits granularity
A ±5% range covers roughly 1000 ticks
The Sandwich Bot attacks — common mistakes
Treating ticks as continuous — they jump in spacing units
Using the wrong tick spacing for a fee tier (compile error)
Forgetting tick math is in √price (not price) internally
Picking ranges that misalign with tick spacing
Boss battleCompute the tick range for ±5% around p=1.0 and the number of 60-spaced positions that fit.