Learn · season 03 · episode 10
Uniswap V3: choose your price range
Concentrated liquidity puts your capital to work over a chosen range. It can earn a larger share of fees while active, but a price move can leave you holding just one token and earning no new fees.
Start with the V2 lesson for pools, swaps and the holding comparison. These are hypothetical browser simulations.
01 · focus the inventory
Same budget, a smaller trading range
V2 supplies liquidity across the full positive price range. V3 lets an LP choose lower and upper prices. Within that interval, the position supplies liquidity to swaps. A narrower interval concentrates the same capital, potentially increasing its share of active liquidity and fees for trades there.
This does not guarantee higher earnings: price may leave the range, volume may be low, and other LPs compete for fees. V3 positions have their own ranges and fee tiers. The standard position manager represents each position with an NFT, rather than one interchangeable pool-share token.
Sources: Concentrated liquidity and the V3 whitepaper.
02 · move through the range
Your inventory changes as the price crosses
- Set the final price to $2,000. With the default $1,000–$4,000 range, you hold both tokens and can earn fees from eligible swaps.
- Raise it to $5,000. The position has sold all its WETH into USDC. Above the upper bound, it stops participating in swaps and earns no new fees.
- Lower it to $500. The position is all WETH. It cannot keep exchanging USDC for WETH below its lower bound.
- Return inside the range. The position participates again without needing a new deposit. Previously earned fees are retained throughout.
Does the fee cover the shortfall?
Simulated · computed here · hypothetical prices
Start with $4,000 at $2,000 per WETH. USDC stays at $1 in this model.
Changing the range creates a new starting position with the same $4,000 budget. It changes the initial token mix; this is not a free rebalance of an existing position.
Your starting inventory: 1.0000 WETH + 2000.0000 USDC.
Final LP inventory, excluding fees: 0.0000 WETH + 4828.4271 USDC.
Impermanent loss before fees: $1,171.57 (19.53% behind holding).
After fees and costs, your LP position is $1,071.57 behind holding.
Compared with your original $4,000 deposit: $928.43 gain. This answers a different question from the holding comparison.
Fees needed to match holding: $1,171.57 = inventory shortfall + costs.
Assumptions: arbitrage aligns the pool with the final market price; no deposits, withdrawals or range changes along the way. Fees are a separate hypothetical dollar total after any protocol share, not a forecast from the price move. No reinvestment or compounding is modelled. Real V3 fees accrue in tokens separately from principal. This model uses continuous prices, without tick rounding; it treats range endpoints as inactive.
Where the swap fee goes
Illustrative fee estimateTraders pay a fee on swaps. The LP portion is shared among the liquidity participating in those trades. This calculator holds your share constant over the selected volume.
Estimate fees on new volume at the selected price. This separate experiment does not change the accumulated-fees input above.
Estimated fees for your position: $0.00
$100,000.00 × 0.30% × 83.33% retained for LPs × 0% share.
This V3 position is outside its range. Its share of this new trading volume is zero. Previously earned fees are still yours.
These are selectable assumptions, not live pool quotes or an APR forecast. Dollar volume and fee values use a fixed conversion. Actual earnings depend on the price path, trading volume and competing active liquidity.
Reference: Uniswap pool fees.
Inventory calculation follows Uniswap’s liquidity-to-token amount relationships. This lesson omits tick discretisation and integer rounding.
03 · compare the same starting tokens
A tighter range also changes your exposure
Reset the comparison. At $4,000, the default V3 position has about $4,828.43 in principal, compared with $6,000 from holding. Its $1,171.57 shortfall is larger than V2’s $343.15 for this move and starting budget. $100 in fees does not cover either shortfall.
Try a $1,800–$2,200 range. It converts the position into USDC sooner as WETH rises. Check the starting inventory too: an asymmetric range around the opening price need not start with equal dollar values. The holding benchmark always uses that position’s actual original tokens.
Moving a range means changing the position, potentially trading tokens and paying transaction costs. It cannot undo an earlier shortfall. Fees must cover the holding shortfall and those costs to outperform holding. The final price alone cannot tell you the fees earned: the path, active trading volume and competing liquidity matter.