Skip to main content
Tax SeasonMarch 16, 2026 · 10 min read

How Crypto Transfers Break Your Cost Basis (And How to Fix It)

Transferring crypto between exchanges and wallets is the #1 reason cost basis breaks. Learn why it happens, what the IRS expects, and how to keep your records intact.

Diagram showing how cost basis breaks when crypto is transferred between exchanges and wallets

You bought ETH on Coinbase for $2,000. A few weeks later, you transferred it to MetaMask. A month after that, you moved it to Kraken, where you eventually sold it for $3,200.

The sale is straightforward. Your cost basis is $2,000, your proceeds are $3,200, and your gain is $1,200. But here's the problem: Kraken has no idea you paid $2,000 for that ETH. From Kraken's perspective, the ETH appeared via an incoming transfer with no purchase history attached. When Kraken issues your 1099-DA, it reports the $3,200 in proceeds and leaves cost basis blank.

If you don't supply your own cost basis, the IRS treats it as zero. Your $1,200 gain becomes a $3,200 gain. At a 15% long-term rate, that's the difference between a $180 tax bill and a $480 tax bill on a single transaction.

Without your cost basis
Taxable gain
$3,200
Tax at 15%
$480
With your cost basis
Taxable gain
$1,200
Tax at 15%
$180

This is the most common way crypto cost basis breaks. Not because you did anything wrong. Because you moved your own crypto between platforms, and the receiving platform lost the trail.

Why Transfers Break the Chain

When you transfer stock from one brokerage to another, the brokerages communicate. The receiving broker gets your cost basis, acquisition date, and holding period through a standardized transfer statement system. The trail doesn't break.

Crypto doesn't work this way. There is no transfer statement system between crypto exchanges. When you send Bitcoin from Coinbase to Kraken, Kraken sees an incoming deposit from a blockchain address. It doesn't know when you bought that Bitcoin, what you paid, or how long you've held it.

This is true for every type of crypto transfer:

Exchange to exchange: You buy on Coinbase, transfer to Kraken, sell on Kraken. Kraken has no cost basis for the asset.

Exchange to self-custody wallet: You buy on Binance, transfer to MetaMask. MetaMask is a non-custodial wallet. It doesn't track cost basis at all.

Self-custody wallet to exchange: You send crypto from a Ledger wallet to Gemini and sell. Gemini has no record of the original purchase.

Cross-chain bridges: You bridge ETH from Ethereum to Arbitrum. The bridge is a smart contract interaction, and the asset on the destination chain has no connection to the original purchase record.

DeFi protocol interactions: You deposit ETH into Aave and receive aETH. Later you withdraw and send the ETH to an exchange. The exchange sees an incoming transfer and nothing more. These interactions have their own tax implications beyond the transfer itself, and tracking them correctly requires protocol-level parsing. For a detailed walkthrough of how each DeFi interaction changes your cost basis, see our DeFi cost basis guide. For a guide to how DeFi position tracking works across Aave, Uniswap, Lido, and other protocols, see our DeFi tracking guide.

In every case, the cost basis trail breaks at the point of transfer. The receiving platform has proceeds (when you eventually sell) but not basis.

(For a full explanation of how cost basis works and why it matters, see our cost basis guide.)

The IRS Still Expects You to Know Your Basis

The fact that your exchange can't track your cost basis doesn't mean you're off the hook. The IRS treats crypto as property, and the tax code requires you to maintain records sufficient to establish the positions you take on your return.

IRS FAQ A81 states directly: transferring digital assets from a wallet or account belonging to you to another wallet or account that also belongs to you is a non-taxable event. But when you eventually sell those assets, you still owe tax on the gain, and you still need to prove your cost basis.

If you can't prove it, the IRS can treat your basis as zero. The entire sale proceeds become taxable gain.

This is not a hypothetical risk. Starting with the 2025 tax year, every custodial broker reports your gross proceeds to the IRS on Form 1099-DA. The IRS now has the sell side of every transaction you made on a major exchange. If the proceeds they see don't match what you report, or if you claim a cost basis that doesn't match broker records, their automated systems will flag it. When you file, every one of these transactions goes on Form 8949 with the correct digital asset checkboxes.

(For details on what the 1099-DA does and doesn't report, see our 1099-DA explainer. For the full list of mistakes that result in IRS notices when proceeds and basis don't align, see our crypto tax mistakes guide.)

The Wallet-by-Wallet Rule Makes It Harder

Starting January 1, 2025, the IRS requires cost basis tracking on a wallet-by-wallet and account-by-account basis under Revenue Procedure 2024-28. This replaced the old "universal wallet" method where you could treat all holdings of the same asset across all platforms as one pool.

Under the new rules, each exchange account and each wallet is its own separate lot queue. When you sell Bitcoin from your Kraken account, your accounting method (FIFO or Specific Identification) can only draw from lots held in that Kraken account. You can't reach into your Coinbase lot queue to find a more favorable basis.

This means transfers matter even more than before. The location of your crypto determines which lots are available when you sell. If you transferred Bitcoin from Coinbase to Kraken, the lots that moved now live in Kraken's queue. But Kraken doesn't automatically know the acquisition dates or purchase prices attached to those lots. You need to maintain that data yourself.

What about the safe harbor? Revenue Procedure 2024-28 provided a one-time safe harbor that allowed taxpayers to reallocate pre-2025 cost basis across their wallets as of January 1, 2025. This was specifically designed for people who had been using a universal approach. If you didn't take advantage of this transition relief, your current wallet allocations stand, and you need to track forward from where things were.

(For more on how FIFO, LIFO, and Specific Identification work under the wallet-by-wallet rule, see our accounting methods guide.) Transfers between wallets now carry cost basis with them under per-wallet tracking rules. See how the new wallet-by-wallet rules actually work.

Gas Fees on Transfers: A Hidden Taxable Event

Here's a detail most people miss: while the transfer itself is not taxable, the gas fee you pay to make the transfer can be.

IRS FAQ A81

Transfers between your own wallets are non-taxable, "except to the extent of any digital assets you use, or are withheld, to pay for transaction services to effect the transfer."

When you send ETH from one wallet to another, you pay a gas fee in ETH. That gas fee is a disposition of ETH. It runs through your lot queue and can create a small capital gain or loss.

IRS FAQ A53 clarifies that amounts paid for transaction services to effect a transfer between your own wallets are not treated as "digital asset transaction costs" in the way that purchase or sale fees are. They don't get added to your cost basis or subtracted from your proceeds. They're a separate disposition of the crypto used to pay the fee.

Gas Fee Example
Gas fee paid
0.005 ETH
Lot basis
$1,800/ETH
ETH price at transfer
$2,500/ETH
Basis of gas fee
$9.00
FMV of gas fee
$12.50
Capital gain
$3.50

Is this amount worth worrying about on a single transfer? Probably not. But if you make dozens or hundreds of transfers per year, the cumulative effect adds up, and every one of those gas fee disposals needs to be tracked through your lot queue.

Six Common Scenarios (And How to Handle Them)

1. You bought crypto on one exchange and sold it on another

This is the most common scenario. You bought ETH on Coinbase, transferred it to Kraken, and sold it on Kraken.

What you need: The original purchase date and price from Coinbase, any fees paid at purchase, and documentation that the transfer was a self-transfer (same asset, same person, just different platform). Your cost basis from the Coinbase purchase carries over to Kraken. When you sell on Kraken, the gain or loss is calculated against that original Coinbase purchase price.

2. You moved crypto to a hardware wallet and later sent it back to an exchange

You bought Bitcoin on Gemini, moved it to a Ledger wallet for long-term storage, and then two years later sent it to Coinbase to sell.

What you need: The original purchase record from Gemini, proof of the transfer to Ledger (transaction hash), and the transfer back to Coinbase (transaction hash). The holding period runs from your original Gemini purchase date, not from when it arrived at Coinbase. If you held it for over a year, it qualifies for long-term capital gains rates.

3. You bridged crypto to another chain

You bridged ETH from Ethereum to Arbitrum using a bridge protocol, used it on Arbitrum for several months, and then bridged back and sold.

What you need: The bridge transactions are not sales. They're transfers of the same asset across chains. Your cost basis from the original purchase carries through both bridge transactions. Track the transaction hashes for both the outbound and inbound bridge transactions as documentation.

Note: Bridges typically involve smart contract interactions. Some bridges work by locking your asset on one chain and minting a wrapped version on the destination chain. Whether wrapping constitutes a taxable event is an area where IRS guidance is still evolving. Notice 2024-57 temporarily excludes wrapping transactions from 1099-DA broker reporting, but they may still be taxable. Consult a tax professional for your specific situation.

(For a detailed look at how bridging between chains breaks cost basis, how fees are tracked, and how Cryptofolio connects both sides of a bridge, see our bridge cost basis guide.)

4. You used DeFi from a self-custody wallet

You bought USDC on Coinbase, transferred to MetaMask, deposited into Aave, earned interest, withdrew, and sent back to Coinbase.

What you need: This involves multiple events. The transfer from Coinbase to MetaMask is non-taxable. The deposit into Aave and withdrawal may or may not be taxable depending on the specific mechanics (Notice 2024-57 temporarily excludes lending transactions from broker reporting, but the underlying tax treatment may still apply). Any interest earned is ordinary income at fair market value when received. The transfer back to Coinbase is non-taxable. You need records of every step.

(For detailed rules on DeFi tax treatment, see our DeFi tax guide.)

5. You transferred crypto into a wallet that already held the same asset

You bought 1 ETH on Coinbase for $2,000 in January 2025. Your MetaMask wallet already held 0.5 ETH that you bought for $1,500 in June 2024. You transfer the 1 ETH from Coinbase to MetaMask. Later, you send 1 ETH from MetaMask to Kraken to sell.

What you need to understand: After the Coinbase transfer, MetaMask's lot queue holds two lots: 0.5 ETH at $1,500 (June 2024) and 1 ETH at $2,000 (January 2025). When you transfer 1 ETH out to Kraken, your accounting method determines which lots move.

FIFO (First In, First Out)

Oldest lot leaves first. Consumes all of the June 2024 lot plus half of the January 2025 lot.

Lot consumed
0.5 ETH (Jun 2024) + 0.5 ETH (Jan 2025)
Basis to Kraken
$2,500
Remains in MetaMask
0.5 ETH, $1,000 basis (Jan 2025)
Specific Identification

You choose to transfer exactly the January 2025 lot, keeping the June 2024 lot untouched.

Lot consumed
1 ETH from Jan 2025 lot
Basis to Kraken
$2,000
Remains in MetaMask
0.5 ETH, $1,500 basis (Jun 2024)

The transfer itself is not taxable in either case. But which lots move to Kraken determines your gain or loss when you eventually sell there. This is why lot-level tracking through transfers matters, not just knowing "I transferred 1 ETH."

6. You received crypto as income and later transferred it

You received 0.1 ETH as a staking reward. It was worth $250 at the time. That $250 is ordinary income. You then transferred the ETH from your staking platform to your personal wallet.

What you need: Your cost basis in that 0.1 ETH is $250 (the fair market value at receipt). The transfer to your personal wallet is non-taxable, and the $250 basis follows the asset to its new location. When you eventually sell, your gain or loss is calculated against that $250 basis.

What You Actually Need to Track

For every crypto transfer, document:

The transaction hash on both the sending and receiving side. This proves the transfer happened and connects the two sides.

The asset and quantity transferred. Make sure the amounts match on both sides (minus any gas fees).

The original acquisition date and price of the crypto being transferred. This is the cost basis that carries over.

The gas fee amount, its value in USD at the time, and the cost basis of the crypto used to pay it. This is needed to report the gas fee as a separate disposition.

The wallet or exchange on both sides. Under the wallet-by-wallet rule, you need to know exactly which lot queue the asset moved from and into.

If you're doing this manually, you're maintaining a spreadsheet that links send transactions to receive transactions across every platform you use. For people with a few transfers per year, this is tedious but manageable. For anyone with regular DeFi activity, dozens of wallets, or cross-chain usage, it quickly becomes unsustainable.

What's Coming: Broker-to-Broker Transfer Statements

The IRS plans to implement a transfer statement system for digital assets, similar to what exists for stocks. When this system is operational, exchanges will be able to share cost basis and holding period information when you transfer assets between them.

Not Yet Available

This system does not exist yet. The final regulations reference it, but there's no confirmed timeline for when brokers will be required to send and receive transfer statements. Even after it launches, it will only work for custodial brokers. Self-custody wallets, bridges, and DeFi protocols will remain outside the system.

Until transfer statements are functional, the burden of maintaining cost basis across transfers falls entirely on you.

How Cryptofolio Solves This

This is the exact problem Cryptofolio is designed to solve. When you connect your exchanges and wallets, Cryptofolio imports your full transaction history across all platforms and automatically links send transactions on one side to receive transactions on the other.

The cost basis follows the asset. When you transfer ETH from Coinbase to MetaMask, Cryptofolio carries the original Coinbase purchase price to your MetaMask wallet's lot queue. When you later sell from any connected platform, the correct cost basis is already in place.

For edge cases where automation can't determine the match (like OTC transfers or P2P sends), you can manually link the send and receive transactions yourself. This is the correct technical solution for cross-wallet cost basis, and it's something no competitor supports well.

The result: when tax season arrives, your cost basis is already accurate across every wallet and exchange. No spreadsheet reconstruction. No guessing. No zero-basis surprises on your 1099-DA.

For a complete overview of what a portfolio tracker tracks across all your wallets, exchanges, and DeFi positions, see our portfolio tracker guide. For a comparison of how tax software tools and portfolio trackers each handle the cost basis trail across transfers, see our Koinly vs CoinTracker vs Cryptofolio guide. For a full look at how transfer-related cost basis breaks feed into the five most common P&L errors, see our P&L tracker guide. For a look at how cross-exchange bots amplify the cost basis problem across multiple lot queues simultaneously, see our trading bot tax guide. For a broader look at how broken cost basis means your app is not showing your real profit, see our guide on what your portfolio app is not telling you.

Cost basis that follows your crypto.

Cryptofolio automatically links send and receive transactions across exchanges and wallets, so your cost basis never breaks.

Get Early Access →

The Bottom Line

Transferring crypto between your own wallets is not a taxable event. But it's the single most common reason cost basis records break. Every exchange-to-exchange move, every trip to self-custody, every bridge, and every DeFi interaction creates a gap in the data that your exchange can't fill.

The IRS doesn't care that your exchange lost the trail. They care that you report the correct gain or loss on every sale. With the 1099-DA now giving them direct visibility into your proceeds, any mismatch between their numbers and yours will surface.

The fix isn't complicated. It's consistent: track every transfer, carry the cost basis with the asset, and document the connection between send and receive transactions. The question is whether you do this manually or use a tool that does it automatically.

(For a complete walkthrough of filing your crypto taxes with accurate cost basis, see our filing guide.)

(If your records are complete and you want to use unrealized losses to reduce your tax bill, see our tax-loss harvesting guide.)

(For a complete walkthrough of how to track your portfolio across every wallet and exchange without losing your cost basis, see our multi-wallet tracking guide.)

Disclaimer: This article is for informational purposes only and does not constitute legal, tax, or financial advice. Cryptocurrency tax rules are complex, depend on your specific situation, and are subject to frequent regulatory changes. While we strive to keep our content accurate and up to date, information in this article may become outdated as policies evolve. Consult a qualified tax professional for advice on your individual circumstances.