Impermanent loss is the biggest gotcha for liquidity providers. It’s not intuitive, so I’m going to walk through it step by step. Make sure you understand how AMMs work before reading this.
What is it?
When you provide liquidity to a pool, the AMM formula constantly rebalances your tokens as prices change. Sometimes this rebalancing means you end up with less value than if you’d just held the tokens in your wallet and done nothing.
That difference — what you have in the pool vs what you’d have if you just held — is impermanent loss.
Example: ETH Goes Up
You deposit 1 ETH ($2,000) and $2,000 USDC into a pool. Total deposited: $4,000 (50/50 split).
Now ETH’s price doubles to $4,000.
If you just held (no pool): 1 ETH (2,000 USDC = $6,000
What happened in the pool: As ETH’s price rose, traders bought the cheap ETH from your pool (arbitraging the price difference). The AMM rebalanced your position. You now have something like 0.7 ETH + $2,800 USDC = $5,600.
flowchart TD A["You deposit:<br/>1 ETH ($2,000) + $2,000 USDC<br/>Total: $4,000"] --> B{"ETH price doubles<br/>to $4,000"} B --> C["Just holding:<br/>1 ETH ($4,000) + $2,000 USDC<br/>= $6,000 ✅"] B --> D["In the pool:<br/>0.7 ETH ($2,800) + $2,800 USDC<br/>= $5,600 😐"] D --> E["Impermanent loss: $400"]
You still made money (4,000). But you made $400 less than if you’d just held. That’s impermanent loss.
Example: ETH Goes Down
Same starting point. 1 ETH (2,000 USDC in the pool.
ETH drops to $1,000.
If you just held: 1 ETH (2,000 = $3,000 In the pool: ~1.4 ETH (1,400 USDC = $2,800
You lost money either way. But in the pool, you lost $200 more. The pool gave you more ETH (as it got cheaper) and less USDC, but the rebalancing worked against you.
Why “Impermanent”?
Because the loss only becomes real (permanent) when you withdraw from the pool. If ETH’s price goes back to $2,000, the pool rebalances back and the loss disappears.
It’s like an unrealized loss on a stock — it’s only on paper until you sell. That’s why it’s called “impermanent.”
But if you withdraw while the price has diverged significantly from when you deposited, it becomes very permanent.
When Is It Worst?
flowchart TD subgraph bad["High Impermanent Loss ❌"] B1["Token A moons 🚀<br/>Token B crashes 📉<br/>= Maximum divergence"] B2["One token 10x<br/>while other stays flat"] end subgraph ok["Medium Impermanent Loss ⚠️"] O1["Both tokens move<br/>but by different amounts"] O2["One token changes<br/>by 50-100%"] end subgraph good["Minimal Impermanent Loss ✅"] G1["Both tokens<br/>stay similar in price"] G2["Stablecoin pairs<br/>USDC/USDT/DAI"] end
Worst case: The two tokens in your pool move in opposite directions. One moons while the other crashes. The AMM keeps rebalancing — selling your winner and buying the loser. Painful.
Best case: Stablecoin pairs (USDC/USDT). Both stay near $1, so there’s almost no divergence and barely any impermanent loss. This is why Curve (a stablecoin DEX) is so popular for LPs.
Does It Matter in Practice?
It depends. Impermanent loss is offset by trading fees you earn from the pool. If the pool has high trading volume (lots of fees) and low price divergence, the fees can more than make up for the loss.
The real question is always: Are the fees I’m earning greater than the impermanent loss I’m experiencing?
For popular pools with high volume (like ETH/USDC on Uniswap), the fees usually offset moderate impermanent loss. For low-volume pools with volatile tokens, the fees might not be enough — and you’d have been better off just holding.
How to Minimize It
- Provide liquidity to stablecoin pairs — minimal price divergence
- Choose high-volume pools — more trades = more fees to offset losses
- Avoid extremely volatile token pairs — if one token can 10x or go to zero, impermanent loss will be brutal
- Use concentrated liquidity (Uniswap v3) — more efficient, but also amplifies impermanent loss if price moves outside your range
- Don’t panic withdraw — remember, the loss is impermanent. If you expect prices to converge again, waiting might be better
What’s Next?
Now you understand the main risk of providing liquidity. The last piece of the DeFi puzzle is yield-farming — how people optimize their returns across different protocols.