TokenTax supports most common Decentralized Finance (DeFi) protocols and platforms automatically, but you may need to also manually edit or import transactions for DeFi, particularly for platforms not automatically supported by TokenTax.
To add DeFi transactions:
Add your Ethereum wallets via the TokenTax wallet import. Listed on this import page is all DeFi platforms that we import transactions for automatically.
If you used DeFi platforms not on this list, you'll need to manually add or edit transactions to incorporate your activity.
Unsupported DeFi transactions are typically imported as deposits or withdrawals. Deposits and withdrawals are not factored into your tax calculations; they are effectively placeholders.
See below how to add specific transactions or edit existing deposits/withdrawals. Note that automatically supported platforms are used in the example transactions, but you shouldn't need to manually enter these platforms as they are automatically supported.
With our VIP plan, our team will handle transactions for you for any unsupported DeFi platforms.
I used an unsupported DeFi platform. What transactions do I need to add?
First, we recommend you be familiar with the basics of how cryptocurrency is taxed as well as the core concepts for DeFi crypto taxes. This will help you to understand what transactions need to be accounted for in TokenTax.
You only need to add any taxable transactions for DeFi. These include:
Swaps / trades
Yield farming income
Exiting a liquidity pool
Taking out and repaying a loan
The transactions listed below may be taxable; the IRS has not issued guidance on whether or not they should be considered taxable events. We recommend you consult your tax professional about how to proceed.
Entering a liquidity pool
Deposits that are a token swap (i.e. ETH -> cETH)
You don’t need to add the following transactions, as they are not taxable events:
Deposits / withdrawals / transfers (i.e. simply moving assets between your own wallets).
Staking / unstaking, unless you swap into a different token to do so (e.g. swapping out of a liquidity pool).
How to enter transactions from your DeFi platforms
If you can also edit existing transactions directly from the All Transactions page. In this process, formatting principles are largely the same as if you would have added a transaction.
Yield farming income
TokenTax will by default import unsupported yield farming income as deposit transactions. Deposit transactions are not incorporated into tax calculations; they need to be income transactions if they were yield farming.
You can change these deposit transactions to be income as explained in the video below. This will accurately account for your income as well as the cost basis of these assets received.
You can also add yield farming transactions directly (instead of editing the deposits TokenTax imports). You would use the “income” transaction type for tokens sent to your wallet as rewards for yield farming.
The asset received goes in the buy columns; the sell columns are left blank. If there’s a market price for the asset, TokenTax will automatically get the market value for assets received and fill this out in the sell columns — this establishes cost basis.
Swaps, trades, and purchases
You can edit existing deposit/withdrawals or manually add trades in order to account for unsupported swaps, trades, and purchases. These transactions will look like normal trades. The asset acquired goes in the buy columns, and the asset exchanged away goes in the sell column.
Airdrops are treated the same as income transactions, but they have their own transaction type to help you organize your transactions.
The asset received goes in the buy columns; the sell columns can be left blank. If there’s a market price, TokenTax will automatically get the market value for assets received.
Deposits where you receive a different token (i.e. ETH -> cETH)
Some DeFi platforms issue tokens representative of your balance. For example, when you deposit ETH into Compound, you receive cETH in return. Likewise, with Aave, you would deposit ETH and receive aETH.
If you and your tax advisor have decided to treat this exchange as a taxable event, you must account for it as a trade transaction.
If you have decided to treat this kind of exchange as a non-taxable event, you can mark it as such by changing its type from trade to migration.