Staking transactions are nuanced and very new from a tax perspective. Most accountants we speak to have different opinions about categorizing these types of transactions, and no tax agency has offered specific guidance around this. Due to this, CTC allows you flexibility in how your staking deposits, withdrawals, and rewards are taxed.
Note: You should discuss these categories and toggle setting with your local tax professionals or directly contact the tax authorities to clarify what category best applies to your circumstances.
Staking Deposits and Withdrawals
There are two scenarios:
1. You deposit a token into a smart contract and receive another token back.
This is quite possibly a sale because you no longer control the underlying asset. There also can be price fluctuations (e.g., due to impermanent loss). You can sometimes even use this new token as collateral or sell it on the market. If you decide this reflects your situation best, you can categorize these transactions as a Sell (or sometimes it would be auto-categorized as a Trade).
Note: The use of Staking Deposit and Staking Withdrawal in this situation will not work correctly as CTC assumes the same token will be returned, not a different one.
2. You deposit a token into a smart contract and do not receive any token back.
You can categorize it as a Staking Deposit. If you decide to use this category, you can also go to the Settings page → Portfolio & Tax → Portfolio to adjust the "Treat staking deposits and withdrawals as non-taxable" toggle.
Whether the toggle is on or off impacts your reports.
You maintain the ownership
Disposal of the assets
Does not change the overall balance
Changes the overall balance
Treat staking deposits and withdrawals as non-taxable
When the staking deposits and withdrawals are treated as non-taxable (toggle on), the withdrawal amount can not be larger than the deposit amount. If the Staking Withdrawal amount is larger, you will need to add a transaction to reflect the change in balance manually. Otherwise, you will have a balance remaining issue that will appear as a Missing Purchase History as there is no cost basis recorded for the extra amount of the tokens.
For example, if the staking deposit is 100 CAKE, and the staking withdrawal is 130 CAKE, the withdrawal transaction should be edited as below.
A Staking Withdrawal transaction of 100 CAKE
Add a Staking Reward transaction of 30 CAKE
You can also duplicate the incoming 130 CAKE transaction and edit them as above.
Note: There will be a Missing Purchase History warning if the Staking Withdrawal quantity > Staking Deposit quantity.
You deposited these coins into a staking pool. This acts similar to a withdrawal.
You withdrew these coins from a staking pool. This acts similar to a deposit. Must not exceed the quantity of the total staking deposit.
You earned interest from staking.
For more details on all the categories: Categorize Transactions