The Snowy Night I Realized My Spreadsheets Were a Mess
It was a February freezing rainstorm in East York. I was sitting at my kitchen table with about twelve different exchange spreadsheets open on my laptop, empty coffee mugs scattered around like debris from a shipwreck. My head was spinning. My automated tax software had just calculated that I owed more money than I actually had in my bank account, and I had no idea why.
That is when reality hit. Decentralized does not mean invisible. The Canada Revenue Agency knows about my coins.
I had spent the last year casually trading crypto. Nothing crazy, or so I thought. But now, staring at these numbers, I realized I had no idea how the CRA actually taxed this stuff. I did not know if I owed capital gains tax or business income tax. I did not know about inclusion rates or form T1135. I definitely did not know that my cost basis calculations were probably wrong.
My Research Process
I decided right then that I was not going to pay an accountant $2,000 to explain something I could understand myself. So I started researching. I spent hours digging through the public resources on Canada.ca, looking at CRA notices of assessment, and reading through tax act sections in quiet corners of the Toronto Reference Library on Yonge Street.
Then I called the CRA helpline. I waited on hold for 45 minutes listening to their default hold music, but when I finally got an agent, she was actually helpful. I took careful notes. I asked clarifying questions. I explained my situation without giving away anything that would trigger an audit.
I also bounced my findings off my neighbor who works in municipal administration. He was not a tax expert, but he knew how government systems worked, and he helped me sanity-check some of my interpretations.
What I Learned
After weeks of research, a few clear patterns emerged. These are the things that actually matter when you are sitting down to file your crypto taxes in Toronto:
- The CRA uses chain-analysis software and has court orders against Canadian exchanges. They can see your transactions. They know your name, address, and trade history.
- You are taxed as either a capital gains investor or a business trader. How you act determines which one you are, not what you call yourself.
- The capital gains inclusion rate is changing in 2025 and 2026. For individuals, the first $250,000 in gains is taxed at 50% inclusion. Everything above that is taxed at 66.67% inclusion.
- Form T1135 is mandatory if you hold over $100,000 in foreign cryptocurrency. Missing it costs $25 per day, up to $2,500 per year, plus interest.
- Your tax software is probably wrong. It defaults to FIFO cost basis instead of Canada’s weighted average ACB. It treats wallet transfers as sales. It misses the superficial loss rule.
My Run-In With the Business Income Distinction
The first thing that scared me was realizing I might owe business income tax instead of capital gains tax. I was not running a trading business, or so I thought. But then I added up my trades. I had made about 80 transactions in the past year. I had set up a couple of automated trading bots to test out scalping strategies. I had spent hours every evening researching coins and tracking prices.
The CRA looks at several factors to determine if you are running a business. They ask: How many trades did you make? Did you use specialized trading knowledge or bots? How much time did you spend? Are you supporting yourself from trading, or is it a side thing? Were you planning to make a profit?
In my case, I was doing this on the side while working my regular job. I was not living off the income. I was not a full-time trader. But the frequency of my trades and the use of bots made me nervous. I realized that if the CRA decided my activity was business income, my tax bill would essentially double. Instead of paying tax on 50% of my gains, I would pay tax on 100% of them.
I made a decision right then. I was going to keep detailed records of my trading activity, my time spent, and my intentions. I also decided to dial back the bot activity and focus on a longer-term holding strategy. The difference between capital gains and business income was too big to leave to chance.
Grasping the New Capital Gains Inclusion Rates
The second shock was understanding how the new capital gains rules actually work. For most of my life, the inclusion rate had been 50%. That meant if you made $100,000 in profit, you only paid tax on $50,000. It was a fair deal that encouraged Canadians to invest.
But in 2025 and 2026, that changed. Now, if you are an individual and your capital gains exceed $250,000 in a single year, the inclusion rate on the excess jumps to 66.67%. That is roughly two-thirds. For corporations, it is even worse. The 66.67% rate applies from the first dollar of gains.
Let me walk through a concrete example with real numbers, because this is where it gets serious. Imagine I had sold a significant chunk of Ethereum this year and locked in a $500,000 profit. Here is how the tax works under the new rules:
A Quick Math Check on My Old Trades
For the first $250,000 of my gain, I would be taxed at the 50% inclusion rate. That means I would pay income tax on $125,000. In Ontario, at the top marginal rate of about 53%, that would cost me roughly $66,000.
For the remaining $250,000 of my gain, I would be taxed at the 66.67% inclusion rate. That means I would pay income tax on approximately $166,500. Again, at the 53% marginal rate, that would cost me roughly $88,000.
So on a $500,000 gain, I would owe about $154,000 in tax. That is roughly 31% of my entire gain. Under the old 50% inclusion rate across the board, I would have only owed about $133,000. The difference is more than $20,000.
And that is just federal and provincial income tax. There could be other complications depending on how the gain was realized, when, and whether I am considered a trader versus an investor. This is why I started to understand that casual math on a spreadsheet is not enough. The tax code has layers.
Why I Found Out Simple Software Is Not a Magic Wand
I thought I could just plug my exchange API into a tax software, let it calculate everything, and be done. I tried Koinly. I tried CoinLedger. I plugged in my API keys and watched the software connect to my Kraken, Coinbase, and old trading accounts. Within seconds, it had pulled in thousands of transactions and spat out a number.
But then I started checking the details. And that is when I realized something was very wrong.
The Adjusted Cost Base Headache
Canada uses something called weighted average Adjusted Cost Base (ACB). It is a specific method for calculating what you paid for an asset on average. When you sell, you use that average cost to figure out your gain or loss.
But most tax software, especially software designed in the United States, defaults to something called First-In, First-Out (FIFO). In FIFO, you assume you sold the oldest coins you bought first. This is not how Canadian law works. The CRA requires ACB for most investors.
I did not realize this until I was spot-checking my software results against my manual calculations. My software had calculated a gain of $8,500 on a particular Bitcoin trade. When I manually calculated using the weighted average method, the actual gain was $4,200. That is a difference of $4,300, which at the 53% marginal rate would cost me about $2,300 in extra tax.
I went back and toggled the settings in the software. I made sure it was set to ACB, not FIFO. I regenerated the report. Now the numbers matched. But this taught me a valuable lesson: software is a starting point, not an end point. I had to verify everything.
Getting Tripped Up by the Superficial Loss Rule
The next issue I discovered was even more insidious. I had sold some Ethereum at a loss in November, hoping to offset some of my Bitcoin gains for tax purposes. It is a legitimate strategy called tax loss harvesting. The CRA allows it.
But then in December, I bought Ethereum again. I felt the price was cheap and wanted to get back in. I did not think about it at the time, but this is where the superficial loss rule comes in.
In Canada, if you sell an asset at a loss and you, or your spouse, or any corporation you control buys it back within 30 days, the CRA denies that loss. It is designed to prevent people from gaming the system by selling losers just for the tax deduction and immediately buying back in.
My software had flagged this transaction as a loss and gave me the tax credit. But it did not automatically catch the repurchase within 30 days. I had to manually review my transaction history and add a note that this loss would be denied. If I had filed without checking, the CRA computer system would have matched the dates, auto-flagged me for review, and opened an audit that could have looked at everything I had done, not just that one trade.
The Form T1135 Realization: Storing Across the Border
The most important discovery I made was about Form T1135. This is a reporting form that most casual investors have never heard of. But if you hold cryptocurrency, it is critical.
The rule is simple: if you own specified foreign property with a total cost base exceeding $100,000 CAD at any point during the calendar year, you must file Form T1135 with your tax return. Cryptocurrency held on foreign exchanges like Binance, Coinbase, or Kraken is considered foreign property.
The key question I had to answer was: what counts as foreign property? If I have Bitcoin on a Ledger wallet in my desk drawer in Toronto, is that foreign or Canadian property? The answer, I learned, is murky. Most tax experts say that if the wallet is under your control and you are the one holding the private keys, it might be considered Canadian property. But if your crypto is sitting on Coinbase in California, it is definitely foreign.
I went through my transaction history and calculated the total cost basis of all my crypto that was sitting on foreign exchanges at various points during the year. I had bought Bitcoin in 2021 on Kraken, held it, and eventually transferred it to a cold wallet. At the time of purchase, it was on a foreign exchange. The cost basis was $85,000. Later in the year, I bought more Ethereum on Coinbase, bringing my total foreign property cost base to $165,000 at its peak. That exceeded the $100,000 threshold.
This meant I was obligated to file Form T1135. I had no idea this form even existed until I started researching. The penalty for not filing is $25 per day, capped at $2,500 per year. It also accrues interest. So if I had missed this form and the CRA caught it, I would owe the penalty plus interest on back taxes, and the CRA would take an extra close look at my entire return.
I learned that there is something called the Voluntary Disclosure Program (VDP). If you have missed filing T1135 forms in prior years and you come forward before the CRA contacts you, you can potentially waive the penalties and just pay the taxes owing plus interest. But you have to initiate contact first. Once the CRA opens an audit, you cannot use VDP.
Staking, TFSAs, and Living in a High-Tax City
I had also been experimenting with DeFi staking on some of my coins. I was earning a little bit of Ethereum through staking rewards. I did not think much about it at first, but once I started researching taxes, I realized this was creating a complicated two-layer tax situation.
The first layer happens when the staking reward is deposited to my wallet. On that day, the reward is treated as regular income. I have to declare the fair market value of the Ethereum I received as income on that date. If I received 0.5 ETH on a day when Ethereum was worth $3,000, I have to report $1,500 as income.
The second layer happens when I eventually sell that Ethereum. Let us say I hold it for six months and then sell it for $3,500. Now I have a capital gain of $2,000 on that staked Ethereum. So I have paid income tax on $1,500, and now I am also paying capital gains tax on the $2,000 gain. It is a double tax situation.
This is compounded by living in Ontario, which has one of the highest marginal tax rates in North America, over 53%. Every dollar of income or gains is heavily taxed. The cost of living in Toronto is already astronomical. Paying 53% on staking rewards felt like pouring salt in the wound.
I also learned about TFSAs, Tax-Free Savings Accounts. I have a TFSA, and I thought about stashing some crypto in there to avoid taxes. But I learned that the CRA does not allow direct holdings of cryptocurrency in a TFSA. You cannot store Bitcoin on a hardware wallet inside a registered account.
However, you can hold crypto-related investments in a TFSA, like Bitcoin ETFs or mining company stocks. The risk is day-trading. If you actively day-trade crypto stocks inside your TFSA, the CRA can deem your entire account to be carrying on a business, not an investment. In that case, all the gains in the TFSA become taxable business income, and you lose the tax-free status of the account entirely. I decided to use my TFSA for longer-term, buy-and-hold positions only, not for frequent trading.
Max’s DIY Tip
The single most useful thing I did was create a manual transaction log in a spreadsheet that I maintained separately from any software. Every time I made a trade, bought, sold, or transferred crypto, I entered it into my own spreadsheet with the date, amount, price, exchange, and notes. I kept this alongside the raw CSV files that I downloaded from each exchange. This gave me a paper trail that I could verify against any software calculation. If something did not match, I had the raw data to fall back on.
Max’s DIY Checklist
By the time I was ready to file, I had created a checklist that I go through every January now. First, I download the raw CSV files from every exchange I used during the year. Second, I enter all transactions into my manual spreadsheet and verify the totals match the software. Third, I calculate my ACB for each cryptocurrency using the weighted average method. Fourth, I identify any trades that might be flagged as business income and document my reasons for treating them as capital gains. Fifth, I check for any superficial loss situations within 30 days of trades. Sixth, I calculate the total cost basis of all foreign property and determine if I need to file Form T1135. Seventh, I look at any staking rewards and make sure they are properly recorded as income plus subsequent capital gains. Eighth, I identify any capital losses that can be carried back or forward. Ninth, I generate a final summary showing all taxable gains and losses for the year. Tenth, I review everything one more time before submitting my tax return.
Why I Decided When to Handle It Myself and When to Ask Around
After all this research, I had to make a decision. Was I confident enough to file this myself, or did I need to hire a professional? The answer was: a bit of both.
I was confident in my understanding of the basic rules and the calculation methods. I had spent weeks learning the nuances and cross-referencing everything against official CRA documents. But I was not a certified accountant, and I knew there were edge cases and grey areas where I could be wrong.
I decided to handle the calculation and documentation myself, but I set aside a budget to have a professional review my work before I filed. I found a local accountant in Toronto who specializes in crypto taxation. I sent her my spreadsheets and my software reports, and I asked her to spot-check my work and tell me if there were any red flags or issues I had missed.
She found a couple of minor things. I had classified one trade as business income when it probably qualified as capital gains. I had missed a small staking reward from earlier in the year. But overall, my work was solid. She made a few adjustments, and we filed a return that I felt confident about.
The cost of that professional review was maybe $600. That seemed like money well spent to avoid a potential audit or penalty that could have cost thousands.
Final Thoughts
Looking back at that February night when I was staring at my laptop screens and empty coffee mugs, feeling like my head was going to explode, I realize that I learned something valuable. Taxes are not magic. They are not impossible. They are just rules, and if you take the time to understand them, you can apply them correctly.
I am not a certified public accountant or a tax lawyer. I am just a regular Toronto guy who got frustrated with not understanding his own financial situation and decided to spend some time learning. Now I feel like I have a handle on what I owe and why.
The CRA knows about your crypto. They have software that tracks the blockchain. They have court orders that give them access to exchange data. They have an aggressive audit team. You cannot hide from them, and you should not try. But you can understand the rules, follow them, and minimize your tax bill within the law.
Every February now, I sit down with my spreadsheets and my checklists, and I prepare my taxes with confidence. It takes a few hours, but it is time well invested. And I know that if the CRA ever comes calling, I have documentation that backs up every number on my return.