As we’ve mentioned elsewhere in our yield series, liquidity pools are one of the key focus-points for those seeking passive income in crypto. Not only do they enable traders to buy and sell currencies 24/7/365, they enable anyone to provide liquidity, and earn rewards for doing so.
The pools are governed by smart contracts rather than human overseers, which means you can move your money in and out of various pools to the point of maximum advantage. This strategy is known as yield farming, and the APY can be seriously lucrative if you get your timing right.
The one potential snag is when you invest a token in one of these pools and its value suddenly changes in the ‘wider world’. This causes impermanent loss, and it’s one of the biggest issues in times of volatility.
Ok, that’s a nice summary. But how does impermanent loss actually work in practice?
Think of each liquidity pool as a closed ecosystem, insulated from the rest of the financial world.
It contains only two tokens, which are traded against one another. An algorithm known as an automated market maker, or AMM, adjusts the relative price of the two tokens in response to trading activity. If, for example, you’ve got a pool containing ETH and USDT, and people are buying loads of ETH and selling loads of USDT, then the algorithm will increase the relative value of ETH to reflect its increased scarcity.
The AMM has no frame of reference beyond the activity in the pool itself. It doesn’t consider how the tokens are faring in order-book trading, or on centralised exchanges that receive liquidity from big-name financial institutions.
So there’s the potential for the value of one, or both, of the tokens in the pool to change more dramatically outside than inside.
This is where impermanent loss can occur. And it actually takes two forms: it can affect the value of the tokens you’ve deposited in the pool, and prevent you from seizing the value jump because you’ve already invested your tokens.
Let’s say the price of ETH is currently at 1,000 USDT. One day it suddenly jumps to 1,200 USDT in the wider world but only rises to 1,050 USDT inside the pool.
In this case, arbitrage traders (who are constantly looking for valuation mismatches) will jump into the pool and buy ETH at the cheaper price. This means the balance of the pool shifts towards the lower-value token, as people are adding USDT and taking out ETH.
Yield farmers are free to withdraw their share of tokens from the pool. So, if they’ve contributed 10% of the total liquidity, they’re free to withdraw 10%, too. However, they can’t simply withdraw the same quantities they submitted: the quantities are determined by what’s in the pool at the time they exit.
So, returning to our example above, a trader who withdraws will receive less ETH and more USDT than they put in.
Now, this may not seem a problem at first: the arbitrage traders will have boosted the overall quantity of tokens in the pool, and while the yield farmer will receive slightly less ETH, they’ll receive waaaayyy more USDT and the combined value of their investment will have gone up (and they’ve been receiving fees while their funds have been locked).
However, here’s the thing: if the price of ETH has really jumped in the real world, it may have been more profitable to not invest in the pools at all.
Sure, the farmer has ended up with more USDT, but they’ve missed out on the chance to trade their ETH on regular exchanges and make bigger profits, pursue other options like using their ETH as leverage to secure loans, or simply HODL and watch the price soar still further.
Right, got it. So why is this called impermanent loss?
Well, because the loss doesn’t have to happen.
As a yield farmer, you can simply ride out the valuation change by HODLing in the pool and waiting for the value of your tokens to normalise.
Going back to our example, it may be that in say, a week’s time, USDT has become fashionable and those arbitrage traders are plunging back into the pool to offload their ETH.
But if you choose to withdraw, the losses then become permanent.
Ok, but besides HODLing, how can I avoid impermanent loss?
We get that many yield farmers want to be as fluid and dynamic as possible, and the idea of HODLing their holdings doesn’t really appeal. So we often get questions on how to avoid impermanent loss.
Here are some tips that other traders have pursued. Please note, however, that this is not meant to be trading advice, and you should always do your own research before pursuing any opportunity:
- Invest in low-volatility trading pairs.
One example might be a pool that involves two stablecoins, for example, as their prices aren’t really going to change in the real world (they’re pegged to physical currencies, so can’t move too much).
- Look for pools with impermanent loss protection.
Some pools offer to reimburse liquidity providers if they suffer impermanent loss: in other words, if the value of the opportunity they’ve missed out on is greater than their earnings from the pool. This reimbursement may only be available after a certain amount of time, however.
Right, so how is impermanent loss calculated?
Frankly, this is a really complicated question involving complex mathematical equations, and we think it’ll probably go over the heads of most readers.
Thankfully, however, it’s easy to find an impermanent loss calculator online. Here’s one from CoinGecko.
Ok, that’s great, thanks guys. Anything else to tell me?
Well we’ve got loads of other posts about yield and yield farming.
We think you might enjoy our post about how APY is calculated (it goes well with the impermanent loss calculator stuff), and we’ve also got an explainer on the emerging field of cross-chain yield farming.
And if you want to look at some of the yield farming opportunities we’ve got on rhino.fi right now, you can click directly into the portal below.
Remember, the purpose of this post is to offer information, not trading advice. Crypto assets are volatile and no investment is risk-free. Please be sure to do your own research before pursuing any opportunity, on rhino.fi or any other platform.