How I Sorted My Bitbuy Taxes: A Toronto DIY Taxpayer’s Walkthrough

No time to read?
Get a summary

The Night My Computer Screen Told Me I Owed $15,000 to the CRA

I was sitting at my kitchen table in East York on a freezing February night, my laptop screen glowing in the darkness while snow piled up against the window outside. My tax software had just finished importing my Bitbuy transaction history, and the warning message made my stomach drop. It said I owed the Canada Revenue Agency over $15,000 on trades that I knew had barely made me any money. I stared at the numbers in disbelief, scrolling back through my activity logs trying to figure out what had gone so horribly wrong.

That’s when I realized the software had calculated my cost basis as zero. Every single purchase I’d made was treated like I’d gotten the Bitcoin for free, which meant the entire sale price was taxable profit. I wanted to throw my laptop out the window, but instead, I put on a second sweater, made some tea, and decided I was going to figure this out myself. I’m just a regular Toronto guy who likes doing things himself, not a certified accountant, so this is just my own experience. But I knew that night had to count for something.

Over the next few weeks, I pulled together everything I’d learned about exporting Bitbuy data, understanding Canadian tax rules, and avoiding the mistakes that almost cost me thousands of dollars. If you’re reading this because you’re in a similar situation-staring at confusing numbers and wondering how to get your crypto taxes sorted-then this walkthrough is for you.

What I Discovered About Bitbuy and the CRA

Before I could fix my tax mess, I needed to understand something fundamental: does Bitbuy actually report to the CRA, and if so, what was I dealing with?

  • Bitbuy is a registered Money Services Business (MSB) with FINTRAC. This means they’re fully compliant with Canadian financial regulations. They’re not some sketchy offshore exchange-they followed the law, and the CRA knows exactly who trades there.
  • The CRA has court orders and legal authority to request user data from exchanges. I realized that assuming the CRA didn’t know about my account was naive. They probably already had records of my trading activity.
  • The T5008 Statement of Securities Transactions is dangerous if you don’t check it carefully. Bitbuy may issue one, and it often shows what I sold but not what I paid for it. Filing blindly based on that form would have destroyed my tax bill.
  • I needed to keep my own detailed records to prove my costs to the CRA. The exchange can report the sale, but I had to document the purchase price myself.

My DIY Research Process

I started like most people do these days-I went online and searched for answers. I spent hours on canada.ca reading their guidance on cryptocurrency taxation, which was helpful but written in that dense government style that makes your brain hurt. Then I jumped into r/PersonalFinanceCanada on Reddit, where I found real people discussing the exact same problems I was facing.

I also tried calling 311, thinking that maybe someone at Toronto City Hall could point me in the right direction. After a few minutes on hold, it became obvious that city workers handle parking tickets and pothole complaints, not federal tax policy. That was embarrassing, but at least I learned something.

What I really needed was a step-by-step guide to actually pulling my data from Bitbuy in a way that tax software could understand. Nobody online seemed to have written the exact walkthrough I needed, so I decided to document my own process.

Method 1: How I Connected My Account Using an API

The API method sounded complicated at first, but it turned out to be the cleanest way to get my data into tax software. API stands for Application Programming Interface, which is basically a bridge between Bitbuy and my tax calculator. Instead of downloading new files every week, the software could automatically pull in my trades as soon as I made them.

Navigating My Dashboard Settings

I logged into my Bitbuy account on my desktop browser-the mobile app is great for quick trades, but the web interface is where all the backend settings live. I clicked my profile icon in the top right corner and looked for Settings. The interface has changed a few times over the years, but the settings menu is always tucked away in that corner.

Once I was in Settings, I scrolled down looking for anything related to Partner API or just API. Bitbuy’s dashboard can be a bit confusing because they restructure it occasionally, but the API section is always somewhere in the main settings area. I found it eventually, and that’s where the magic started.

Setting Up Safe Permissions

This was the part where I had to be really careful. When I clicked Generate New Key, Bitbuy asked me to enter my two-factor authentication code to confirm it was really me. Then the system showed me a list of permissions I could grant to the API key.

This is where I made sure to only check Read or View permissions. Under no circumstances did I click the boxes for Trade, Withdraw, or Transfer. My tax software only needed to see what I’d done-it didn’t need the ability to actually move my money around. I was paranoid about someone hacking my API key and selling all my crypto, so I kept those permissions locked down tight.

Once I confirmed my settings, Bitbuy generated two long strings of text: the API Key and the Private Key (also called the Secret Key). I copied both of these immediately into a text file because Bitbuy warned me that the Private Key would be hidden forever once I left the page. If I lost it, I’d have to delete the key and start all over again. I wasn’t going to let that happen.

I pasted these keys into my tax software-I was using Koinly at the time-and within a few minutes, the software was automatically pulling in all my Bitbuy trades. No more manual downloads, no more worrying about missing data. It was like finally being able to breathe again.

Method 2: My Manual CSV Export Route

Not everyone wants to use the API method, and I understood that. Some people prefer having a hard copy of their data saved on their computer as a backup. So I also explored the CSV export option, which gave me another way to get my information organized.

Grabbing the Right History Files

I went back into Bitbuy and looked for the History or Activity tab in the main navigation. This is where every single action I’d taken on the platform was logged. But here’s the thing-Bitbuy doesn’t give you one single file with everything in it. I had to download separate files for Trades, Deposits, and Withdrawals.

The Trades file showed every buy and sell I’d made. The Deposits file showed money coming in, whether that was Canadian dollars or crypto transfers from external wallets. The Withdrawals file showed everything leaving my account. I needed all three to get the complete picture of my activity.

Organizing the Downloads on My Desktop

I clicked Export to CSV for each category. A calendar appeared asking me to set my date range. Since I was working on my 2025 taxes, I selected January 1 to December 31 of that year. The files downloaded to my computer, and immediately I renamed them to something clear: Bitbuy_Trades_2025.csv, Bitbuy_Deposits_2025.csv, and Bitbuy_Withdrawals_2025.csv.

This organization saved me a massive headache later. When I was uploading these to my tax software, I could instantly tell which file was which instead of opening each one wondering if it was trades or deposits. I even added the current date to my filenames so if I needed to re-download them, I’d know which version was the most recent.

I kept these files in a dedicated folder on my desktop labeled Tax_2025, and I made a backup copy to an external hard drive just to be safe. The CRA takes record-keeping seriously, and I wanted to have proof that I’d done my due diligence.

How I Solved My Painful Import Errors

Even with the cleanest data export, importing everything into tax software isn’t always smooth. I ran into several errors that made me want to tear my hair out, but eventually, I figured out what was causing each one.

The Dreaded Missing Purchase History Error

The most terrifying error I encountered was the Calculated Balance warning. My tax software said something like:

No time to read?
Get a summary
Previous Article

How I Connected My Crypto Wallets to Canadian Tax Software

Next Article

The Receipt That Shocked Me: My Deep Dive into Toronto's New 2026 Rideshare Taxes