If you’re looking at investing in the DeFi market - liquidity pools are a great place to start earning passive income from your crypto. But it comes with risks and one of the biggest is impermanent loss. Learn everything you need to know about impermanent loss and the tax implications in our guide.
Before we dive into impermanent loss - it’s important you understand liquidity pools first.
Liquidity pools are what makes DeFi work. Instead of having a centralized third party - like a crypto exchange - they use investor funds pooled in liquidity pools and automated by smart contracts. This is just the basics of it, you can learn more about precisely how liquidity pools work in our guide.
When you add your crypto to a liquidity pool - you earn a share of the trading fees associated with that liquidity pool. So for example, say you add to an ETH/UNI liquidity pool - you’ll earn a small percentage of fees every time someone makes a trade in that pool. You might also get specific liquidity pool tokens as a reward too.
The price of assets in a liquidity pool is determined by the ratio of assets in it. So investors need to add a trading pair to the liquidity pool - for example if you wanted to add to the ETH/SUSHI liquidity pool, you’d need to add a proportional amount of both ETH and SUSHI tokens. So if you added 1 ETH, you’d also have to add roughly 720 SUSHI tokens at the time of writing. You’ll then earn both ETH and SUSHI from the liquidity pool trading fees.
Sounds like an easy way to make a passive income, right?
It is, but liquidity pools come with an element of risk. One of the biggest is the risk of impermanent loss.
Impermanent loss is better defined as an opportunity cost. Put simply, impermanent loss occurs when you provide liquidity to a given pool and the price of your assets in the pool changes. This is much easier to understand with an example.
You want to add liquidity to an ETH/USDT pool. You need to add ETH and USDT at a 1:1 ratio. To keep things simple we’ll say you deposit 1 ETH and 100 USDT. In this instance - we'll say the price of ETH is $100 to keep the maths simple. So between your 1 ETH and 100 USDT - you've got a $200 total value.
In the pool overall, there’s 10 ETH and 1000 USDT. So you have a 10% share and you’ll earn 10% of the trading fees from the pool.
The way AMMs like Uniswap work is with a constant equation:
x * y = k
X and Y represent the quantities of two tokens in a given liquidity pool, while K is the constant value. In this instance 10 ETH * 1000 USDT = 10,000. This has to remain constant before and after any trades in the pool.
Now let’s say ETH rises to 400 USDT - but the liquidity ratio in the pool still reflects the old price. Arbitrage traders will seize this opportunity. These are traders that spot discrepancies in prices across different markets and buy and sell the same asset in order to profit from those price discrepancies.
In this instance, arbitrage traders would buy ETH at a lower price from the liquidity pool until the price is inline with other markets. By the end of it, we’d have 5 ETH and 2000 USDT in the liquidity pool. But the the constant value would still be the same: 5 ETH * 2000 USDT = 10,000.
If you decide you want to withdraw your funds, you’ll get back 10% of the pool - which would now be 0.5 ETH and 200 USDT, so a total of $400. We’ve ignored trading fees up until this point, but let’s say you also made an additional $20 in trading fees - giving you a total of $420.
However, had you never added your ETH and USDT to the pool, you’d have 1 ETH worth $400 and 100 USDT worth $100. It’s a kind of opportunity cost.
It’s called impermanent loss because if you don’t withdraw and the ratio in the pool returns, you won’t have lost anything. As well as this, in many instances your trading fees will effectively negate any loss.
We used a stablecoin in our example, but pools with stablecoins tend to actually have less exposure to impermanent loss as the assets are less volatile. In instances where you’ve got two potentially volatile assets, the losses can be much greater.
At a basic level - the larger the price change, the greater the loss. But your loss only becomes permanent if you withdraw your capital from the liquidity pool.
Tax on liquidity pool transactions can get complicated - fast. The IRS hasn't yet released any guidance on how liquidity pool transactions are taxed, so we have to interpret the current guidance on crypto tax and apply them as best as possible to DeFi transactions.
When you add to a liquidity pool, you’ll get a liquidity pool token in return representing your capital. So from our example above, when you deposit your 1 ETH and 100 USDT - you’ll get an ETH-USDT liquidity pool token(s) representing your capital in the pool. When you want your assets back, you trade your ETH-USDT LP token(s) back.
From a tax perspective, trading one token for another is subject to Capital Gains Tax. You’ll pay Capital Gains Tax on any profit you make as a result of the trade. We’ll use the example we looked at above as our example here too.
When you deposit your 1 ETH and 100 USDT, you’ll get your ETH-USDT LP token, so you’ve made a trade and you need to figure out if you’ve made any profit from that trade. To do that, you’ll subtract the cost basis of your ETH and USDT from the fair market value of your liquidity pool token. In general, we can assume a liquidity pool token represents the fair market value of the underlying assets. So we know the fair market value of 1 ETH (in this example) is $100 and the fair market value of 100 USDT is $100 - so we can assume the FMV of your ETH-USDT LP token is $200.
For simplicity’s sake, let’s say you bought your 1 ETH and 100 USDT for the sole purpose of adding them to a liquidity pool and when you bought them that day for a total of $200. So you have no realized gain or loss from your trade - but you still need to report the transaction on Form 8949 as a taxable transaction.
When you remove your capital from the liquidity pool, you traded your ETH-USDT LP token(s) back. The cost base of your ETH-USDT LP token(s) is $200 from the day you originally added your capital.
We know from the example above, when you trade your LP token(s) back, they’re worth $420 - so you’ve made a capital gain of $220, which you’ll need to pay Capital Gains Tax on. So even though you’ve technically made a loss compared to what you could’ve made if you held your asset and sold it, you’ll still pay Capital Gains Tax on it. You’ll need to report this transaction on Form 8949 and include the profit in your net capital gain on Schedule D.
This is just one example of how a liquidity protocol can work. If you’d instead earned new tokens in return for your capital in the pool - you’d be more likely to need to pay Income Tax based on the fair market value at the point you receive it.
If you’re an investor in the DeFi space - crypto tax gets complicated and you may have thousands of transactions you potentially need to report to the IRS or other tax authorities depending on where you live.
Koinly crypto tax software simplifies this process for you - letting you get your crypto taxes done in a fraction of the time.
All you need to do is sync the wallets, exchanges or blockchains you use with Koinly through API or by CSV file import. Koinly supports most popular Web3 wallets like MetaMask and Trust Wallet used to interact with DeFi protocols.
As well as this, as DeFi taxes are still unclear and vary depending on where you live - you can customize how you treat your DeFi transactions in your Koinly account. Just head to settings and choose whether or not to realize gains on liquidity transactions.
Once you’ve set your account up - head to the tax reports page where you’ll be able to see your tax summary. This includes your capital gains, losses, income, expenses and more.
You can then download a tax report, ready to submit to your tax authority. Koinly offers many tax reports for investors around the world including the TurboTax report or Form 8949 and Schedule D for US investors and the ATO myTax report for Australian investors.