Capital Gains when Trading Bitcoins and other Cryptocurrencies

The Canada Revenue Agency treats the taxation of Bitcoin and other cryptocurrency trading in a similar fashion to trading commodities or foreign currency.  When trading Bitcoin/cryptocurrencies on capital account, your adjusted cost base must be tracked in order to calculate capital gains and losses.

This article will looks at the case for Canadians where trading is considered to be on capital account, rather than income account.  The rules for determining whether trading is on capital account or income account are somewhat subjective.  Some of the considerations the Canada Revenue Agency may use to determine that trading is on income account include the following:

  • When the trading is characteristic of a professional trader
  • Frequent trading or short holding periods
  • Extensive knowledge and time spent researching the markets

Just like when buying and selling foreign currency, your ACB needs to be tallied and a capital gain or loss occurs whenever units are sold. A disposition is deemed to have occurred whenever:

  • Units are sold for Canadian dollars
  • Units are converted into US dollars or any other foreign currency
  • Units of one cryptocurrency are exchanged for units of another cryptocurrency
  • Units are spent on goods and services

AdjustedCostBase.ca can help you with calculating ACB and capital gains for Bitcoin and other cryptocurrencies.

Let’s look at an example:

  1. Buy 2.5 Bitcoins for CAD$3,226.95 in total on February 1, 2017
  2. Buy 3.8098 Bitcoins for CAD$5,470.87 in total on April 1, 2017
  3. Trade 1 Bitcoin for 22.55657 Ether on May 1, 2017 (where the value of 1 Bitcoin or 22.55657 Ether was CAD$13,951.22 at this time)
  4. Purchase goods valued at CAD$466.25 for 0.03342 Bitcoins on December 1, 2017
  5. Sell 4.5 Bitcoins for CAD$62,797.50 in total on December 1, 2017.

The first step to calculate gains on losses on AdjustedCostBase.ca is to create securities for each cryptocurrency you’ve traded.  For this example, we create securities named “Bitcoin” and “Ether.”  For further information on getting started on AdjustedCostBase.ca, and adding securities and transactions, see the following:

Getting Started on AdjustedCostBase.ca

For the above example, you would input the following transactions on AdjustedCostBase.ca:

1. “Buy” transaction: 2.5 Bitcoins for $3,226.95 in total on February 1, 2017
2. “Buy” transaction: 3.8098 Bitcoins for $5,470.87 in total on April 1, 2017
3a. “Sell” transaction: 1 Bitcoin for $13,951.22 in total on May 1, 2017
3b. “Buy” transaction: 22.55657 Ether for $13,951.22 in total on May 1, 2017
4. “Sell” transaction: 0.03342 Bitcoins for $466.25 in total on December 1, 2017
5. “Sell” transaction: 4.5 Bitcoins for $62,797.50 in total on December 1, 2017

For simplicity transaction fees have been omitted, but these can be specified in the “Commission” field when adding transactions.

The transaction involving conversion from Bitcoin to Ether (3) corresponds to a sale of Bitcoin and a purchase of Ether.  The amounts are based on the values in Canadian dollars.  Even though the transaction did not involve converting Bitcoin into Canadian dollars and then converting Canadian dollars into Ether, the transaction is treated this way for the purposes of calculating adjusted cost base.  This results in a capital gain for Bitcoin.

Similarly, the transaction involving spending Bitcoin (4) corresponds to a sale of Bitcoin.  Even though the transaction did not involve Bitcoin units being converted into Canadian dollars followed by a purchase using Canadian dollars, the transaction is treated this way for tax purposes.  This also results in a capital gain for Bitcoin.

Here are the results after inputting these transactions:

Transactions for Bitcoin

Transaction for Ether

44 thoughts on “Capital Gains when Trading Bitcoins and other Cryptocurrencies

  1. crypto

    Thank-you for this tool, it’s great!

    Do you know if transaction fees (mining fees) can be added to the commission when calculating the ACB?

    For example if one buys bitcoin on coinbase, then moves it to Binance. There is a coinbase fee when buying bitcoin and then the mining fee (transaction) to send to Binance, can the mining fee be added to coinbase’s commission fee in the ACB calculation?

  2. AdjustedCostBase.ca Post author

    Crypto,

    Transaction fees for buying or selling cryptocurrencies can be inputted as commissions.

    I’m not sure about the transfer fees you mentioned. If these are not directly related to purchasing or disposing of Bitcoins then I don’t think they can be added to ACB or subtracted from proceeds of disposition.

  3. Gili

    In your example:

    * Trade 1 Bitcoin for 22.55657 Ether on May 1, 2017 (where the value of 1 Bitcoin or 22.55657 Ether was CAD$13,951.22 at this time)

    How do you determine the value of Ether in terms of CAD at the time of the trade when some exchanges don’t trade any fiat currencies at all?

  4. AdjustedCostBase.ca Post author

    Gili,

    Even if your exchange does not permit exchanging between Ether and CAD, it should still be possible to determine an approariate exchange rate. I would suggest looking up the exchange rate between Ether and CAD from a reliable source. You can also look up the value of Ether in USD and the CAD/USD exchange rate on that date and combine those two values.

  5. Gili

    Some (major) exchanges do not trade fiat currencies at all. Example: binance.com

    As such, there is no universal cryptocurrency to fiat conversion rate you could apply using information exclusively from that exchange.

  6. AdjustedCostBase.ca Post author

    Gili,

    Please see part 3 of the example above for an exchange between two cryptocurrencies that does not involve a direct exchange with Canadian dollars.

  7. Gili

    I know that part 3 involves the trade of one cryptocurrency for another, but it does not explain how one is supposed to derive the CAD value of each currency on exchanges that do not trade any fiat currencies.

  8. AdjustedCostBase.ca Post author

    Gili,

    You can look up the value based on a chain of conversion rates. For example, the site you mentioned currently shows a price of 0.0015642 Bitcoin for 1 EOS. Yahoo Finance currently shows CAD$8,766.22 for 1 Bitcoin. Therefore if you bought 1 EOS, your increase in ACB could be calculated as:

    1 EOS x 0.0015642 Bitcoin/EOS x CAD$8,766.22/Bitcoin
    = CAD$13.71

  9. Lawrence

    Hello,

    Is it possible that through ACB, you can ultimately end up with capital gains even if you don’t make a profit? That is, supposing I buy into cryptocurrencies at $10,000, move them around through various altcoins over the course of the year, then finally take them out at the same buy-in price of $10,000, I somehow owe tax on it?

    That’s the result I’m getting when using various ACB calculators (including this one): tax owed, despite not making a profit. Is this possible, or do I have an error somewhere?

    Thanks,
    Lawrence

  10. AdjustedCostBase.ca Post author

    Lawrence,

    Assuming that there are no further investments or withdrawals, then your net capital gain should be zero. If your transactions span multiple tax years, then it’s possible to have gains or losses in individual years, but they should cancel each other out.

  11. Shawn K

    I am still having a hard time understanding exactly how this works. I understand that each crypto-crypto and crypto-fiat trade is a taxable event in Canada that must be recorded using the ACB method, but do you only have to file anything in your taxes once you have withdrawn your profits into fiat?

    For example if you take the 5-step scenario that was provided above, but you stopped at step 4 and didn’t proceed to step 5 (where you convert your BTC back to CAD), would you be fine to not report any of those capital gains until you actually have realized the gains in CAD?

    I am basically trying to figure out if it is OK to simply keep track of all my crypto capital gains/losses while all of my initial funds are still completely invested in various cryptos. Then once I do decide to cash out my cryptos to CAD, I would then report all of these taxable events on my taxes for that year. Is this correct?

  12. AdjustedCostBase.ca Post author

    Shawn,

    You would need to report a capital gain or loss for any year in which a cryptocurrency is exchanged for either another cryptocurrency or a fiat currency.

  13. Rebecca

    If I had a total capital loss of $25,000 this year and absolutely no gains (it was a bad crypto year). how much can I carry over to the next year as a loss or can I write all of it off as a loss in the current year? and if so do I need to deduct 50% as a loss or is that only for gains?

  14. AdjustedCostBase.ca Post author

    Rebecca,

    Losses can be carried back to the last 3 tax years, used in the current tax year, or carried forward indefinitely. So all of it can be carried forward to next year. All capital gains and losses get multiplied by 50% on line 199 of Schedule 3 to account for only half of a capital gain being taxable as income.

  15. Miller

    If a business accepts crypto as payment for services (not a day trader or related to crypto), how would this income be taxed by the CRA?

    Example: I receive $4000 worth of crypto in Jan 2018, but sell the same crypto for $1000 in Nov 2018. Including this $4000 on my gross business income and in a ~50% tax bracket im taxed ~$2000 and get a capital loss. This is a bad tax scenario as im paying $2000 in tax and only actually receiving $1000 in revenue. I also have no capital gains going back nor do I plan create any going forward.

    Someone (Who claims to be a CPA) stated that on my T2125 business income I could put the the $4000 as an inventory purchase, $1000 as revenue and $0 as my closing inventory. This would result in a -$3000 loss.

    Thoughts on this? What are my options?

  16. Ryan

    If your purchase price was $10,000 for Bitcoin and then a number of crypto-to-crypto trades happened and the portfolio is now worth $6000. Does that mean there was a capital loss for the year?

    Purchase price – ACB = capital loss?

    I would assume each trade would trigger a capital loss and each loss would lower the ACB of the portfolio. Please clarify!

    Thank you!

  17. AdjustedCostBase.ca Post author

    Ryan,

    You will need to calculate the gain or loss for each disposition like in the examples above.

    In some special cases where all the positions are closed at the beginning of the year and before the end of the year, you may be able to calculate the capital gain or loss as you describe. However, this won’t work if you still hold a position at the end of the year.

  18. rob

    HI:
    So here is my scenario with cryptocurrency dilemma. I transferred 0.2 LTC to Cryptopia in order to buy DOGE. So i guess i had to use a DOGE/LTC pairing in order to buy it.
    DOGE/LTC Buy Rate:0.00004020 Amount:4815.62149333 Total: 0.19358798 Fee: 0.00038718 31/12/2017 3:13:10 PM

    Now, I am totally confused as to how to figure out how that LTC i transferred over to this crypto broker is converted to USD if the 0.20 LTC gave me 4815.62…DOGE coins? There should not be a capital gain here yet, as I then took those DOGE coins and transferred to Bittrex exchange which i gather would have then triggered a capital gain or loss. What is the framework to get these to correct conversion to enter in ACB here? Help..

    Thank you, rob

  19. AdjustedCostBase.ca Post author

    Rob,

    Transferring the currency to another brokerage should not trigger a capital gain. Converting LTC to DOGE would result in a deemed disposition of LTC. Please see transaction #3 above for an example of how to handle this.

  20. John

    Hi, commissions which are paid in crypto, not fiat, aren’t accounted for thus enlarging the share balance ( due to not being removed as a fee ), is this a problem?

  21. AdjustedCostBase.ca Post author

    John,

    When inputted a buy transaction on AdjustedCostBase.ca, you should set the number of shares to the net number of shares received (excluding any shares deducted for the commission).

    Set the amount to the net value of the shares in Canadian dollars, and the commission to the value of the shares deducted for the commission in Canadian dollars.

    Or, you can set the amount to value of the gross number of shares in Canadian dollars with the commission set to zero.

  22. Amir

    Hi,
    I want to make sure that I am putting the right commission fee inside the tool. Consider the following scenario:

    Each time I buy there is a Fee deducted from my total crypto purchase.
    Amount purchased Price of unit Value Fee
    3.00000000 ETH $200.19 CAD $600.57 CAD 0.00480000 ETH

    What I got at the end is: 3.0 – 0.0048 = 2.9952 ETH
    Calculated fee in CAD: 200.19 x 0.0048 = $0.96 CAD

    What should I put inside the new transaction fields:
    Price: ______ Total
    Shares: ______
    Commission: ______

    Thanks for your support and your great tool!
    Best regards

  23. AdjustedCostBase.ca Post author

    Amir,

    In that case you can input a Buy transaction with a total amount of $600.57, 2.9952 shares and a commission of $0. The commission is set to $0 because it is already included in the total amount.

    Alternatively you could input a total amount of $600.57 – $0.96 = $599.61 with a commission of $0.96, but the above approach is likely simpler and will yield the same result.

  24. Simon Peterson

    Hi AdjustedCostBase.ca,

    first of all, thanks for all your time to answer all the questions in here. Really great service.

    I have a weird scenario and I hope that you have some thoughts on it:

    What happens if I trade BTC for BTC on a margin trading platform like Bybit or Bimex? I could not find a clear answer to that since it is a transaction from and to BTC. Is that considered as a taxable event too?

    Anyways, I decided to stay safe and report each BTC for BTC transaction. Lets assume my trading went bad and I lost 0.1 BTC.

    How do I enter this transaction into the ACB calculator? In my understanding, I would just create a sell transaction with “Amount=0”. Why zero? Because I lost 0.1 BTC and got nothing in exchange.

    Other way around, if I gain 0.1 BTC, I would create a buy transaction, add 0.1 BTC and “Amount=0” because I got it for free since my trading went all (of course except the fees).

    Do you have any thoughts here? I would appriciate any thoughts a lot!

    Thank you!

    Simon

  25. Gabriel Link

    @Simon:
    This is the question I am waiting for since a long time. I figured that this is greyzone and not 100% defined. I am with you in terms of reporting each BTC to BTC trade. But in my understanding, you made a mistake in your thoughts:

    If you made 0.1 BTC because your trade went well, you do report the fair market value of that day in CAD. Same if you lose 0.1 BTC, you have to figure out the FMV and report your loss.

  26. shuman

    Lol, I have the exact same challange in my mind. If you lose 0.1 BTC in a trade and you report the FMV, you basically lose even more money, since you did not get the FMV in exchange, you got 0 dollar in exchange.

    So yeah, it looks like this is a greyzone at the moment and no clear indication of how to process BTC to BTC trades.

    @adjustcostbase: do you have any advise please?

  27. James

    Thanks for this useful tool.
    How do I enter fractional purchases of crypto.?

    For example, I purchased 0.07453 of ETH (Ether) for $101. The full sale price at the time was $1553.

    When I enter numbers like those (I’ve tried different combinations), it shows my ACB in the millions, lol.

    Thanks in advance!

  28. AdjustedCostBase.ca Post author

    James,

    Is it possible you incorrectly specified the amount as a per share amount instead of a total amount?

  29. James

    No, I tried both.
    Can you please confirm which amounts I put where?

    Do I need to enter the full BTC price (45k+), or only the amount I purchased for ($100)?
    I believe I tried both and still got huge numbers,

  30. AdjustedCostBase.ca Post author

    James,

    You can input it either way. If you input the price of one Bitcoin you must select the “Per Share” option for the amount. If you input the total amount you’ve paid to purchase the Bitcoins, select the “Total” option.

    Note that the numbers from your Ether example above don’t quite add up. 0.07453 units of Ether for a total amount of $101 implies a unit price of $1,355.16.

    Also please note that all monetary amounts should either be converted into Canadian dollars before inputting them, or inputted in a foreign currency along with the applicable exchange rate.

  31. James

    Fantastic, it seems to work now, thank you! Clearly, I was doing something wrong earlier.
    If I have multiple orders of the same fund on the same day, is it better to enter the totals in one entry, or separately?

    Finally, is there a limit to the number of entries per portfolio in the free and/or premium versions?

    Thank you again for this tool, and more importantly, the support!

  32. AdjustedCostBase.ca Post author

    James,

    Glad to hear you figured it out.

    If you have a series of purchase transactions only on the same day or a series of sale transactions, then it won’t matter if you consolidate them into a single transaction. However, if you have purchases interspersed with sales on the same day for the same security, then the results may not be correct if you combine all purchases or all sales into a single transaction.

    There is a limit of the number of transactions, however, it is large enough that it should be adequate for almost anyone.

  33. Uneeb

    Hi there,

    This is a great tool you’ve got here and I’ve been using it to start tracking my crypto cap gains/losses and it makes it a lot easier. My question is, how should I account for mining fees? Currently, I have made a security for each cryptocurrency I trade and I put in the amount of coin I buy/sell as the number of shares. So far the exchanges I used did not charge me fees. I have moved some of my crypto back to my exchange account from my wallet. This transfer charges a fee. I know the CAD value of the fee, but the fees are charged in bitcoin or ethereum or whatever crypto I’m using.

    So now, even though I have sold all of my bitcoin for example, my share balance still shows a small amount, which matches the amount of bitcoin I spent in transfer fees. What is the best way to account for this transfer on the site? So far I’ve considered making a transaction with the remaining share balance, and leaving myself a memo to not count this amount for cap gains/losses. Do you have a better suggestion, or is this the best way to go?

    Thanks in advance!

  34. AdjustedCostBase.ca Post author

    Uneeb,

    The transfer fee can be inputted like in example 4 above. This is equivalent to spending units of cryptocurrency, which corresponds to selling at fair market value.

    You could perhaps make the argument for deducting this cost as carrying charges on line 22100 of your tax return, however, in that case the capital gain or loss from disposal of the cryptocurrency would still apply.

  35. The Gambler

    From what I understand, gambling winnings in crypto are considered taxable gains. If I make a few gambles in a given week on say a bunch of hockey games, I’d have to keep track of the price of a BTC on each day I made a bet?

    What would I use as fair market price?

  36. AdjustedCostBase.ca Post author

    The Gambler,

    The taxation of gambling winnings can depend on the circumstances. Further information is available here:

    https://www.canada.ca/en/revenue-agency/services/tax/technical-information/income-tax/income-tax-folios-index/series-3-property-investments-savings-plans/series-3-property-investments-savings-plans-folio-9-miscellaneous-payments-receipts/income-tax-folio-s3-f9-c1-lottery-winnings-miscellaneous-receipts-income-losses-crime.html#toc10

    However, the procedure for tracking ACB for Bitcoin should be the same regardless of whether the gambling winnings are deemed taxable or not. In either case you are deemed to have acquired the Bitcoins based on their fair market value.

  37. Darrell

    Hello. I was wondering if the superficial loss rules apply to cryptocurrancy transactions when the buying and selling of a crypto is used as a currency as a means to buy another crypto. For instance, I bought ETH from fiat, and then immediately sold the ETH to buy another crypto, because the other cyrpto would only allow swapping of ETH. The loss is really only the transaction fees, and very minor changes in the price of ETH. Any advise?

  38. Jeff

    Hello,

    I am using UFile to file my taxes and it’s asking for the adjusted cost base of the property.

    Do I input the new ACB after I sell my bitcoin into this category?

    Thanks

  39. AdjustedCostBase.ca Post author

    Jeff,

    You can input capital gains and losses with UFile as follows:

    – In the “Interview” section select the “Interview setup” from the left menu.
    – Ensure that “Capital gains (or losses) and capital gain history” is checked.
    – Select “Capital gains (and losses) and ABIL” from the left menu.
    – On that page there is a “Virtual currency transactions” option that you can use to input cryptocurrency transactions (though the process of inputting data looks very similar to that for inputted dispositions of stocks or other capital assets).
    – Complete the details for the sale.
    – Repeat for each sale (although you can merge all sales into a single entry as long as the total capital gain ends up correct).

  40. Billy

    Do you have any insight on how users might account for staking and providing liquidity? I am assuming yield farming nets something akin to bank interest but I am not sure how to enter it into ACB.ca.

  41. AdjustedCostBase.ca Post author

    Billy,

    When staking/mining cryptocurrencies you would incur taxable income based on the fair market value of the benefit received. Provided that your transactions are on capital account then this can be inputted as a “Buy” transaction on AdjustedCostBase.ca based on the fair market value in Canadian dollars.

    However, AdjustedCostBase.ca does not support transactions on income account (only capital account). Activities such as mining or providing liquidity may be deemed to be on income account (the CRA specifically mentions mining as an example of an activity that may result in transactions being treated on income account: <https://www.canada.ca/en/revenue-agency/programs/about-canada-revenue-agency-cra/compliance/digital-currency/cryptocurrency-guide.html>).

  42. Luis

    Hi Thanks for your example
    What about if on Dec 4th 2017 I bought 3 bitcoins at $CAD 65,000 what should be my new ACB?
    (1070.21 +65,000)/(3+0.77638) = $ 17,495.65
    Is ok this ACB?

  43. AdjustedCostBase.ca Post author

    Luis,

    The new total ACB would become (assuming a cost of $65,000 per Bitcoin):

    Total ACB = $1,070.21 + (3 Bitcoin x $65,000/Bitcoin)
    = $196,070.21

    Assuming a balance of 3.77638 Bitcoins the per unit ACB would be $51,920.15

Leave a Reply

Your email address will not be published. Required fields are marked *