Zircon Docs

Impermanent loss in AMMs

Impermanent loss happens when the relative price of the two assets in the pool changes, strongly.
Impermanent loss is a slow rebalancing of your portfolio, where you sell your winners and buy your losers. It’s called impermanent because, technically, if the prices return to your starting point, you won’t have any losses.
In our ETH/USDC example we don’t care too much about USDC’s price, since it’s a stablecoin. But know that in a pool like ETH/BTC, there is only an impermanent loss if one coin outperforms the other (both up or down).
It happens because of the AMM algorithm, and it’s the “price” you’re paying to get those juicy fees. It’s easy to understand why it happens with an extreme example.
Imagine there’s an AMM that lets you buy all of its ETH at $1000. Now imagine that the price of ETH has gone up to $1,010. Anyone could just buy ETH from the AMM and sell it for higher, so the pool will soon have 0 ETH left.
If ETH now goes on a bull run to $1,500, the LPs who supplied liquidity in this pool don’t have anything to show for: they have no ETH, so they don’t benefit from this bull run. They’ve suffered 100% impermanent loss.
At a smaller scale this is what happens on Zircon and other exchanges, it’s just that the AMM algorithm only lets you buy a small amount before updating its own price higher and closing the drain.
Impermanent loss is the bane of the liquidity providers, and many people attempted to “fix it”. We are also doing this, but with a completely different solution to anyone else. Remember though, impermanent loss is impossible to remove, you can only mitigate its consequences.