No button sends your crypto history to the Canada Revenue Agency (CRA) for you. You have to collect the data from each exchange and wallet, work out your gains and losses, and put the totals on your return. Tax software can speed up the calculating, but the accuracy depends on the records you feed into it.
This article is about that data step, which is where most of the trouble starts. It covers what the CRA wants you to keep, how to gather it, how to match transfers and how to check your work. It doesn’t recommend any product, and it makes no claims about how a particular program behaves, because features change and we haven’t tested any.
What the CRA expects you to hold
The CRA has a page on books and records for crypto-assets, and it reads like a checklist for your data. For each transaction you need the number of units and the type of crypto-asset, the date and time, and the value in Canadian dollars at that time. You also need a description of the transaction and the other party.
Beyond individual transactions, the CRA asks for the addresses of each digital wallet you used, and beginning and ending balances with costs for each year. If you use an exchange or other custodial platform, keep its trade ledger (purchases, sales and swaps) and its transfer ledger (deposits and withdrawals). Anyone who mines needs hardware receipts and operating costs as well.
The retention period is at least six years from the end of the last tax year the records relate to. The CRA encourages electronic records and says manual methods are acceptable. It also suggests third-party software for those with many transactions, without naming any.
One line in that guidance deserves emphasis. The CRA advises exporting a history of your activity on a regular basis, so that you still have it if a platform stops operating. Records stored only on someone else’s website are not really yours.
Exporting from exchanges
Most platforms let you download a transaction history as a spreadsheet file. Menu names differ from one platform to the next, so we won’t describe clicks. Look for words like history, statements, reports or export in the account area, and choose the full range of dates, covering every year you traded.
Download everything the platform offers. The CRA’s wording separates trade records from transfer records, so if the platform has two reports, get both. A trade report alone won’t show deposits and withdrawals, and without those you can’t tell an outside purchase from a transfer between your own accounts.
Save the files exactly as downloaded, with the original names, in a folder for each platform. Don’t edit the originals. Work on copies, so that if a question comes up later, you can show the untouched source.
Wallets and on-chain history
Self-custody wallets don’t produce statements. Their activity is recorded on the blockchain, and public explorers show the transactions for an address. That history includes dates, amounts and the addresses involved, but not the Canadian dollar value, which you have to add.
The most important job here is separating transfers between your own wallets from real sales or purchases. The CRA says transferring crypto-assets between wallets that you own is not a disposition. But the blockchain doesn’t know which addresses are yours, so the labelling is up to you.
A practical method is a table of your own addresses, and a rule that any movement between two addresses in that table is a transfer. Everything else is either an acquisition, a disposition or a gift, and needs a closer look. Network fees on transfers deserve a note too, since they reduce your units and can explain small balance differences later.
Bringing it together in software or a spreadsheet
Once you have the files, you need one combined record in date order. There are two ways to get there. You can import the exports into a program built for the job, or you can paste them into a spreadsheet and standardize the columns yourself.
Software helps when the volume is high. It can read several formats, combine them and calculate cost pools automatically. Its weakness is that it treats what you import as true. If one exchange’s export is missing, the program will not warn you that coins appear from nowhere, or it will guess.
A spreadsheet is slower but transparent. Give each row a date and time, an asset, a type of event (buy, sell, swap, transfer, spend), units, the value in Canadian dollars, the fee, and the platform. With those eight columns you can compute nearly anything the CRA asks for.
Either way, decide one rule for time zones. Exchange exports can be in different time zones, and mixing them can put a sale on the wrong side of a purchase in your date order. Pick one zone, convert everything, and note the choice.
Before trusting any output, run a sanity check. Add up units bought, minus units sold, spent or moved out, and compare the result with the balance you can see today. If they don’t match, something is missing or mislabeled.
Valuing everything in Canadian dollars
Many trades happen in a pair such as one coin against another, or in US dollars. The CRA requires values in Canadian dollars, and it wants fair market value at the time of the transaction. It defines fair market value as the highest price a willing buyer and a willing seller, both informed and independent, would agree to in an open market.
Where no direct price exists, the CRA says to use a reasonable method. Acceptable examples in its guidance include the rate from your chosen broker, or an average of the high, low, open and close values across several high-volume exchanges. The rule that matters most is consistency. Use the same method every year, and keep the documentation that shows how you got the numbers.
Here is a small case. You swap 2 units of coin A for 40 units of coin B. At that moment, by your chosen method, coin A trades at $1,500 and coin B at $75. The values agree: 2 times $1,500 is $3,000 and 40 times $75 is $3,000. That $3,000 is your proceeds for coin A, and it becomes your cost for coin B.
Working out adjusted cost base
The adjusted cost base (ACB) is usually the cost of the property plus expenses to acquire it. For identical units bought at different times, the CRA’s capital gains guide says to calculate the average cost of each unit in the group at the time of each purchase.
Here is another example, with new numbers. In January you buy 4 units for $800 in total, so $200 each. In March you buy 6 more for $1,800, so $300 each. The pool now holds 10 units costing $2,600, an average of $260.
In June you sell 3 units for $1,200. The ACB of those units is 3 times $260, which is $780, so your capital gain is $420 and half of it, $210, is taxable. The pool drops to 7 units with a cost of $1,820. In September you buy 5 more for $1,500, and the pool becomes 12 units costing $3,320, an average of about $276.67.
The order matters. Had the September purchase happened before the June sale, the average at the time of sale would have been different, and so would the gain. That’s why the sorted, combined record from the last step is not optional.
A two-platform example
Consider someone who bought on one exchange, moved coins to a personal wallet and sold part of them through a second exchange. On paper it is three accounts. In a record it is a chain, and the chain has to be unbroken.
On the first exchange, you buy 5 units for $1,000 each, so $5,000 in all, and pay a $25 fee. The pool at that platform is 5 units with a cost of $5,025. You then withdraw 5 units to your wallet, and the exchange ledger shows a withdrawal of 4.99 units after a 0.01 network fee. The wallet receives 4.99 units.
Two things follow. The move is not a sale, so no gain arises. But the 0.01 units paid as a fee are gone, and that cost has to be handled somehow. Many people add the cost of the lost units to the cost of the remaining ones, so the pool becomes 4.99 units at $5,025. Others treat the fee as a small disposition. Both are defensible ways of thinking about it, and the amounts are usually tiny, but choose one and apply it every time. If the fee is large, ask a professional.
Next, you send 2 units from the wallet to a second exchange and sell them for $2,600 there, paying a $13 fee. Proceeds are $2,587. The average cost is $5,025 divided by 4.99, roughly $1,007, so the ACB of 2 units is about $2,014. The gain is about $573, and about $287 is taxable.
Notice how much depended on the wallet step. Without the withdrawal row and the receipt row, the second exchange’s sale looks like coins that came from nowhere. That’s the entire reason for tracking transfers.
Capital or business, and what goes where
Everything above assumes capital treatment. The CRA says your activity produces business income or a capital gain depending on the facts. Indicators of a business include frequent trades, short holding periods, market expertise, borrowing and advertising trading services.
For capital treatment, you include half of your capital gains, and you can deduct half of your capital losses only against taxable capital gains. The totals go on Schedule 3. If you do carry on a business, the profit is reported as business income instead, and the self-employed tax calculator helps estimate the bill including CPP.
The capital gains tax calculator is useful for checking single sales as you go. For the full year, add the taxable amount to your other income in the income tax calculator to estimate what you’ll owe.
Foreign platforms and Form T1135
If the total cost of your specified foreign property goes above $100,000 at any time in the year, Form T1135 must be filed with your return. That’s a cost test and not a value test.
Coins held on a platform outside Canada are the grey area. The CRA pages reviewed for this article don’t give a plain answer on whether they count. If your foreign holdings are near that amount, get the CRA’s current T1135 guidance or professional advice before the filing date.
For that reason your records should show where each holding sits and what it cost. The same export folders described earlier do the job, if each platform’s country is noted in your summary. For your own numbers, try the GST / HST calculator, or browse the tax calculators.
Sources
- CRA, Guide for cryptocurrency users and tax professionals
- CRA, Keeping books and records of crypto-assets
- CRA, Determining the value of crypto-assets
- CRA, Reporting income from crypto-asset transactions
- CRA, T4037 Capital gains guide
Common questions
Does the CRA get my crypto data automatically?
Last reviewed: . Figures come from the official sources listed above. How we check the numbers and our editorial policy.