Your LP position can gain value in dollar terms and still be a loser. That is the part that trips people up. You deposit into a pool, ETH runs, your balance goes up, and you feel smart. Meanwhile you would have had more money doing nothing. The gap has a name, impermanent loss, and the math behind it is simple enough to run on a napkin before you ever hit deposit.
What the name actually hides
When you provide liquidity to an automated market maker like Uniswap, you put in two assets. The AMM prices them with a constant product formula (x times y equals k). As the relative price of the two assets moves, the pool rebalances you, quietly selling the one that is going up and buying the one that is going down. Impermanent loss is the difference between what your assets would be worth if you had just held them and what they are worth sitting in the pool.
The "impermanent" part means that if prices come back to where they were when you deposited, the loss vanishes. In practice prices almost never return to your exact entry, so the name is generous. Divergence loss or rebalancing cost would be more honest.
Running the numbers
Say you put $10,000 into an ETH/USDC pool on Uniswap v2 with ETH at $2,000. That is 2.5 ETH and 5,000 USDC, a clean 50/50 split, and the pool's constant product k is 2.5 times 5,000, or 12,500.
Now ETH doubles to $4,000. The pool has to rebalance so the asset ratio reflects the new price. Run it through the formula and you are left holding roughly 1.77 ETH and 7,071 USDC. Your share is worth 1.77 times $4,000 plus $7,071, which comes to $14,142.
Had you just held the original 2.5 ETH and 5,000 USDC, you would be sitting on 2.5 times $4,000 plus $5,000, or $15,000. The difference is $858, about 5.7% of the hold value. That is your impermanent loss.
Notice your pool position still went up, from $10,000 to $14,142. You did not lose money in absolute terms. You lost relative to holding. That is exactly where LPs fool themselves. They look at a dollar return that is up and never check the number they are actually being measured against.
The loss curve bends
Impermanent loss does not scale linearly with price divergence. Rough figures for a standard constant product AMM:
- 1.25x price change: about 0.6% loss
- 1.5x: about 2.0%
- 2x: about 5.7%
- 3x: about 13.4%
- 4x: about 20.0%
- 5x: about 25.5%
Direction does not matter. Whether ETH doubles or halves against USDC, the loss is the same 5.7%. It tracks the size of the divergence, not which way it went.
For small moves under 25%, the loss is tiny and trading fees usually swallow it. For big moves it stings. Provide liquidity on a token that 5x's and you have handed back 25.5% of what holding would have paid you. If it 10x's, the impermanent loss is around 42%.
Concentrated liquidity turns the dial up
Uniswap v3 added concentrated liquidity, where you pick a specific price range to provide within. It makes your capital far more efficient, you earn more fees per dollar because your liquidity sits where the trading actually happens. It also amplifies impermanent loss, hard.
Put liquidity in a tight band, say plus or minus 10% around the current price, and your capital efficiency might be 10x a full-range position. But once price walks outside your range, you are left holding 100% of the worse asset. In a concentrated position the loss can reach the full value of what you put in if price runs far enough.
I think of concentrated liquidity as leveraged LP. Leveraged fee income, leveraged impermanent loss. For stablecoin pairs that barely move it works beautifully. For volatile pairs it turns into a job, you are basically running a market-making desk, moving your range as price moves. At Blockcircle we treat that kind of position as active management, not something you set and forget.
When fees actually cover it
Impermanent loss is a cost, fees are revenue, and the whole position lives or dies on whether the fees beat the loss over your holding period. On a typical v2 pool with the 0.3% fee tier, you need enough trading volume relative to total liquidity for fees to make up for the divergence.
Pools with high volume against their liquidity depth, major stablecoin pairs or ETH/USDC on mainnet, usually throw off enough fees to more than cover it. Thin pools, obscure token pairs or anything on a low-activity chain, usually do not.
You can size this up before you enter. Pull the pool's 24-hour volume, the total liquidity, and the fee tier. Daily fee income to LPs is roughly daily volume times fee rate, divided by total liquidity. Annualize that and compare it to the impermanent loss you would expect given how volatile the asset has been. If the fee rate wins, the position is probably net positive.
What this means in practice
A few things fall out of the math. The best LP positions are on pairs whose prices move together or mean-revert. Stablecoin to stablecoin, USDC/USDT, has almost no impermanent loss because the two barely diverge. Correlated pairs like ETH/stETH hold up well too.
If you are going to LP a volatile pair, the fee volume has to pay you for it. A 1% fee tier on a volatile pair needs serious volume to justify the risk, and if the pool does not have that volume you are better off just holding the two assets on their own.
Time horizon matters more than people expect. Over short stretches fee income tends to win, because impermanent loss only shows up once prices really diverge. Over months the divergence catches up, and plenty of LPs who looked green for a few weeks watch it flip red as the underlying trends one direction. So run these numbers before you deposit, not after. It is a five-minute calculation, and it is the whole difference between provisioning liquidity on purpose and paying tuition.