You deposit $1,000 into an ETH/USDC liquidity pool: $500 of ETH and $500 of USDC. A month later, ETH has doubled. You withdraw and find $1,414 in your wallet. Nice return, right?
Except if you had simply held that same $500 of ETH and $500 of USDC in your wallet, you would have $1,500. You just underperformed a do-nothing strategy by $86, or about 5.7%.
That gap has a name: impermanent loss. It is the single most misunderstood concept in DeFi, and it is the reason "earn yield by providing liquidity" is not free money. This article walks through exactly where the $86 went, derives the formula, and gives you a table you can use to decide whether any given pool is worth your capital.
This is Part 6 of an 8-part series on DeFi from first principles. If you have not read how constant-product AMMs actually work, start there. The math below assumes you understand why x * y = k.
Where the missing $86 actually went
Impermanent loss is not a fee. No one stole your money. The loss is a direct, mechanical consequence of how AMMs rebalance.
When you deposit into an ETH/USDC pool, you are not parking two separate bags. You are handing your tokens to a pricing robot that will sell whichever asset goes up and buy whichever asset goes down, automatically, on every trade.
Walk through it. You deposit 1 ETH at $500 plus 500 USDC. ETH doubles to $1,000. Arbitrageurs do not care about your feelings, they care about the pool price diverging from the market price. So they trade against the pool until the internal price matches $1,000. To do that, they pull ETH out of the pool (making it scarcer, pushing its pool price up) and push USDC in.
By the time the dust settles, your share of the pool no longer contains 1 ETH and 500 USDC. It contains roughly 0.707 ETH and 707 USDC. The pool automatically skimmed ETH from you while it was appreciating and handed you stablecoins in exchange. Total value: 0.707 × $1,000 + $707 = $1,414.
If you had held instead: 1 ETH at $1,000 + $500 USDC = $1,500.
The $86 did not disappear. It was paid to arbitrageurs, piece by piece, on every trade that nudged the pool back to market price. That is the business model of a constant-product AMM: liquidity providers subsidize arbitrage so that traders get a reliable price curve. You are compensated with the trading fees paid by those same traders. Whether the fees outrun the loss is the entire question.
Deriving the formula
The derivation is worth doing once by hand. It is not complicated algebra, and once you have it you will never again trust a yield number without stress-testing it.
Assume a constant-product pool x * y = k where x is the volatile asset (ETH) and y is the stable asset (USDC). Let p be the price ratio at deposit time (USDC per ETH) and r be the price multiple at withdrawal time (so if ETH doubles, r = 2).
At deposit:
pool holds x0 ETH and y0 USDC
x0 * y0 = k
pool price: p = y0 / x0
At withdrawal (new price = r * p):
new pool price = y1 / x1 = r * p
constant-product still holds: x1 * y1 = k
Solving the two equations:
x1 = x0 / sqrt(r)
y1 = y0 * sqrt(r)
Value of LP position at new price:
V_lp = x1 * (r * p) + y1
= (x0 / sqrt(r)) * r * p + y0 * sqrt(r)
= x0 * p * sqrt(r) + y0 * sqrt(r)
= 2 * y0 * sqrt(r) (since x0 * p = y0)
Value if you had just held:
V_hodl = x0 * (r * p) + y0
= y0 * r + y0
= y0 * (r + 1)
Impermanent loss (as a fraction of HODL value):
IL = V_lp / V_hodl - 1
= 2 * sqrt(r) / (r + 1) - 1
That final expression 2 * sqrt(r) / (r + 1) - 1 is the whole game. It is always zero or negative, symmetric around r = 1, and it only depends on the ratio of prices, not the absolute prices.
The reference table every LP should memorize
Plug values of r into the formula and you get a table that will change how you evaluate pools:
| Price change (r) | IL vs. HODL | What it means |
|---|---|---|
| 1.25x | -0.62% | Small drift, negligible loss |
| 1.5x | -2.02% | Noticeable, fees usually cover it |
| 2x | -5.72% | Meaningful. Need real fee income. |
| 3x | -13.40% | A full month of fees might not cover it |
| 4x | -20.00% | You are deep in the hole |
| 5x | -25.46% | A quarter of your HODL value gone |
Two features of this table deserve attention.
First, it is symmetric. A 2x pump and a 2x dump (r = 0.5) both produce the same 5.72% loss. You lose whether the volatile asset moons or crashes. The pool does not care about direction, only divergence.
Second, the loss is non-linear. Doubling the price move from 2x to 4x more than triples the loss. This is why providing liquidity for two volatile, uncorrelated assets is a very different risk than providing it for two stablecoins that are supposed to track the same peg. A USDC/DAI pool rarely sees r stray from 1.00. An ETH/SHIB pool can see r move 10x in a week.
Why the name is misleading
The loss is called "impermanent" because if the price ratio returns to exactly where it started, the loss disappears. At r = 1, IL = 0. That is the grain of truth in the name.
In practice, you close your LP position at whatever r happens to be when you withdraw. If you entered at ETH = $2,000 and withdraw at ETH = $3,000, the loss is extremely permanent. It is realized the moment you pull your liquidity, and no amount of hoping ETH returns to $2,000 will get it back.
Call it "divergence loss" in your head. That is what it actually is: the opportunity cost of rebalancing during price divergence.
The fee side of the equation
LP rewards exist to offset this loss. Every swap pays a fee (typically 0.05% to 1% depending on the pool tier), and that fee accrues to liquidity providers pro-rata. The question is whether volume-weighted fees outrun divergence loss.
A rough heuristic: for an ETH/stablecoin pool at 0.3% fees, you generally need daily volume equal to roughly 50–100% of the total pool TVL before fees comfortably dominate IL for moderately volatile periods. Blue-chip pools on major DEXes sometimes hit this. Long-tail pools almost never do, which is why yield-chasing in obscure pairs is usually a losing trade once you account for IL and gas costs on every deposit and withdrawal.
The other complication: fees are paid in the pool tokens, so they are themselves subject to the same price dynamics. A pool paying 40% APR in a token that drops 60% did not actually pay you anything.
Concentrated liquidity makes it worse, not better
Uniswap v3 and its descendants let you concentrate liquidity in a price range. This multiplies your fee earnings when price stays in range, which sounds great until you realize it also multiplies your impermanent loss when price moves.
Concentrated liquidity is leveraged market-making. If you set a tight range and price leaves it, your position becomes 100% the worse-performing asset and earns zero fees until price returns. The rule of thumb that "v3 is just v2 with a multiplier on both sides" is roughly correct. You are not avoiding IL, you are dialing it up in exchange for more fee efficiency if you guess the range correctly.
This is a structurally different risk profile than passive v2 LPing, and it demands active management in a way that passive DeFi strategies do not.
Decision checklist: should you provide liquidity to this pool?
Before depositing into any AMM pool, work through these questions honestly:
- How correlated are the two assets? Two stablecoins: low IL risk. Two blue-chip majors: moderate. A major paired with a long-tail token: high. A memecoin paired with anything: extreme.
- What is the realistic price range over your holding period? Use the IL table. If you can imagine a 3x move either direction, you are signing up for at least 13% IL.
- Does the historical volume-to-TVL ratio justify the fees? Check the pool's 30-day fees-to-TVL yield and compare it against the IL you would have taken over the same window.
- Are you paying gas more than the position is worth? On mainnet, depositing and withdrawing a small LP position can cost real money. That is not a rounding error.
- What is your exit plan? LP positions are not always liquid to exit cleanly, especially in thin pools or during volatile markets. Plan for the bad scenario, not the median one.
- Smart contract risk. You are trusting the AMM contract, the router, and any aggregator you use. This is a separate risk layer on top of IL, similar to the trust surface in on-chain lending protocols.
- Token approval hygiene. Providing liquidity requires approvals for both tokens. Revoke them when you withdraw.
If you cannot answer all of these, you are not ready to LP. Park the capital in a single-sided yield source, or just hold, until you can.
Key takeaways
- Impermanent loss is the mechanical cost of an AMM rebalancing your position during price divergence. It is not a bug, it is the price LPs pay to subsidize arbitrage.
- The formula is
IL = 2 * sqrt(r) / (r + 1) - 1, whereris the price ratio at exit versus entry. Memorize the shape: 5.7% at 2x, 13.4% at 3x, 25.5% at 5x. - Loss is symmetric on pumps and dumps, and non-linear. Bigger divergence hurts disproportionately more.
- The name is misleading. The loss is only "impermanent" if you wait for price to mean-revert exactly, which is not a strategy.
- Fees can offset IL, but only in pools with high volume relative to TVL. Most long-tail pools are value-destructive once IL is honestly accounted for.
- Concentrated liquidity amplifies both fees and IL. It is active trading, not passive yield.



