How do I track cost basis if I use multiple exchanges and wallets?

Anas3 min read
Verified
How do I track cost basis if I use multiple exchanges and wallets?

Cost basis is what you paid to acquire crypto, including fees. When you sell, swap, or spend it, you compare what you got against what you paid to calculate your gain or loss. If you earn tokens through staking or airdrops, the fair market value when you receive them becomes your cost basis.

The challenge isn't the math. It's keeping consistent records across everything you use. This guide gives you a workflow that scales from dozens to thousands of transactions.

Pick your cost-basis method and document it

Most jurisdictions allow FIFO (first-in, first-out), LIFO (last-in, first-out), HIFO (highest-in, first-out), or Specific Identification where you choose which lots you're selling. Specific ID is powerful but requires proof of which exact units you disposed of.

Choose a method your local rules allow. Write it down. Apply it consistently for the entire tax year. Awaken records your method and keeps an audit trail of every lot selection.

Create one master ledger

When activity spans multiple exchanges and chains, you need a unified ledger. Whether you use a spreadsheet or Awaken's importer, every transaction needs the same data points:

Timestamp in UTC

  • Platform or chain (Coinbase, Kraken, Solana, Ethereum)

  • Transaction type (buy, sell, swap, income, transfer in, transfer out, fee)

  • Asset in, amount in, asset out, amount out

  • Fee asset and fee amount

  • Fair market value at time of transaction (required for income)

  • Transaction hash or ID

  • From and to addresses

  • Notes (bridge, wrap/unwrap, staking, NFT)

  • Lot ID assigned on acquisition

Awaken normalizes this automatically and keeps the raw files as evidence.

Tag internal transfers correctly

Moving assets between your own accounts is not taxable. Moving BTC from Coinbase to your hardware wallet doesn't trigger a taxable event.

Record a transfer out from the source and transfer in at the destination. Link both sides with a shared ID. Network fees still matter though. If you pay the fee in the asset you're moving, that fee amount is a small taxable disposition. If you pay in a different token, that's a separate disposition.

Awaken detects likely internal transfers and lets you link or override them.

Build lots on every acquisition

Every time you acquire crypto, you create or add to a lot. For buys and swaps, the lot's cost is what you paid including fees. For income like staking rewards, airdrops, or mining, the fair market value when you received it becomes your cost basis.

Track the quantity, total cost, per-unit cost, and acquisition time. If you buy more of the same token at a different price later, that's a new lot. Awaken assigns lot IDs automatically.

Match lots on each disposal

When you sell, swap, or spend crypto, select lots according to your documented method. If you only dispose of part of a lot, split it proportionally. Record the proceeds, basis used, gain or loss, and holding period.

The holding period starts on the lot's acquisition date. Awaken lets you preview, change, and lock lot selections. Everything gets preserved for audit review.

Reconcile balances before filing

Your calculated balances should match your exchange statements and on-chain wallet balances. If they don't, common issues are:

  • Missing deposits or withdrawals

  • Duplicate imports from CSV and API

  • Token renames or contract changes

  • Untagged bridges, wraps, or unwraps

  • Timezone inconsistencies (always use UTC)

Awaken shows discrepancies by asset and points you to the exact transactions that need fixing.

Handle DEX, DeFi, and NFTs correctly

DEX swaps are trades. You dispose of one asset and acquire another, plus fees. Create a new lot for what you received.

Liquidity provision usually means swapping into LP tokens when you add liquidity, then swapping out when you remove it. Track both steps plus fees.

Staking and restaking rewards are income valued at receipt. Those values become the cost basis for new lots.

Bridges, wraps, and unwraps are usually non-taxable conversions but you need to preserve lot continuity and tag them correctly.

For NFTs, your mint cost plus gas is your basis. Sales create gains or losses. Royalties you receive are income. Burns are disposals with zero or minimal proceeds.

Awaken includes templates for common DeFi patterns so your classifications stay consistent.

Example across CEX, wallet, staking, and DEX

You buy 2.000 SOL at $80 on an exchange. Fee is 0.01 SOL. Total cost includes the fee value. This creates Lot L1.

You transfer 1.500 SOL to your wallet. Network fee is 0.002 SOL. No gain or loss on the transfer. The fee is a small disposition of SOL.

You receive 0.050 SOL as a staking reward when SOL is trading at $150. Your basis for Lot L2 is $7.50 (0.05 × $150).

You swap 0.800 SOL for USDC on a DEX when SOL is at $190. Fee is 0.001 SOL. Using FIFO, you pull from Lot L1. Your proceeds are about $152. Your basis is the portion of L1 you used. The fee is another small disposition. The difference is your gain or loss.

Awaken shows which lots were used, how fees were applied, and the exact numbers for proceeds and basis.

Common mistakes to avoid

  • Mis-tagging internal transfers as trades creates phantom gains. Link the send and receive properly.

  • Missing basis on wallet receipts. Trace back to the original buy, swap, or income event.

  • Ignoring fees or assigning them incorrectly. Capture every fee and classify it by which asset paid it.

  • Mixing timezones. Use UTC everywhere.

  • Duplicate transactions from importing the same data twice. De-duplicate using transaction IDs and amounts.

  • Unlabeled bridges or wraps break lot continuity. Tag them correctly.

  • Awaken flags these during import and suggests fixes.

Make it audit-ready

Keep a short memo documenting which cost-basis method you use and when you started using it. Keep an evidence pack:

  • Original exchange CSVs and wallet exports

  • Wallet addresses and end-of-period balance snapshots

  • A schedule showing lot selections and calculations for each disposal

  • Optional: file hashes to prove you didn't edit the raw data later

Awaken generates disposal reports, income schedules, and balance proofs. You can export everything for your accountant or auditor.

When to use a tool

With moderate volume, a tool saves time and prevents silent errors. You need reliable imports from both CEX and on-chain sources, automatic internal transfer detection, explicit lot tracking, switchable methods with audit trails, transparent per-transaction math, and clean exports for filing.

If a tool can't show you why a specific gain is what it is, it's not suitable for compliance. Awaken is built around these requirements.

Your end-of-year checklist

  • Decide and document your cost-basis method.

  • Import all sources into one normalized ledger.

  • Standardize asset symbols, timestamps in UTC, and reporting currency.

  • Tag and link internal transfers. Classify fees correctly.

  • Create lots on every acquisition (buys, swaps in, income).

  • Match lots on each disposal. Split lots when disposing partially.

  • Reconcile balances to statements and on-chain wallets.

  • Export capital gains detail, income detail, and workpapers.

  • Awaken walks you through this and won't let you finalize until balances reconcile.

Bottom line

Tracking cost basis across multiple exchanges and wallets is a data problem, not a memory test. Choose a defensible method, keep one master ledger, tag transfers correctly, and maintain lot histories. With that foundation, gains and losses calculate cleanly, audits are straightforward, and filing becomes routine.

Awaken makes each step visible and verifiable so you spend less time hunting CSVs and more time making trading decisions.

Disclaimer: This article provides general information and is not tax or legal advice. Rules vary by jurisdiction. Consult a qualified professional for your specific situation.

How to Track Crypto Cost Basis Across Exchanges Wallets