How to correctly categorize transactions
It is important to recognize the different categories of transactions used in CryptoTaxCalculator as they each have different tax implications. CryptoTaxCalculator attempts to automatically map transactions back to categories that make sense from a traditional accounting perspective.
To better understand these different categories, this article will provide an overview of each transaction category and their tax implications:
These are the default categories that are used if we are unable to auto-categorize the transaction or make a accurate assumption as to what the category should be. To be on the safe side, an incoming transaction is marked as an 'Incoming', as it is considered as an acquisition of the underlying asset (from a tax perspective). Similarly, an outgoing transaction is marked as an 'Outgoing' as it is considered as a disposal of the asset, which will triggers a capital gains tax event.
The 'Incoming' and 'Outgoing' transaction types will also impacts the balance remaining; an incoming transaction will increase your overall balance remaining, and an outgoing transaction will decrease this.
A 'Buy' transaction represents the acquisition of the underlying asset (i.e. the purchase of the cryptocurrency). It used to calculate the cost basis for future cryptocurrency sales. This does not trigger a capital gains tax event.
A 'Sell' transaction represents the disposal of the underlying asset (i.e. the sale of the cryptocurrency). As a result, this sale triggers a capital gains tax event. The capital gain/loss is calculated based on the cost base of the asset (the price of the asset at the time of acquisition + any additional fees incurred due to the acquisition/disposal of the asset) and the value of the asset at the time of sale.
Specifically, the capital gain/loss is the 'received amount' minus the 'cost base'.
A 'Send' or 'Receive' transaction is used to represent the movement of an asset between different wallets, exchanges or accounts, where you maintain control of the underlying asset. As you do not 'dispose' of the asset, this transaction type does not trigger a capital gains tax event.
- Sending cryptocurrency from an online exchange to your hardware wallet.
- Receiving cryptocurrency from an online exchange to your hardware wallet.
- Depositing cryptocurrency to a staking contract where you maintain ownership of the asset.
- Withdrawing cryptocurrency from staking contract where you have maintained ownership of the asset.
If our auto-matching transfer algorithm has been able to link together a 'Send' and 'Receive' transaction together, then it will be marked as a 'Transfer'. Criteria for being auto-matched includes, but is not limited to:
- the 'Send' and 'Receive' transaction occurs less than 1 hour apart,
- the underlying cryptocurrency transferred is the same,
- the underlying quantity and valuation is similar (taking into account any fees paid) for both the 'Send' and 'Receive'.
Example: You import data from Exchange A, which has a 'withdrawal' of 1 BTC. Additionally, you import data from Exchange B, which has a 'deposit' of 1 BTC. Both transactions occur within a 15 minute time frame. As a result, our algorithm will group these two separate transactions together as a 'Transfer'.
A 'Chain Split' transaction is used if you acquired a new cryptocurrency as a result of a chain split (such as Bitcoin Cash being received by Bitcoin holders). There is no income or capital gains tax event at the time of receiving the new cryptocurrency. The new cryptocurrency received will have a cost basis of $0 for future trades.
Please note you must take care to determine which of the underlying assets is the 'continuation' of the original chain and which is the 'new' chain.
An 'Airdrop' transaction is used if you acquired cryptocurrency as a result of an airdrop.
If you have chosen to Treat airdrops as income in your tax settings, proceeds from airdrops would not trigger an immediate capital gains taxable event but would be classified as income and trigger an income tax event. Any future sale of the cryptocurrency is a capital gain event with a cost basis the same as the income price.
Example: You are airdropped 1 yearn.finance when its price is $100/YFI, and you sell a week later when the price is $10,000/YFI. Your income is $100 and capital gains is $10,000 - $100 = $9,900.
If you have chosen not to Treat airdrops as income in your tax settings, proceeds from airdrops would be treated as a "zero cost buy" and will not trigger an income or capital gains tax event, upon their receipt. You will however, trigger a capital gains tax event when you dispose of the airdropped coins.
Example: You are airdropped 1 yearn.finance when its price is $100/YFI, and you sell a week later when the price is $10,000/YFI. Your income is $0 and capital gains is $10,000 - $0 = $10,000.
A 'Mining' transaction is used if you acquired cryptocurrency as a result of mining activities as a hobby (e.g. BTC mining). Any cryptocurrency you receive as a result of your mining will be considered a new asset with a cost base of zero. This means that if you sell or trade them, you’ll incur a capital gain equal to the total amount received.
Example: You mined 1 bitcoin when its price is $1,000/BTC, your cost base is zero. If you sell six months later when the price is $5,000/BTC, your capital gains are $5,000.
An 'Interest' transaction is used if you acquired cryptocurrency as a result of interest-bearing activities which don't suit any of the other categories (e.g. earnings from lending, DEFI yield farming, high-interest cryptocurrency savings account, etc. Note - Liquidity Pool Tokens (LPTs) do not count as income and are normal trade/crypto-crypto swaps (buy/sell)). Proceeds from interest do not trigger an immediate capital gains taxable event but are classified as income; any future sale of the cryptocurrency is a capital gain event with a cost basis the same as the income price.
Example: If you received 100 Sushi when its price is $10/SUSHI, you sell one month later when the price is $1/SUSHI, your income is $1,000 and capital loss is $900.
An 'Income' transaction is used if you receive cryptocurrency through a salary, wage or other form of general income (including referrals, completing surveys, etc). Proceeds are classified as income, based on the price when the transaction occurs. Any future sale of the crypto is a capital gain event with a cost basis the same as the income price.
A 'Personal Use' transaction is used if you have disposed of cryptocurrency for the purpose of purchasing goods or services.
A 'Lost' or 'Stolen' transaction is used if you have lost cryptocurrency or have had it stolen (e.g. 'rugged' by scammers). This will trigger a capital loss tax event, where the loss = ($0 - the cost base of the cryptocurrency).
A 'Gift' transaction is used if you have received cryptocurrency as a gift. Similar to a 'Buy' transaction type, the capital gain/loss is calculated based on the price at sale and price when the gift is received. Receiving cryptocurrency as a gift does not trigger a capital gains or income tax event.
A 'Fee' transaction is used if you have disposed of cryptocurrency to cover the cost of fees generated as a result of other transactions.
- Fees paid when withdrawing cryptocurrency from a centralized exchange to your personal wallet.
- Gas fees paid during on-chain Ethereum swaps when interacting with decentralized exchanges. You can read more details about Ethereum gas fees here: https://cryptotaxcalculator.io/guides/eth-gas-fees-tax
A 'Cashback' transaction is used if you have acquired cryptocurrency as a cashback (e.g. credit card cashback). Classified similar to a 'Buy' transaction type (the cost base at the time of acquisition), this transaction type does not trigger an income event.
An 'Ignore In' or 'Ignore Out' transaction is used for ignoring a particular transaction from tax and balance calculations. This is a useful 'soft' alternative to deleting a transaction.
A 'Failed In' or 'Failed Out' transaction is used for marking failed transactions (whether in or out). The transaction itself will be ignored from tax calculations, but any fees incurred from creating the transaction will be accounted for."
- You tried to send ETH to someone during a period of high network congestion and you ran out of gas.
A 'Realized Profit' or 'Realized Loss' transaction is used for when you have realized a profit or loss (respectively) on an for margin, futures, derivates, etc. type trades, where a profit or a loss has been realized on the trade. Proceeds from these trades count are classified as income.
A 'Loan' is when you receive crypto or fiat as a result of providing collateral.
A 'Loan Fee' transaction represents a fee or interest paid to maintain an open loan position. This can be associated with margin, futures, CFD, derivates, etc. types of trades, as well as standard loans.
A 'Loan Repayment' transaction is used when repaying the collateral on a loan. This is separate to any fees or interests charged for maintaining the loan. The disposal of cryptocurrency can trigger a capital gain (or loss) on the difference from your purchase price.
A 'Liquidate' transaction is used when the lending platform has liquidated your collateral to cover their losses if a loan is not paid back or due to price volatility. This liquidation can create result in a realized capital gain (or loss) event.
A 'Fiat Deposit' or 'Fiat Withdrawal' transaction is used when you deposit or withdrawal fiat currency into or out of a fiat onramp exchange.
- Depositing fiat onto an exchange from your credit card.
- Withdrawing fiat from an exchange into your bank account.
The information provided on this website is general in nature and is not tax, accounting or legal advice. It has been prepared without taking into account your objectives, financial situation or needs. Before acting on this information, you should consider the appropriateness of the information having regard to your own objectives, financial situation and needs and seek professional advice. Cryptotaxcalculator disclaims all and any guarantees, undertakings and warranties, expressed or implied, and is not liable for any loss or damage whatsoever (including human or computer error, negligent or otherwise, or incidental or Consequential Loss or damage) arising out of, or in connection with, any use or reliance on the information or advice in this website. The user must accept sole responsibility associated with the use of the material on this site, irrespective of the purpose for which such use or results are applied. The information in this website is no substitute for specialist advice.