If there is one crypto tax rule that catches Canadians completely off guard, it is this: every time you swap one cryptocurrency for another, you trigger a taxable event in Canada — even if you never touch a Canadian dollar. Trading Bitcoin for Ethereum, swapping ETH for a stablecoin, or converting USDC back to BTC are all taxable transactions under Canada Revenue Agency rules.
This surprises many people who assume taxes only apply when they “cash out” to real money. That assumption is wrong, and it has led to significant unexpected tax bills for Canadian crypto traders who did not realize their swap history created a taxable record spanning thousands of transactions.
At Fullstake CPA, we specialize in Canadian crypto taxation and have helped hundreds of Canadians untangle their trading history and file CRA-compliant returns. This guide explains exactly how crypto-to-crypto trading is taxed in Canada — and what you can do about it. Learn more about our crypto tax services.
Why Are Crypto-to-Crypto Trades Taxable in Canada?
The reason comes back to how the CRA classifies cryptocurrency. The CRA treats all crypto as a commodity — a type of property. Under Canadian tax law, whenever you dispose of property, you realize a capital gain or loss at that moment.
When you trade Bitcoin for Ethereum, the CRA sees two transactions happening simultaneously:
- You are selling your Bitcoin at its current fair market value in Canadian dollars — this is a taxable disposal that triggers a capital gain or loss
- You are buying Ethereum at the same fair market value — this establishes your cost base for the Ethereum
It does not matter that no Canadian dollars changed hands. The CRA requires you to calculate what your Bitcoin was worth in CAD at the moment of the trade, compare it to what you originally paid for that Bitcoin, and report the difference as a capital gain or loss.
This is CRA guidance that has been in place since 2013, confirmed repeatedly since then. It applies to every swap — whether on a centralized exchange, a decentralized exchange, or a DeFi protocol.
How to Calculate the Gain or Loss on a Crypto-to-Crypto Trade
To calculate your gain or loss on any crypto-to-crypto trade, you need three pieces of information:
1. Your adjusted cost base (ACB) of the crypto you are selling
Your adjusted cost base is the average price you paid for all of your holdings of that particular cryptocurrency, including purchase fees. In Canada, you must use the average cost method — not FIFO or specific identification. This means every time you buy more of a coin, your ACB for that coin changes.
2. The fair market value of the crypto you are selling at the time of the trade
This is the Canadian dollar value of the coin you are disposing of at the exact moment the trade occurs. You can use the exchange’s closing price for that day, or the actual trade price if you have it, converted to CAD.
3. Any trading fees
Fees paid at the time of the trade reduce your proceeds of disposition, reducing your taxable gain.
Capital Gain or Loss = Fair Market Value of Coin Sold (in CAD) minus Your ACB minus Trading Fees
Example
You bought 0.5 ETH for $1,500 CAD in January 2025. In August 2025, when Ethereum is worth $4,000 CAD each, you trade your 0.5 ETH (worth $2,000 CAD) for Bitcoin. Your capital gain is $2,000 (proceeds) minus $1,500 (ACB) minus any fees. If fees were $20, your capital gain is $480. With the 50% inclusion rate, $240 is added to your taxable income.
Now imagine doing this calculation for hundreds or thousands of trades across multiple exchanges and DeFi platforms. This is exactly why many crypto traders need professional help.
Stablecoin Trades Are Also Taxable
A common workaround that does not actually work: swapping volatile crypto to a stablecoin like USDC or USDT to “sit out” a market dip. From the CRA’s perspective, swapping Bitcoin for USDC is still a taxable disposal of Bitcoin. You must report the gain or loss on the Bitcoin at the time of the swap.
Even trades to algorithmic stablecoins, wrapped tokens, and synthetic assets are taxable disposals of the original coin. There is no “parking” your crypto in a tax-neutral position within the crypto ecosystem — any swap triggers a taxable event.
DeFi Swaps and Automated Market Makers
The same rules apply to swaps made through decentralized exchanges (DEXs) like Uniswap, PancakeSwap, or Curve Finance, as well as automated market maker (AMM) protocols. Every swap on a DEX is a taxable disposal of the coin you sold, even though no centralized exchange is involved and no Canadian dollar settlement takes place.
DeFi trading adds additional complexity because:
- Swaps happen instantly and often at unusual times
- DEXs may not provide clean transaction histories — you often need to pull data directly from the blockchain or use crypto tax software to reconstruct your history
- Gas fees (transaction fees paid in ETH or other native coins) are part of your cost base calculation
- Providing liquidity to a pool is treated as a disposal of the coins you deposit, and withdrawing them is another disposal
- Impermanent loss is a genuine economic loss but its tax treatment in Canada is unsettled — CRA guidance specifically on DeFi is limited
If you have been active in DeFi, working with a crypto specialist CPA who understands these nuances is strongly recommended.
The Scale Problem: High-Volume Traders
For active traders who made dozens or hundreds of crypto-to-crypto swaps in a year, the calculation burden is enormous. Every single swap requires you to know the CAD value of the coin at the time of each trade, and every purchase changes the ACB of your holdings.
Crypto tax software tools like Koinly, CoinTracker, and Accointing can automate much of this calculation by syncing your exchange accounts and wallets. However, these tools are not perfect — they make errors on complex DeFi activity, have gaps in exchange coverage, and can misclassify transaction types. We use these tools as a starting point, then review and correct the output before filing your return.
What if You Did Not Track Your Crypto-to-Crypto Trades?
If you have been trading actively without tracking your crypto-to-crypto swaps, you are not alone — and it is not too late to address it. The key steps are:
- Download your full transaction history from every exchange you have used, going back to your first trade
- Pull on-chain transaction data from your wallet addresses for any DEX or DeFi activity
- Use crypto tax software to reconstruct your adjusted cost base history
- Have a CPA review the output for accuracy before filing
If you have prior years of unreported crypto trading, the CRA’s Voluntary Disclosures Program (VDP) allows you to come forward and potentially reduce penalties significantly. We handle multi-year catch-up filings regularly and can help you assess whether VDP is appropriate for your situation.
Can You Claim Losses From Crypto-to-Crypto Trades?
Yes — and this is important. Not all crypto-to-crypto trades result in gains. If you sold a coin for less than you paid for it, that is a capital loss. Capital losses from crypto-to-crypto trades can offset capital gains from other disposals (including stock sales or property sales), reducing your overall tax bill.
Unused capital losses can be carried back 3 years or carried forward indefinitely. If you had a particularly bad year of trading, you may have losses you can use to recover taxes paid in previous years or shelter future gains. A CPA who specializes in tax planning can help you use these losses strategically.
Frequently Asked Questions
What exchange rate should I use to convert crypto trades to CAD?
You should use the exchange rate in effect at the time of the transaction. Most people use the exchange’s own rate for the trade, or a reputable reference rate from a source like CoinGecko or CoinMarketCap for that date. Consistency in your methodology matters — use the same source throughout your records.
Do I have to track every single trade, even micro-trades?
Technically yes. The CRA requires you to report all disposals of cryptocurrency. In practice, the effort of tracking very small trades may be disproportionate to the gain or loss involved, but every trade technically creates a tax obligation. Crypto tax software makes this more manageable.
What if I traded on foreign exchanges — do I still owe Canadian tax?
Yes. Canadian tax law applies based on your Canadian residency, not where the exchange is based. If you are a Canadian tax resident, you owe Canadian tax on all worldwide crypto income and gains, regardless of which country the exchange operates in.
Are wrapped tokens taxable swaps?
Wrapping a token — for example, wrapping ETH into WETH — is generally considered a taxable disposal under CRA guidance, as you are exchanging one asset for another. This is an area where CRA guidance is still developing. We recommend treating wrapping and unwrapping as taxable events to take the conservative position.
If I lost money on trades, do I still have to file?
Yes — you should file regardless of whether you made a profit or a loss. Reporting losses creates a capital loss carryforward that can be valuable in future years when you have gains to offset. Failing to file at all creates other risks entirely.
Let Fullstake CPA Handle Your Crypto Trading History
Tracking and reporting crypto-to-crypto trades correctly is one of the most technically demanding tasks in Canadian tax preparation. It requires accurate data, careful ACB calculations, and knowledge of how the CRA currently treats each type of transaction.
Fullstake CPA has been handling crypto tax returns since 2017. We support clients with trading histories across 100+ exchanges, DeFi protocols, NFT platforms, and mining operations. We work with you to reconstruct your history, identify every deduction, and file an accurate, defensible return.
Learn more about our crypto tax services, explore our bookkeeping services for crypto businesses, or book a free consultation with our team. We serve clients across all of Canada, entirely remotely.
