All Collections
Transaction types & labels
LP tokens and liquidity pools
LP tokens and liquidity pools
Written by Eivind Semb
Updated over a week ago

This article will explain how Coinpanda handles adding or removing liquidity on AMM protocols such as Uniswap, PancakeSwap, and Sushiswap.

To add liquidity to a pool, you need to deposit one or more tokens to the pool, and in return, you will receive an LP token as a receipt. In most cases, the LP token will accrue value as long as you keep providing liquidity to the pool. From a tax perspective, this is considered equal to trading since you essentially exchange one or more tokens for another. Let's look at an example:

Example: Adding liquidity on SushiSwap v2

In this example, we have provided liquidity to the WETH-USDC pool on SushiSwap v2. You can see the transaction on Etherscan here.

Summary of all token transfers involved in the transaction:

  • 1.71921274 WETH - added liquidity

  • 2,989.527552 USDC - added liquidity

  • 0.00004401 SLP - LP token received

  • 0.00427354 ETH - fee paid

Coinpanda will automatically identify this as a liquidity transaction and display the multi-asset transaction as seen below:

Some important notes:

  • The acquisition cost of the LP token received will include the total value of the tokens sent to ensure accurate cost-basis tracking and tax calculations. In addition, the acquisition cost includes the transaction fee value since all related fees are usually considered deductible.

  • Coinpanda handles all different types of liquidity transactions automatically, including single-sided liquidity or if you have deposited or withdrawn more than two tokens to a pool.

  • All LP tokens will be shown with their ticker symbol (ex: UNI-V2, SLP, CAKE-LP, etc.), but each LP is identified from its contract address, and the cost basis will be tracked separately for all different pools.

  • Some LP tokens may have a very low amount, such as 0.000000000005 UNI-V2 (12 decimals). However, this is usually not an issue since Coinpanda will consider up to 14 decimals for all LP tokens, although you can only see the first 8 decimals on the Transactions page.

Example: Removing liquidity on Curve

Removing liquidity is essentially the reverse operation of adding liquidity. Coinpanda will calculate the resulting gain/loss for the LP token disposed of using the fair market value (FMV) of the tokens removed from the liquidity pool. Similar to when adding liquidity, all token transfers involved will be shown as a multi-asset transaction:

In this example, we first unstaked the LP token from Convex Finance, which represents the ETH-stETH pool on Curve. After the LP token is received, the liquidity is removed from the Curve pool, and the LP token is burnt.

Which AMM protocols are supported by Coinpanda?

Coinpanda currently supports almost all protocols on all EVM-compatible chains, which includes more than 420 protocols today. In addition to EVM chains, liquidity is supported by the following blockchains:

  • Solana

  • Algorand

  • Osmosis

  • Terra

  • Terra Classic

  • Cardano

  • TRON

  • Harmony

  • Evmos EVM

  • Ronin

  • Meter

  • DeFi Kingdoms

See this article for a list of all protocols currently supported.

What if Coinpanda does not recognize the liquidity transaction?

Although the algorithm developed for detecting and identifying liquidity transactions is fairly complex, it might still happen that some transactions are not detected correctly or the protocol is not supported yet.

In both cases, the best way to get help from our support staff is to send a message in the Live Chat or create a post in our forum here. Make sure that you include the transaction hash in the post so that we can easily debug and update our API integration to correctly handle the protocol or specific LP token.

Did this answer your question?