Impermanent loss calculator for concentrated liquidity (Uniswap v3)
Set a price range and a price move: see the impermanent loss against holding, the fees needed to break even, and how concentrated the position is compared with a full-range one. Then see what each range of a real pool actually earned after impermanent loss.
Impermanent loss by range and price move
| Price move | ±5% | ±10% | ±20% | Full range |
|---|---|---|---|---|
| -50% | -33.00% | -32.54% | -31.22% | -5.72% |
| -30% | -16.91% | -16.03% | -13.78% | -1.57% |
| -20% | -10.17% | -9.08% | -6.36% | -0.62% |
| -10% | -4.13% | -2.83% | -1.43% | -0.14% |
| -5% | -1.33% | -0.67% | -0.34% | -0.03% |
| +5% | -1.20% | -0.61% | -0.31% | -0.03% |
| +10% | -3.50% | -2.32% | -1.18% | -0.11% |
| +20% | -7.79% | -6.57% | -4.34% | -0.41% |
| +30% | -11.71% | -10.45% | -8.14% | -0.85% |
| +50% | -18.63% | -17.34% | -14.92% | -2.02% |
| +100% | -31.97% | -30.66% | -28.16% | -5.72% |
How to read it
- Impermanent loss: the position's value at the new price compared with simply holding the tokens you deposited, fees left out.
- Fees to break even: the fees, as a share of your deposit, the position must earn to end level with holding.
- Concentration: liquidity per dollar compared with a full-range position. Inside the range, fees and impermanent loss both scale with it.
The formula
For a range from pa to pb, one unit of liquidity holds x = 1/√p − 1/√p_b of token0 and y = √p − √p_a of token1 while the price p is inside the range; below the range it holds only token0, above it only token1. Impermanent loss is the value of those amounts at the new price divided by the value of the entry amounts at the new price, minus one. For a full-range position this reduces to the familiar 2√r / (1 + r) − 1, where r is the price ratio.
Why a narrow range loses more
A ±10% range holds about 20 times the liquidity of a full-range position for the same deposit. While the price stays inside, it earns about 20 times the fees. If the price rises 20%, it ends 6.6% behind holding — the fees it must earn to break even are 7.2% of the deposit — against 0.4% for a full-range position. Concentration is leverage on both fees and loss.
From a calculator to a backtest
A calculator assumes one price move and no fees. What a range really returns depends on the path the price took and the fees the pool paid while it was in range. LPSignal backtests every range of every covered pool on its real hourly history, with exact fees from the pool's fee-growth counters, and ranks them by net APR: fees minus impermanent loss. See the opportunities, the best pools per chain — Ethereum, Base, Arbitrum, BNB Chain — and how the backtests work.
Questions
How is impermanent loss calculated for Uniswap v3?
Take the token amounts one unit of liquidity holds in the range at the entry price and at the new price (x = 1/√p − 1/√p_b, y = √p − √p_a inside the range; one token only outside it), value both at the new price, and divide the position's value by the value of holding the entry amounts. Minus one is the impermanent loss.
Is impermanent loss bigger in a concentrated range?
Yes. A narrow range holds more liquidity per dollar, so for the same price move it loses more against holding — and earns more fees while the price stays inside. A ±10% range is about 20 times as concentrated as a full-range position.
What happens when the price leaves my range?
The position holds only one token: all token0 if the price fell below the range, all token1 if it rose above. It stops earning fees, and as the price moves further away the gap to holding keeps growing.
How much in fees do I need to break even?
As much as the impermanent loss in money: the calculator shows it as a share of your deposit. LPSignal's net APR does this for real pools — the fees a range earned minus its impermanent loss over the last day, week and month.