Impermanent loss is the cost of providing liquidity to an automated market maker (AMM). When the relative price of the two pooled assets moves, the pool's constant-product formula forces the position to rebalance, and its value ends up below what you would have had by simply holding the same two assets. It is the most common question from new liquidity providers, and one of the most often mis-answered, usually with hand-waving instead of a number. So let us calculate it.
This article does exactly that. You will see the closed-form formula for a 50/50 pool, the weighted version for skewed pools, a fully worked $10,000 example at 2x, 4x and 10x relative moves, how pool weights change the answer, why Uniswap v3 price ranges sharpen the picture, and the fee arithmetic that decides whether the strategy earns its risk. The same calculations for any price pair and any weight are available in the impermanent loss calculator.
What impermanent loss actually is
An AMM pool holds two assets whose amounts stay balanced by a constant product: x · y = k. Swaps between the two assets push the pool's internal ratio off the outside market ratio, and arbitrageurs instantly trade the difference away. The result is that every time the outside ratio moves, the pool has mechanically sold the asset that rose and bought the asset that fell, because only that keeps the product at k.
After any relative move, the pool therefore holds less of the winner and more of the loser than a static bag of the same initial assets would. The difference in value is the impermanent loss. Two properties of it matter. First, it depends only on the size of the relative move, not on direction: a 2x move up costs exactly as much as a 2x move down. Second, it is measured against holding, so it is a counterfactual. A pair that rallies can still leave your pool position up in absolute dollar terms; you simply made less than holding would have.
The impermanent loss formula
For a 50/50 pool the answer has a closed form. Let r be the relative price move: the current ratio of asset A to asset B divided by the initial ratio. The value of the liquidity position as a multiple of the held position is 2√r / (1 + r), which is always at most 1. The impermanent loss factor is therefore IL = 1 − 2√r / (1 + r), and the dollar loss is that fraction of the held value.
Three properties of the formula are worth internalizing. The curve is symmetric in r and 1/r, so a 2x move and a 0.5x move produce identical losses. For small moves the loss grows with the square of the move: a 10% relative move costs about 0.11%, a 20% move about 0.45%, so calm markets cost you almost nothing. And the formula generalizes to any allocation weight w on asset A: the position value becomes r^w / (w·r + (1 − w)) times the held value, which is why skewed pools lose less — and gain less — on the same move.
Worked example: $10,000 in a 50/50 pool
Take $10,000 split evenly: $5,000 of asset A and $5,000 of asset B. Now let A double relative to B (r = 2). Holding, you would own $15,000.00 of A and B combined. The pool is worth $14,142.14, so the impermanent loss is $857.86, or 5.72%. Let A instead move to 4x (r = 4): holding gives $25,000.00, the pool $20,000.00, a loss of $5,000.00, or 20.00%. At a 10x move (r = 10) the gap reaches $23,377.22 — the pool holds $31,622.78 against $55,000.00 held, a 42.50% loss. The move down is the mirror image: at r = 0.5 the pool holds $7,071.07 against $7,500.00 held, the same 5.72%.
- 2.0x relative move → −5.72% (−$857.86 on $10,000)
- 3.0x → −13.40%
- 4.0x → −20.00% (−$5,000.00)
- 5.0x → −25.46%
- 10.0x → −42.50%
- 0.5x → −5.72% (−$428.93)
- 0.25x → −20.00%
The pool's allocation weight is a dial on the same curve. A 50/50 pool takes the full 5.72% on a 2x move; an 80/20 pool weighted toward the stable asset takes 3.27%, and a 95/5 stablecoin-style pool takes 1.04%. Even at 10x, the 95/5 pool only loses 6.68% versus 42.50% for 50/50. The trade is symmetric: the underweighted asset's upside is given up in the same proportion, which is exactly why people accept the skew on stable pairs.
The same constant-product rule that generates the loss also sets the price impact of any swap on the pool, so the size of your trade relative to pool depth matters when you enter or exit. You can model that impact before committing capital in the DEX swap calculator.
Why impermanent — and when it becomes permanent
The word impermanent is precise, with a condition attached. As long as you keep providing liquidity, the loss is unrealized and reversible: if the relative price returns to where you deposited, the rebalancing works in reverse and the gap closes to zero. A provider who enters, holds, and exits at the same relative price books no impermanent loss at all.
Exit at a different relative price and the loss crystallizes: the difference between what the pool pays out and what the same assets would be worth held becomes a realized, permanent loss. In practice, then, impermanent loss is temporary only for positions that are still open at the moved price. It is also worth being precise about what it is not: it is not an absolute loss. On a pair that trends strongly in one direction the pool's dollar value still rises, so a provider who exits "in profit" can still have underperformed a simple holder by the impermanent loss amount.
Uniswap v3: concentrated liquidity changes the math
Classic v2 pools spread liquidity across the entire price range, which wastes capital where the price never trades. Uniswap v3 lets you concentrate the same capital inside a price range you choose. Inside that range, each dollar of liquidity works harder: you earn more fees per dollar, and the effective allocation weight of your position shifts with where the price sits inside the range, so the local loss profile is set by your position within the range rather than a fixed 50/50.
The price of that efficiency is what happens at the boundary. The moment the relative price exits your range, your position converts fully into the asset that has been falling: you hold 100% of the loser, you stop earning fees, and the impermanent loss locks in at the worst point of the move. When the price later returns into the range, the pool reconverts by buying back the other asset at exactly the prices that mark the loss. Narrow ranges mean more fees and more exposure to exactly this event; wide ranges approach the v2 profile.
- In range: fee income amplified, loss profile set by your local weight
- Out of range: position fully in the depreciated asset, zero fees, loss locked in
- Range selection is an active decision, not a set-and-forget input
Because the loss path of a v3 position depends on the whole price history of the pair, the honest measure is the realized loss over the period you actually held the position, and that is a drawdown calculation. The maximum drawdown calculator applies the standard drawdown math to any equity series, including the daily value of your LP position compared against its value if held.
Can trading fees cover impermanent loss?
The break-even condition is simple: your cumulative fee income must exceed the impermanent loss factor times your held value. After a 2x move that is 5.72%; after a 4x move, 20%. Your fee income is the pool's volume times the fee tier, times your share of the pool, accumulated over time. So the question is never whether fees are positive — they are — but whether the run-rate of fees outruns the loss the price path creates.
Put numbers on it. A pair doing $1,000,000 of swaps per day at the 0.30% tier pays $3,000 to the pool each day. If the pool holds $500,000 of TVL, that is 0.60% of pool value per day. Against that run-rate, a 2x move (5.72% of value) is earned back in about 10 days, and a 4x move (20%) in about 33 days — provided the price holds still the whole time, which of course it does not.
Small moves are cheap to recover: a 10% relative move costs about 0.11%, which is a few hours of fees in the example above. The real risk is not the average fee day but the single large move, which can set back months of fee income in one session. That comparison is what the fee tier choice is really about, and it is also why you should benchmark the position against the boring alternative — holding the same assets and earning their staking yield. If the pool's net fee run-rate does not beat the staking rate you give up by putting capital in, the trade is losing before any price move happens. You can see what that baseline yield is in the staking APY calculator.
Managing impermanent loss
Three levers actually change the number. Range management: narrow ranges earn more per dollar but raise the probability of the out-of-range event, so re-centering is part of the strategy, not an accident. Pair selection: the loss scales with the relative move, so a pair that rarely moves relative to itself (stablecoin pairs) produces a fraction of the loss of a high-volatility pair, before fees are even considered. And hedging: the relative exposure of a long/long pool can be offset by shorting the relative move, which converts the exposure into a carry cost you can measure instead of a price-path cost you can only estimate.
- Size the position with a risk budget, the same way you size a trade
- Re-center v3 ranges before the out-of-range event locks the loss in
- Measure the hedged cost (funding) before deciding the hedge is worth it
The hedge leg has its own arithmetic. Shorting the relative move on a perpetual future means paying or receiving funding every eight hours, and the sign flips with crowd positioning, so the carry cost of your hedge is not fixed. The funding rate tool and the funding rate article quantify that payment for any notional and holding period. If you leverage the pool to amplify fees, the hedge leg also carries a liquidation price of its own, which you can compute with the crypto liquidation calculator and the liquidation price article before sizing the position.
Impermanent loss is not a tax, a fee, or a risk premium you cannot see. It is a deterministic function of the relative price path and your pool's weights, calculable to the cent before you deposit anything. The practical discipline is to run the number first: put your real starting prices, your real allocation, and your real planned holding horizon into the model, read the loss at the move you consider plausible, and then ask whether the fee run-rate of that specific pool covers it. If the arithmetic does not work at the move you expect, no amount of fee APR marketing changes the answer.