On the previous blog post, we have examined why users provide liquidity to Liquidity Pools in decentralized exchanges (DEXs). The fundamentals of liquidity pools solve some major issues of centralized alternatives. In addition, Automated Market Makers (AMMs) serve as a tool to determine token prices and ensure that there is available liquidity for trading pairs. However, a main issue for liquidity providers is the possible loss of capital due to Impermanent Loss.
Table of Contents
What is Impermanent Loss?
Impermanent Loss is the difference between holding a crypto token in comparison to providing liquidity for the crypto token. For example, it is the difference on capital between holding ETH and SWAP against providing liquidity for the SWAP/ETH liquidity pool on Uniswap. The loss takes place only when a liquidity provider withdraws Liquidity Pool (LP) tokens. The liquidity provider may still yield a profit after withdrawing LP tokens. However, if impermanent loss occurs, the profit would be higher if he/she just held the tokens in a wallet.
Impermanent loss usually occurs when a token of a trading pair is significantly more volatile than the other token. For instance, impermanent loss is possible during times of crypto volatility on the USDT/ETH trading pair. This is because ETH would fluctuate in price and USDT is pegged to the relatively stable value of USD.
Calculation of Impermanent Loss
Let’s take the example of a USDT/ETH liquidity pool, where Bob, a liquidity provider, provides an equal value of both tokens. Bob wishes to provide a liquidity of $1,000 in total for both tokens (i.e. 500$ for each one), and the current market price of ETH is $5,000. Thus, Bob will provide 500 USD tokens ($1 each) and 0.1 ETH tokens.
Note that as we demonstrated in the previous blog post, many DEXs calculate token prices via the constant product formula: x (the amount of USD tokens in the pool) * y (the amount of ETH tokens in the pool) = k (constant). Therefore, 500 (x) * 0.1 (y) = 50 (k)
The role of Arbitrageurs
Price fluctuations are relatively common in crypto markets. Let’s assume that some days later the price of ETH in CEXs increases to $7,500. This is an opportunity for arbitrageurs to jump in and buy ETH from the liquidity pool at a relatively lower price from CEXs. Therefore, according to the constant product formula, as arbitrageurs buy ETH from the pool (thereby removing ETH tokens from the pool), the price of ETH rises.
Bob does not know the amount of his profit/loss until he withdraws his tokens from the liquidity pool. This calculator uses the initial and future token prices to calculate potential losses (excluding the calculation of fees). In our example, the calculation derives the following results:
Impermanent loss: 2.02 %
If $500 of USDT and $500 of ETH were held:
– Bob has 500 USDT and 0.1 ETH
– Value if held: $1,250.00
If $500 of USDT and $500 of ETH were provided as liquidity:
– Bob has 612.37 USDT and 0.08 ETH (in liquidity pool)
– Value if providing liquidity: $1,224.74
The impermanent loss looks minor in this case, but it would be proportionately higher if Bob provides a significant amount of liquidity e.g. ($100,000 for each token). In such a case, the total value of tokens if held by Bob would be $250,000 vs. $244,949 if Bob provided liquidity to the pool.
How to avoid Impermanent Loss?
In the example above, if Bob withdraws his LP tokens, the impermanent loss becomes permanent loss. If Bob does not withdraw his LP tokens and the price of ETH goes back to $5,000, the impermanent loss is eliminated.
Besides awaiting the price to shift back to his favour in order to erase his losses, Bob can consider some additional actions before providing liquidity to a pool in order to eliminate the impermanent loss risk.
Liquidity providers tend to provide liquidity for stablecoins, which means that the risk of impermanent loss is removed. However, providing liquidity for stablecoins in a crypto bull market is not beneficial, since users lose the opportunity to increase their holdings by investing in another token. Consequently, providing liquidity for stablecoins in a bear market, will earn trading fees instead of losing capital. This kind of liquidity pools usually attracts more capital than pools with unstable tokens.
Liquidity providers on Uniswap and other DEXs gain a 0.3% fee, proportionally distributed according to their stake on the pool. This implies that even at a state of impermanent loss, liquidity providers may still be able to earn significant profits. This occurs if the value of trading fees exceeds the value of impermanent loss. Furthermore, some liquidity protocols reward liquidity providers with additional governance tokens i.e. liquidity mining.
Identifying low volatility pairs where price rises and declines are similar for both tokens, is an ideal method to avoid impermanent loss. This requires monitoring the crypto landscape and identify similar price trends between trading pairs. Additionally, a similar principle is applied by some protocols which allow liquidity to be provided for only one token instead of a pair.
Alternative Liquidity Protocols
Some protocols like Balancer allow arbitrary token weights such as a ratio of 80:20 or 95:5 instead of 50:50. Providers wishing to maintain exposure in a specific token participate in such pools. This eliminates the possibility of impermanent loss for that token. The higher the weight of a token in such a pool, the smaller is the difference between holding the token and providing liquidity for that token.
Furthermore, the use of price oracles that automatically adjust weights based on external sources minimises the risk of impermanent loss. Bancor V2 integrates Chainlink oracles to provide this feature to liquidity pool providers.
Liquidity providers can experience impermanent loss by both increases and declines of token prices. It does not really matter which of the two tokens is fluctuating. We can consider several methods to eliminate impermanent loss like providing liquidity for stablecoins and using alternative liquidity protocols that adjust token weights.
The important aspect is to be able to calculate overall returns in comparison to a possible impermanent loss. Using yield farming protocols is an ideal technique to keep returns above potential losses.