Deep dive · 12 min
Cost basis across exchanges and partial transfers
Walk through BTC bought on Binance, Coinbase, and KuCoin — partial transfers, mixed lots, and multiple Form 8949 lines from one sale.
This walkthrough uses fictional round numbers to show how one sell order on Binance can produce multiple Form 8949 lines when FIFO consumes lots that originated on Coinbase and KuCoin.
Step 1 — Purchases (four separate lots)
| # | Exchange | Qty BTC | Price | Cost basis |
|---|---|---|---|---|
| 1 | Binance | 0.50 | $40,000 | $20,000 |
| 2 | Coinbase | 0.30 | $55,000 | $16,500 |
| 3 | KuCoin | 0.20 | $48,000 | $9,600 |
| 4 | Binance | 0.40 | $62,000 | $24,800 |
Step 2 — Partial transfers into Binance
- Transfer 0.15 BTC Coinbase → Binance (carries $55,000/BTC basis = $8,250)
- Transfer 0.10 BTC KuCoin → Binance (carries $48,000/BTC basis = $4,800)
Transfers are not taxable disposals. The receiving exchange must inherit the sending lot's basis — that is the crux of multi-exchange tracking.
Step 3 — Sell 0.75 BTC on Binance @ $70,000
Total proceeds: 0.75 × $70,000 = $52,500. Under FIFO, the engine consumes oldest lots first:
| FIFO line | Source lot | Qty | Basis | Proceeds share | Gain |
|---|---|---|---|---|---|
| 8949 line 1 | Binance buy #1 | 0.50 | $20,000 | $35,000 | $15,000 |
| 8949 line 2 | Coinbase buy #2 (via transfer) | 0.15 | $8,250 | $10,500 | $2,250 |
| 8949 line 3 | Coinbase buy #2 (remainder on Binance) | 0.10 | $5,500 | $7,000 | $1,500 |
One trade ticket on Binance — three Form 8949 lines because three distinct lots supplied the 0.75 BTC.
What breaks without transfer-aware software
- Binance-only reports assign missing or zero basis to the entire sale
- Transferred coins may be double-counted as new purchases
- HIFO/LIFO/specific-lot math becomes impossible to audit
CryptoTax8949 matches withdrawals to deposits, preserves per-lot basis, and applies your elected method at disposal time — so exports reflect economic reality instead of per-exchange silos.