Skip to main content
    Education only. Not financial, tax or legal advice. We never ask for wallet keys or seed phrases.Your files stay in your browser · how we calculate

    Crypto ACB and superficial-loss calculator

    Short answer

    To calculate crypto ACB in Canada, add up what you paid for every unit of a coin, including fees, across all your wallets, and divide by the units you hold. Each sale or swap uses that average cost. This calculator reads your exchange CSVs and does it for every coin, in your browser.

    Runs in your browser · Files stay on your device · General information, not tax advice

    Try a scenario:

    Import your exchange files

    Drop CSV exports from Coinbase, Kraken, Newton, Shakepay, NDAX or Bitbuy, Wealthsimple's activities export (you confirm its columns), or our template for anything else. Files are read in your browser and never uploaded. Add several files to combine exchanges and wallets.

    How to export from each platform (and what we read)

    Export layouts change. If a file looks wrong after import, check the records below; every row can be edited. Layout sources were checked on 2026-11-02.

    Records (7)

    One row per buy, sale, swap or reward. Exchange files usually include the CAD value; where one is missing, type it in or add a price file below. Edit anything an import got wrong.

    DateTypeAssetQtyGot / paidQtyCAD valueFee $

    Price files for missing CAD values

    Swaps between coins often have no CAD value in the export. Add a daily price file for the coin (a date column and a close/price column, from your exchange or any source you're allowed to use); the engine values each swap at that day's price. Read in your browser.

    Tax year 2025
    Net capital loss of $1,877.72

    3 dispositions across 3 asset(s). $275.00 of losses were denied as superficial and added to the cost of the coins you bought back. Rewards worth $120.00 are income, reported separately from capital gains. A net capital loss can be carried back three years or forward indefinitely against capital gains.

    Proceeds of disposition
    $22,700.00
    Adjusted cost base
    $24,824.72
    Outlays and expenses
    $28.00
    Gain or loss (after superficial losses)
    −$1,877.72
    Superficial losses denied
    $275.00
    Reward income
    $120.00

    Totals for Schedule 3 (capital gains or losses)

    Schedule 3 asks for each disposition's proceeds, adjusted cost base and outlays; you can report crypto dispositions in total with your own detailed records. These are your totals for the year.

    Proceeds of disposition
    $22,700.00
    Adjusted cost base
    $24,824.72
    Outlays and expenses
    $28.00
    Gain (or loss)
    −$1,877.72

    Keep the ledger CSV with your records. Rewards are income, reported separately from Schedule 3. CRA: Schedule 3 and crypto-asset dispositions.

    Gain or loss by asset, 2025$1,456BTC−$3,004ETH−$330SOL

    By asset, 2025

    AssetDispositionsProceedsACBOutlaysGain/lossSuperficial deniedReward income
    BTC1$15,500.00$14,021.00$23.00$1,456.00$0.00$0.00
    ETH1$3,900.00$6,903.72$0.00−$3,003.72$0.00$120.00
    SOL1$3,300.00$3,900.00$5.00−$330.00$275.00$0.00

    What you still hold, and its cost base

    AssetUnitsTotal ACBACB per unit
    BTC0.10000000$14,021.00$140,210.00
    ETH2.53000000$11,644.28$4,602.48
    SOL10.00000000$1,727.00$172.70

    What the engine did

    • Every swap was split into a sale of what you gave up and a purchase of what you received, at the same CAD value. That is why swapping one coin for another can create a gain even though no dollars came out.
    • Superficial losses in 2025: SOL on 2025-11-05, $275.00 denied. Each was added to the cost of the SOL you bought within 30 days.
    • No values needed filling from price files.
    • Average cost per unit is pooled across all your wallets and exchanges for the same coin, as CRA's identical-property rule requires; that is why importing every file matters.

    Check before you file (0)

    Nothing flagged.

    Ledger

    DateAssetEventQtyCADACB outGain/lossDeniedUnits afterACB/unit
    2025-01-10BTCAcquire · buy0.200000$28,000.000.200000$140,210.00
    2025-02-03ETHAcquire · buy4.000000$18,400.004.000000$4,607.00
    2025-03-15ETHAcquire · income0.030000$120.004.030000$4,602.48
    2025-05-20ETHDispose · swap-out1.500000$3,900.00$6,903.72−$3,003.722.530000$4,602.48
    2025-05-20SOLAcquire · swap-in22.000000$3,900.0022.000000$177.27
    2025-08-12BTCDispose · sell0.100000$15,500.00$14,021.00$1,456.000.100000$140,210.00
    2025-11-05SOLDispose · sell22.000000$3,300.00$3,900.00−$330.00$275.000.000000$0.0000
    2025-11-20SOLAcquire · buy10.000000$1,450.0010.000000$172.70

    Inclusion rate: one-half of a net capital gain is taxable for 2025 (50%). This tool assumes your crypto is capital property; if your activity is a business, the whole profit is income instead.

    Estimates from your inputs, calculated in your browser; nothing is sent anywhere unless you choose to email results below. Scenario values are illustrative, not quotes or forecasts; past prices do not predict future ones. General information, not tax advice; CRA guidance on DeFi is limited and evolving. Formulas checked 2026-11-02. Prices come from the file you add or from a simplified scenario path; the site does not ship crypto price history. US dollar to Canadian dollar conversions use the Bank of Canada's daily exchange rate (Bank of Canada data; converted by DeFiCalculator.ca).

    Worked example

    A year with two coins, a swap and a staking reward (the tool's sample year)
    Seven records from one year: buys of BTC and ETH, a small staking reward, a swap of 1.5 ETH into SOL valued at $3,900, two sales and a rebuy. Amounts are illustrative.
    A year with two coins, a swap and a staking reward (the tool's sample year): inputs, steps and result
    Buys0.2 BTC for $28,000 + $42 fee; 4 ETH for $18,400 + $28 fee; 10 SOL for $1,450 + $2 fee
    Reward0.03 ETH worth $120 on the day receivedincome, and the cost of those 0.03 ETH
    Swap1.5 ETH → 22 SOL, valued at $3,900a sale of ETH and a purchase of SOL at the same value
    Sales0.1 BTC for $15,500 ($23 fee); 22 SOL for $3,300 ($5 fee)
    Proceeds of disposition$22,700.00BTC sale + SOL sale + the ETH given up in the swap
    Adjusted cost base of what was sold$24,824.72average cost per unit × units sold, per coin
    Outlays and expenses$28.00selling fees
    Superficial loss denied$275.00SOL sold at a loss and 10 bought back 15 days later; added to the new SOL's cost
    Reward income$120.00reported as income, not on Schedule 3
    Net capital loss for 2025−$1,877.72can be carried back three years or forward against capital gains

    The swap is where most people go wrong: no Canadian dollars changed hands, but it is still a disposition of ETH at fair market value, and that value becomes the cost of the SOL. The SOL sale later in the year produces a loss against that cost, and because 10 SOL were bought back within 30 days, part of that loss is denied for now.

    Open this example in the calculator →Computed 2026-11-02.

    Mitey the yeti files a slip into a wooden box of index cards beside a small stack of gold coins
    Mitey files every buy, swap and reward as it happens, so the average is never a guess in April.

    Every Canadian crypto gain or loss starts from your adjusted cost base (ACB): the average cost of the units you hold, in Canadian dollars. This workbench reads your exchange CSV files in your browser, pools the same coin across every wallet and exchange, splits swaps into a sale and a purchase, finds superficial losses, and adds up the four totals Schedule 3 asks for. It works in CAD throughout, the currency CRA asks you to report in.

    How to use it

    1. Click “Choose CSV files” (or drop files on the box) and add the exports from every platform you used. Use “Download the template” for wallets, DeFi or any platform the importer does not recognise.
    2. Read the note under each file name, then check the Records table. Fix any row an import got wrong: Date, Type, Asset, Qty, “Got / paid”, CAD value and “Fee $” are all editable.
    3. Fill in a CAD value for every row flagged as having none, using the figure your platform showed for that trade where you can.
    4. Pick the Tax year and read the Schedule 3 totals, the per-asset table and the “Check before you file” list.
    5. Download the ledger CSV and the Schedule 3 summary (CSV) and keep them with your original exchange exports.

    What the importer reads, and where your files go

    The importer recognises CSV exports from Wealthsimple, Kraken, Coinbase, Newton, Shakepay, NDAX and Bitbuy, plus the site's own template for wallets and everything else. Files are read in your browser and never uploaded; closing the tab discards them. Each file shows how many records were read and any rows it could not interpret, and every row stays editable, because export formats change without notice.

    Import every platform you used. CRA treats units of the same coin as identical properties, so their cost is pooled into one average wherever they sit, and a sale on one exchange uses the average cost of all your units. Leave a file out and every later sale is wrong; a sale of more units than the ledger holds is flagged as “earlier purchases are missing”. Moves between your own wallets are “Transfer in” or “Transfer out (own wallet)” rows, which change nothing.

    How the engine treats each kind of record

    A swap is split into a disposition of the coin you gave up and an acquisition of the coin you received, both at the same CAD value; CRA lists exchanging one crypto-asset for another as a disposition. A fee paid in crypto disposes of the fee coins. When an import lists a fee in a coin, the engine disposes of those coins at their value and counts that value as an outlay of the trade. Typing rows yourself, add a “Fee paid in crypto” row and put the same CAD amount in the trade's “Fee $” column; the result is identical.

    For example (illustrative): you bought 1 ETH for $5,000, then swapped 0.5 ETH for USDC worth $2,000 and paid 0.002 ETH of gas worth $8. The gas is a disposition of 0.002 ETH with a cost of $10, a $2 loss. The swap disposes of 0.5 ETH with a cost of $2,500 for $2,000 less the $8 outlay, a $508 loss. Your remaining 0.498 ETH keep a cost of $5,000 per ETH.

    How each record type changes the pool for that coin
    Type in the toolUnitsPool cost (ACB)Creates
    BuyUpUp by price plus feeNothing taxable yet
    SellDownDown by average cost × unitsCapital gain or loss
    Swap / convertDown in one coin, up in the otherReceived coin starts at the swap's CAD valueGain or loss on the coin given up
    Reward / incomeUpUp by its CAD value when receivedIncome in that year
    Fee paid in cryptoDownDown by average cost × unitsA small gain or loss
    Transfer in / out (own wallet)No changeNo changeNothing

    Worked example: the default sample year

    The sample “A year with BTC, ETH, a swap and rewards” uses illustrative values typed into each row. In 2025 it buys 0.2 BTC for $28,000 plus a $42 fee and 4 ETH for $18,400 plus $28, receives 0.03 ETH of staking rewards worth $120, swaps 1.5 ETH for 22 SOL valued at $3,900, sells 0.1 BTC for $15,500 less $23, sells the 22 SOL for $3,300 less $5, and buys 10 SOL for $1,450 plus $2 fifteen days later.

    The reward raises the ETH pool to $18,548 for 4.03 ETH, or $4,602.48 each. The swap disposes of 1.5 ETH with a cost of $6,903.72 for $3,900: a loss of $3,003.72, even though no dollars changed hands. The 22 SOL start with a cost of $3,900. The BTC sale gains $1,456.00 ($15,500 less $23 less half the $28,042 cost).

    The SOL sale loses $605.00, but 10 SOL were bought back within 30 days and still held, so 10/22 of that loss, $275.00, is a superficial loss. It is denied for now and added to the new SOL, whose cost becomes $1,727 ($172.70 each). The year closes with a net capital loss of $1,877.72. CRA says a net capital loss can be carried back three years or forward indefinitely against taxable capital gains.

    Schedule 3 totals for 2025, sample “A year with BTC, ETH, a swap and rewards” (illustrative values)
    TotalAmount
    Proceeds of disposition$22,700.00
    Adjusted cost base$24,824.72
    Outlays and expenses$28.00
    Gain or loss (after superficial losses)−$1,877.72
    Superficial losses denied$275.00
    Reward income (reported separately)$120.00

    Superficial losses and CAD values: what to check

    For each sale at a loss, the engine counts units of the same coin acquired from 30 days before to 30 days after the sale (purchases, rewards and swaps in) and the units held at the end of day 30, across every file you imported, so a repurchase on another exchange is caught. It matches coins by ticker, so ETH and a wrapped or staked ETH count as different coins; CRA has not said whether such tokens are identical. It cannot see purchases by your spouse or a corporation you control, which the rule also counts. The superficial loss calculator walks through one sale in detail.

    CRA's records page asks for the CAD value at the time of each transaction. The engine takes the CAD value in the export or typed by you first, then the dollar side of a trade against CAD. A crypto-to-crypto swap often has neither, so use the CAD figure your platform showed for the trade; failing that, take a daily price from one documented source and use the same source every time. A row with no value counts as $0 and is listed under “Check before you file”. Also watch year-end timestamps: the engine uses the date in the file, and a UTC time can move a December 31 evening trade into the next tax year.

    What this tool is not

    It is a working file, not a filing service. It assumes your crypto is capital property; if your activity is a business, the whole profit is income. Whether a liquidity-pool deposit, wrapping or bridging is a disposition is a judgment call CRA has not addressed: record such events consistently as a swap or as a transfer, and get advice on large amounts. The detailed rules, with CRA sources, are linked from our tax hub.

    What this means for you

    Export the full history from every platform, not just this year's: the average cost depends on every purchase since you first bought. Load all the files at once and check the warnings for swaps without a Canadian-dollar value.

    The Schedule 3 box gives the proceeds, cost and gain to copy into your return; reward income goes on a different line. Keep the downloaded ledger CSV with your records in case the CRA asks.

    Definitions

    Proceeds of disposition
    What you received for the crypto you gave up, in Canadian dollars at the time; for a swap, the fair market value of what you received.
    Outlays and expenses
    Costs of selling, such as trading fees, which reduce the gain.
    Identical properties
    Units of the same coin; the CRA averages their cost wherever they are held.

    Questions people ask

    Do I use FIFO or average cost for crypto in Canada?

    Average cost. CRA's identical-property rule pools units of the same coin, so the cost of units sold is the average cost of all the units you hold at that moment, across every wallet and exchange.

    Is swapping one crypto for another taxable in Canada?

    CRA lists exchanging one crypto-asset for another as a disposition. The coin you give up is treated as sold at its CAD value on the day, and the coin you receive starts with that value as its cost.

    Are my exchange files uploaded anywhere?

    No. The CSV files are read by your browser and never sent to a server. Download the ledger CSV if you want to keep the result.

    Is paying a gas fee in crypto a taxable event?

    CRA lists using crypto to pay for goods or services as a disposition, and a network fee paid in a coin is generally treated the same way. The amounts are usually small, but they change your remaining cost base.

    Does the superficial loss rule apply to crypto?

    The rule applies to capital property generally. The tool applies it to repurchases of the same coin in your own records within 30 days before or after a loss; purchases by a spouse or a corporation you control also count under the rule but are not visible to the tool.

    Save Your Results

    Email yourself these calculations or get notified about updates to this calculator.

    Enquiries go to the MITEY network team, not to any other company. See our privacy policy.

    Sources and dates

    1. CRA — Reporting income from crypto-asset transactionsDate modified 2025-12-02; checked 2026-10-30
    2. CRA — Special rules and other transactions (identical properties)Date modified 2026-02-05; checked 2026-10-30
    3. CRA — Capital losses and deductions (superficial loss)Date modified 2026-02-05; checked 2026-10-30
    4. CRA — Keeping books and records of crypto-assets for tax filingDate modified 2025-11-10; checked 2026-10-30
    5. Prime Minister of Canada — cancellation of the proposed capital gains tax increasePublished 2025-03-21; checked 2026-10-30