Is Your Crypto Cost Basis Wrong? How to Calculate and Fix It
Your crypto cost basis is probably wrong if you've ever transferred between exchanges or used DeFi. Learn how to calculate, track, and fix your cost basis before filing.

You probably think your crypto cost basis is right. If you bought Bitcoin on Coinbase and sold it on Coinbase, it might be. But if you've ever transferred crypto between exchanges, moved assets to a wallet, bridged to another chain, swapped on a DEX, or done anything in DeFi, your cost basis is almost certainly wrong.
That matters because cost basis is the single number that determines how much tax you owe. Get it right, you pay what you owe. Get it wrong, you either overpay the IRS by hundreds or thousands of dollars, or you underreport and get flagged.
This guide explains what cost basis is, the five most common ways it breaks, a critical 2025 IRS rule change that most people don't know about, and how to fix it before you file your 2025 tax return.
For a broader look at what a portfolio tracker does beyond cost basis, see our portfolio tracker guide. For a direct comparison of balance trackers and portfolio trackers, including how to tell which type of tool you are using, see our balance tracker vs. portfolio tracker guide. For a deeper look at how missing cost basis means your app is not showing your real profit, see our guide on what your portfolio app is not telling you.
What Is Cost Basis and Why Does It Matter?
Cost basis is what you paid for an asset, including any fees. When you sell, your taxable gain or loss is the difference between what you received (proceeds) and what you paid (cost basis).
Taxable gain = Proceeds − Cost basis
If you bought 1 ETH for $1,800 and sold it for $4,250, your gain is $2,450 and that's what you owe tax on.
But if your cost basis is wrong, or missing entirely, the math falls apart. This is exactly what's happening with the new IRS Form 1099-DA. For the 2025 tax year, brokers report your proceeds but not your cost basis. If you don't supply it yourself, the IRS treats your cost basis as $0, meaning you'd owe taxes on the full $4,250, not your actual $2,450 gain. (For more on this, see our 1099-DA explainer.)
The Five Ways Your Cost Basis Breaks
Cost basis doesn't just go missing. It breaks in specific, predictable ways. Understanding these scenarios is the first step toward fixing them.
1. Transfers Between Exchanges
This is the most common cost basis problem in crypto. You buy ETH on Coinbase for $1,800. Later, you transfer it to Kraken. When you sell on Kraken, Kraken knows the proceeds but has absolutely no idea what you originally paid on Coinbase. From Kraken's perspective, the asset appeared via an incoming transfer with no purchase history attached.
The cost basis needs to follow the asset from Coinbase to Kraken. But exchanges don't share this information with each other. There's no equivalent of the stock brokerage transfer statement system for crypto (though the IRS plans to build one eventually). Until then, it's on you to maintain the connection.
This problem multiplies with every transfer. If you've moved the same asset through three exchanges and two wallets before selling, the cost basis trail has five potential break points.
For a complete explanation of what to document and how to keep the trail intact, see our crypto transfer cost basis guide.
2. Self-Custody Wallets
Moving crypto to a hardware wallet like Ledger or a software wallet like MetaMask is not a taxable event. You still own the asset, so your cost basis carries over. But the wallet itself has no record of what you originally paid. It only knows the asset arrived at a certain time.
If you later send that crypto back to an exchange and sell, the exchange sees an incoming deposit with no history. Your cost basis exists somewhere in your Coinbase transaction history from two years ago, but nothing connects it to the sale you're making today.
3. Cross-Chain Bridges
Bridging ETH from Ethereum to Arbitrum, or moving USDC from Ethereum to Polygon, is generally treated as a transfer between your own wallets. The cost basis should carry over. But the bridge creates a new token on the destination chain, and the on-chain record of the original purchase lives on a completely different blockchain.
Bridge fees paid in crypto (like ETH gas) are themselves a separate taxable event. You're disposing of ETH to pay for the bridging service, which means the fee amount needs to be tracked at its fair market value and run through your FIFO calculation.
4. DeFi Interactions
DeFi creates some of the most complex cost basis challenges:
Swaps: Exchanging ETH for USDC on Uniswap is a taxable disposition of ETH and an acquisition of USDC. Your cost basis for the USDC is its fair market value at the time of the swap. The ETH you gave up needs to have its gain/loss calculated against your original purchase price, using FIFO to determine which ETH lot was consumed.
Staking rewards: Receiving staking rewards (like DOT or SOL rewards) is ordinary income at the fair market value when you gain control. That value becomes your cost basis. When you later sell those rewards, you calculate gain or loss against that basis.
Liquidity pools: Adding tokens to a liquidity pool is generally treated as disposing of those tokens and acquiring LP tokens. Removing liquidity is the reverse. Each step is a separate taxable event with its own cost basis calculation.
Airdrops: Receiving airdropped tokens is generally ordinary income at fair market value when you gain dominion and control. That FMV becomes your cost basis for future sales.
Each of these creates new tax lots with their own cost basis, holding period, and position in your FIFO queue. Without proper tracking, the chain of cost basis from original purchase through DeFi interactions to eventual sale becomes impossible to reconstruct. We cover each of these in detail in our complete DeFi tax guide. For a step-by-step walkthrough of how cost basis flows through each DeFi interaction, see our DeFi cost basis guide. For a deeper look at how to track DeFi positions across Aave, Uniswap, Lido, and other protocols, see our DeFi tracking guide. For a dedicated guide on how airdrops are taxed and the correct cost basis to record at receipt, see our airdrop tax guide.
Under IRS Notice 2024-57, certain DeFi transactions (including wrapping/unwrapping tokens, liquidity pool lending, and staking) are temporarily excluded from 1099-DA reporting. They are, however, still taxable events that need to be tracked.
5. Missing Historical Data
If you've been in crypto since before exchanges tracked cost basis (which many only started doing recently), your earliest purchases may have no recorded cost basis at all. The same applies if you acquired crypto through mining, peer-to-peer transactions, or OTC deals where no platform recorded the purchase price.
For these situations, you need to reconstruct cost basis from whatever records you have: bank statements, emails, blockchain timestamps matched to historical prices. If you can't determine the original cost basis, you're stuck either using fair market value at the time you first tracked it (which may overstate or understate your actual basis) or defaulting to $0 (which means you pay tax on the entire proceeds).
How FIFO Works (And Why It Matters for Cost Basis)
When you sell crypto, you need to determine which specific units you're selling. If you bought Bitcoin at three different prices across three different dates, the cost basis depends on which "lot" you're selling.
FIFO (First In, First Out) is the default method under IRS rules when you don't specifically identify which units you're selling. It means you're always selling your oldest units first.
Under FIFO, when you sell at Step 3, you're selling the oldest lot (Lot A). Your gain is $40,000 − $20,000 = $20,000.
If you could specifically identify Lot B instead, your gain would only be $40,000 − $35,000 = $5,000. The accounting method you choose can significantly impact your tax bill. (For a full breakdown, see our FIFO vs. LIFO vs. Specific Identification guide.)
Accurate cost basis also enables tax-loss harvesting. To identify positions where you can realize a loss for tax purposes, you need precise records of what you paid for each lot. For a complete guide to this strategy, see our tax-loss harvesting guide. For a detailed look at how trading bots amplify fee tracking and lot queue challenges at scale, see our trading bot tax guide.
Important: FIFO doesn't just apply to simple buy-and-sell. Every crypto-to-crypto swap, every DeFi interaction, and every token you spend on gas fees goes through the same FIFO calculation. A swap from ETH to USDC consumes your oldest ETH lot. Paying gas in ETH consumes your oldest ETH lot. Each disposal, no matter how small, triggers a FIFO lookup against your open lots.
Also important: Under US rules, a swap into a stablecoin like USDC is a taxable event. It does not defer the gain until you withdraw to USD. If you swap 1 ETH (basis $2,000) for $2,500 in USDC, you have a $500 realized gain at the moment of the swap.
Stablecoin swaps are a hidden source of cost basis events for most DeFi users. See how stablecoin tax treatment works across depegs, swaps, and yield.
The 2025 Rule Change Most People Don't Know About
Starting January 1, 2025, the IRS requires you to track cost basis on a wallet-by-wallet and account-by-account basis. This is a significant change from how most people have been calculating their crypto taxes.
What changed: Previously, many taxpayers (and tax software tools) calculated FIFO across their entire portfolio as a single pool. All your Bitcoin, regardless of which exchange or wallet it sat in, was treated as one unified FIFO queue. Your oldest lot got consumed first, no matter where it was held.
The new rule: Under IRS Revenue Procedure 2024-28 and related guidance, each wallet and exchange account is now treated as its own separate FIFO pool. If you sell Bitcoin from Kraken, the FIFO calculation only looks at Bitcoin lots held in your Kraken account, not lots sitting in your Coinbase account or Ledger wallet.
The safe harbor: If you didn't track cost basis at the wallet level before 2025, Revenue Procedure 2024-28 provides a safe harbor for allocating your pre-2025 cost basis across your wallets as of January 1, 2025. This is your starting point for per-wallet tracking going forward.
What this means for transfers: When you move crypto between your own wallets, the transfer itself isn't taxable, but you need to move the specific lots from one FIFO queue to another. The lots carry their original cost basis and acquisition date into the destination wallet's queue.
Under IRS Notice 2025-7, there is temporary relief for 2025 that allows taxpayers to record specific identification of digital asset units in their own books and records, rather than communicating it to their broker, since not all brokers have systems in place to accept these instructions yet. Without this relief, sales from broker-custodied accounts would default to FIFO. Consult a tax professional for your specific situation.
For a complete guide to managing your portfolio across multiple wallets and exchanges under the wallet-by-wallet rule, see our multi-wallet tracking guide. Since January 1, 2025, cost basis has to be tracked per wallet, not pooled universally. See how the new wallet-by-wallet rules actually work.
What Happens When Cost Basis Is Wrong
Getting cost basis wrong has real financial consequences:
Overpaying taxes. If you can't prove your cost basis, the IRS treats it as $0. On a $10,000 sale where your actual basis was $7,000, you'd owe tax on $10,000 instead of $3,000. At a 15% long-term rate, that's $1,500 vs. $450. Multiply that across dozens or hundreds of transactions and the overpayment adds up fast.
IRS mismatch notices. Starting in 2025, exchanges report your proceeds to the IRS on Form 1099-DA. If what you report on Form 8949 doesn't match, the IRS's automated systems flag it. You'll receive a CP2000 notice proposing additional taxes plus interest. You won't necessarily be audited, but you'll need documentation to respond. For the full list of mistakes that trigger these notices, see our crypto tax mistakes guide.
Penalties. Underreporting income, even unintentionally, can trigger accuracy-related penalties of 20% on top of the tax owed, plus interest from the original due date.
The safest approach is to proactively report accurate cost basis, even if your 1099-DA doesn't include it. For a guide on the five most common reasons your crypto P&L is wrong as a result of these errors, see our P&L tracker guide.
How to Fix Your Cost Basis
If you suspect your cost basis is wrong or incomplete, here's the path forward:
Step 1: Export everything
Download your full transaction history from every exchange you've used. Pull your on-chain transaction history for every wallet address you control. You need buys, sells, transfers, swaps, staking rewards, and airdrops.
Step 2: Match transfers
For every withdrawal from one platform, find the corresponding deposit on another. These two events need to be linked so the cost basis carries through. Without this link, the withdrawal looks like a disposal (triggering a false gain) and the deposit looks like a new acquisition (resetting basis to fair market value).
Step 3: Build wallet-level FIFO queues
Organize your lots by wallet and exchange account. Each account has its own FIFO queue for each asset. When a disposal happens, consume lots from that specific queue. When a transfer occurs, move lots between queues while preserving their original basis and acquisition date.
Step 4: Calculate gains and losses
For each disposal event (sale, swap, spend, or in-kind fee payment), calculate the gain or loss using the FIFO-assigned cost basis from the applicable wallet's queue. Remember: every crypto-to-crypto swap is a disposal of one asset and an acquisition of another.
Step 5: File Form 8949
Report each disposition on Form 8949. For 2025, digital asset transactions use checkbox groups G/H/I (short-term) and J/K/L (long-term). If your broker didn't report cost basis to the IRS, check Box H or Box K. You'll likely see Code Y on your 1099-DA, confirming basis was not reported. For a complete step-by-step walkthrough of Form 8949, Schedule D, and Form 1040, see our crypto tax filing guide.
Don't let missing cost basis cost you money
Cryptofolio reconstructs your complete transaction history across wallets, exchanges, and DeFi protocols, so your cost basis is accurate when you need it.
How Cryptofolio Handles This
Doing this manually is feasible for a handful of transactions. For anyone with activity across multiple exchanges, wallets, and DeFi protocols, it quickly becomes unmanageable. Cryptofolio automates the entire process:
- Connects all your accounts. Import transactions from exchanges via API and wallets via on-chain data. Read-only connections, no custody, no risk.
- Automatically matches transfers. When you move crypto between platforms, Cryptofolio links the withdrawal and deposit, preserving cost basis across the transfer without manual intervention.
- Tracks wallet-level FIFO. Each exchange account and wallet maintains its own FIFO queue, compliant with the 2025 IRS requirements. Lots carry their cost basis and acquisition date as they move between accounts.
- Handles DeFi complexity. Staking rewards, LP entries and exits, bridge transfers, token swaps, airdrops, and gas fees are all parsed and assigned the correct cost basis treatment automatically.
- Flags missing data. When cost basis can't be determined (for example, an old wallet import with no purchase history), Cryptofolio highlights it so you know exactly what needs attention, rather than silently guessing an incorrect value.
For a comparison of how tax software tools and portfolio trackers handle cost basis reconstruction differently, see our Koinly vs CoinTracker vs Cryptofolio guide.
Start Now, Not at the Deadline
The IRS filing deadline for 2025 taxes is approaching. If your cost basis is fragmented across exchanges, wallets, and DeFi protocols, now is the time to reconstruct it.
Transaction histories get harder to export over time. Exchanges shut down or change their APIs. Memory fades on which transfers went where. The cost basis problem doesn't get easier the longer you wait.
The best time to start tracking accurately was when you made your first trade. The second best time is right now.
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.