Skip to content

Impermanent Loss — The Hidden Cost of DeFi Liquidity Provision

Posted on:August 11, 2025 at 10:00 AM

Every DeFi tutorial mentions impermanent loss. Most wave it away with “but you earn fees!” without quantifying whether the fees actually compensate. This post does the math properly — deriving the IL formula from first principles, calculating real P&L under different scenarios, and showing exactly when LP provision is profitable.

Table of contents

Open Table of contents

What Is Impermanent Loss?

When you provide liquidity to an AMM (like Uniswap), you deposit two tokens in a fixed ratio. As prices change, arbitrageurs rebalance the pool to reflect market prices. This rebalancing means you end up holding a different token ratio than you started with — and that different ratio is always worth less than if you’d simply held the original tokens.

The loss is “impermanent” because it disappears if prices return to their original ratio. It becomes permanent when you withdraw liquidity at a different price ratio.

The Mathematical Derivation

Start with a Uniswap V2 pool with tokens X and Y:

Initial state:

You own a fraction s of the pool, so your position is worth:

V_pool₀ = s · (P₀ · x₀ + y₀) = 2s · y₀

(Equivalent to 2 × P₀ × s × x₀ = twice the value of your X holdings. The pool always has equal value in both tokens by construction.)

Now price changes to P₁ = r · P₀ where r = P₁/P₀ is the price ratio.

After arbitrage, the pool rebalances to maintain k:

x₁ · y₁ = k = x₀ · y₀
y₁/x₁ = P₁ = r · P₀

Solving:

x₁ = x₀ / √r
y₁ = y₀ · √r

Your pool position value at the new price:

V_pool₁ = s · (P₁ · x₁ + y₁)
= s · (r·P₀ · x₀/√r + y₀·√r)
= s · (P₀·x₀·√r + y₀·√r)
= s · √r · (P₀·x₀ + y₀)
= s · √r · 2y₀
= 2s · y₀ · √r

If you’d just held (not provided liquidity):

V_hold₁ = s · (P₁ · x₀ + y₀)
= s · (r·P₀·x₀ + y₀)
= s · y₀ · (r + 1) [since P₀·x₀ = y₀]
= s · y₀ · (r + 1)

Impermanent Loss:

IL = V_pool₁/V_hold₁ - 1
= (2√r) / (r + 1) - 1

This is the classic IL formula. Let’s verify with intuition:

The IL Table

Price changePrice ratio rIL
-50%0.5-5.72%
-25%0.75-0.95%
No change1.00%
+25%1.25-0.60%
+50%1.5-2.02%
+100% (2x)2.0-5.72%
+200% (3x)3.0-13.40%
+400% (5x)5.0-25.46%
+900% (10x)10.0-42.46%

Key observations:

  1. IL is symmetric: a 2x price increase causes the same IL as a 50% decrease
  2. IL is always negative (you always lose vs holding)
  3. IL grows approximately with |r - 1|² for small changes
  4. At 10x price change, IL is >42%

Real P&L Calculation

IL alone doesn’t tell you if LP is profitable. You need:

Net P&L = Fee revenue - Impermanent loss

Example: ETH/USDC Pool

Scenario A: ETH stays at $2,000 (1 year)

Fee income = $10,000 × 15% = $1,500
IL = 0%
Net P&L = +$1,500 (+15%)

Straightforward. Flat market = fees win.

Scenario B: ETH rises to $3,000 (+50%)

Fee income (assumes 6 months before withdrawal) = $10,000 × 7.5% = $750
IL = -2.02% × $10,000 = -$202
But also, the pool value grew: $10,000 × (P₁/P₀ component)...

Let me compute this properly.

When ETH = $3,000 (r = 1.5), your pool holdings are:

x₁ = 2.5 / √1.5 = 2.041 ETH
y₁ = 5,000 × √1.5 = 6,124 USDC
Pool value = 2.041 × $3,000 + $6,124 = $12,247

If you had held: 2.5 × $3,000 + $5,000 = $12,500

IL in dollar terms: $12,247 - $12,500 = -$253 Percentage IL: -253/12,500 = -2.02% ✓ (matches formula)

With $750 in fees:

Net P&L = $12,247 + $750 - $10,000 = +$2,997 (+30%)
Hold would have been: $12,500 - $10,000 = +$2,500 (+25%)

LP wins by $497 because fees more than compensate for IL.

Scenario C: ETH 5x to $10,000

r = 5, IL = -25.46%
x₁ = 2.5 / √5 = 1.118 ETH
y₁ = 5,000 × √5 = 11,180 USDC
Pool value = 1.118 × $10,000 + $11,180 = $22,361
Hold value = 2.5 × $10,000 + $5,000 = $30,000
IL in dollars = $22,361 - $30,000 = -$7,639 (-25.5%)
With fees (assume 1 year at 15% on average position): ~$1,600
Net LP P&L: $22,361 + $1,600 - $10,000 = +$13,961 (+139.6%)
Hold P&L: $30,000 - $10,000 = +$20,000 (+200%)

LP significantly underperforms holding. Fees of $1,600 don’t compensate for $7,639 in IL.

Break-Even Analysis

The critical question: at what fee rate does LP become worth it?

For IL to be compensated by fees:

fee_revenue ≥ |IL| × initial_value
fee_APY × time ≥ |IL|

For ETH going 5x in one year, with 25.46% IL:

Required fee APY ≥ 25.46% / 1 year = 25.46%

Most ETH/USDC pools have 10-20% fee APY. At a 5x ETH move, LP would need >25% fee yield to break even vs holding. That’s rare.

The Break-Even Price Change for a Given Fee APY

Rearranging: at what price ratio r does IL exactly equal fee income?

|2√r/(r+1) - 1| = fee_APY × time
For fee_APY = 15%, time = 1 year:
|2√r/(r+1) - 1| = 0.15
2√r/(r+1) = 0.85 or 1.15

Solving numerically:

At 15% fee APY, LP wins only if ETH stays within ±45-85% of entry price within one year.

V3 Concentrated Liquidity and IL

In UniswapV3, you provide liquidity in a range [P_a, P_b]. The math changes:

The IL within range is amplified by the capital efficiency factor. For a ±10% range (10.5x capital efficiency):

IL_v3 ≈ IL_v2 × efficiency_factor ≈ IL_v2 × 10.5

A 5% price move in a ±10% V3 range causes roughly the same IL as a 50% move in V2 — but you’re earning 10.5x more fees while price is in range.

V3 LP is profitable only if your range prediction is accurate. If ETH moves from $2,000 and you set range $1,900-$2,100:

When LP Is Actually Profitable

Based on the math, LP makes sense when:

  1. Stable or range-bound assets: Stablecoin pairs (USDC/USDT) have near-zero IL, high fee efficiency
  2. High volume relative to TVL: More fees per dollar of liquidity
  3. Correlated assets: ETH/stETH, WBTC/renBTC move together — IL is minimal
  4. Short time horizon with active management: V3 with tight ranges when you can rebalance frequently

LP is risky when:

The math doesn’t lie: LP is a bet that fees outpace price divergence. Make that bet deliberately.