What is impermanent loss and how to avoid it?
The difference between the LP tokens' value and the underlying tokens' theoretical value if they hadn't been paired leads to IL.
Let's look at a hypothetical situation to see how impermanent/temporary loss occurs. Suppose a liquidity provider with 10 ETH wants to offer liquidity to a 50/50 ETH/USDT pool. They'll need to deposit 10 ETH and 10,000 USDT in this scenario (assuming 1ETH = 1,000 USDT).
If the pool they commit to has a total asset value of 100,000 USDT (50 ETH and 50,000 USDT), their share will be equivalent to 20% using this simple equation = (20,000 USDT/ 100,000 USDT)*100 = 20%
The percentage of a liquidity provider's participation in a pool is also substantial because when a liquidity provider commits or deposits their assets to a pool via a smart contract, they will instantly receive the liquidity pool's tokens. Liquidity providers can withdraw their portion of the pool (in this case, 20%) at any time using these tokens. So, can you lose money with an impermanent loss?
This is where the idea of IL enters the picture. Liquidity providers are susceptible to another layer of risk known as IL because they are entitled to a share of the pool rather than a definite quantity of tokens. As a result, it occurs when the value of your deposited assets changes from when you deposited them.
Please keep in mind that the larger the change, the more IL to which the liquidity provider will be exposed. The loss here refers to the fact that the dollar value of the withdrawal is lower than the dollar value of the deposit.
This loss is impermanent because no loss happens if the cryptocurrencies can return to the price (i.e., the same price when they were deposited on the AMM). And also, liquidity providers receive 100% of the trading fees that offset the risk exposure to impermanent loss.
How to calculate the impermanent loss?
In the example discussed above, the price of 1 ETH was 1,000 USDT at the time of deposit, but let's say the price doubles and 1 ETH starts trading at 2,000 USDT. Since an algorithm adjusts the pool, it uses a formula to manage assets.
The most basic and widely used is the constant product formula, which is being popularized by Uniswap. In simple terms, the formula states:
Using figures from our example, based on 50 ETH and 50,000 USDT, we get:
50 * 50,000 = 2,500,000.
Similarly, the price of ETH in the pool can be obtained using the formula:
Token liquidity / ETH liquidity = ETH price,
i.e., 50,000 / 50 = 1,000.
Now the new price of 1 ETH= 2,000 USDT. Therefore,
This can be verified using the same constant product formula:
ETH liquidity * token liquidity = 35.355 * 70, 710.6 = 2,500,000 (same value as before). So, now we have values as follows:
If, at this time, the liquidity provider wishes to withdraw their assets from the pool, they will exchange their liquidity provider tokens for the 20% share they own. Then, taking their share from the updated amounts of each asset in the pool, they will get 7 ETH (i.e., 20% of 35 ETH) and 14,142 USDT (i.e., 20% of 70,710 USDT).
Now, the total value of assets withdrawn equals: (7 ETH * 2,000 USDT) 14,142 USDT = 28,142 USDT. If these assets could have been non-deposited to a liquidity pool, the owner would have earned 30,000 USDT [(10 ETH * 2,000 USDT) 10,000 USD].
This difference that can occur because of the way AMMs manage asset ratios is called an impermanent loss. In our impermanent loss examples: