Form 8949 for Crypto — 2025 Returns
Form 8949 is where every cryptocurrency disposal gets reported on your US federal return. Here's exactly how to fill it out for 2025 — including how the new Form 1099-DA changes the box selection.
Quick reference
- Form 8949 = list of individual disposals (one row each)
- Schedule D = totals from 8949 rolled up by short-term / long-term
- Six boxes = A/B/C (short-term) and D/E/F (long-term) — basis-reported vs not
- Form 1099-DA = new for 2025; shifts most trades from Box C/F into Box B/E
The six boxes — pick the right one
| Box | Holding period | 1099-B/DA | Cost basis on 1099? |
|---|---|---|---|
| A | Short-term ≤ 365 d | Yes | Yes (basis reported) |
| B | Short-term ≤ 365 d | Yes | No (basis not reported) |
| C | Short-term ≤ 365 d | No | N/A |
| D | Long-term > 365 d | Yes | Yes |
| E | Long-term > 365 d | Yes | No |
| F | Long-term > 365 d | No | N/A |
How Form 1099-DA changes things for 2025
Tax year 2025 is the first year US crypto brokers (Coinbase, Kraken, Gemini, eToro, Robinhood Crypto, etc.) issue Form 1099-DA reporting gross proceeds from your crypto disposals. This means most trades that previously went into Box C or F (no 1099 at all) now move into Box B or E (1099 issued, no basis).
Cost basis reporting on 1099-DA does not start until 2026 trades (filed April 2027). For 2025, you still calculate basis yourself.
Each row of Form 8949 — what goes in each column
- (a) Description: e.g. "0.05 BTC" or "100 ETH"
- (b) Date acquired: MM/DD/YYYY of original purchase. "VARIOUS" if you can't pin down a single date for a Specific ID lot.
- (c) Date sold: MM/DD/YYYY of disposal
- (d) Proceeds: USD value at disposal (sale price, or fair market value if traded for another crypto)
- (e) Cost basis: USD basis (purchase price + any acquisition fees)
- (f) Code: usually blank for crypto. "B" if basis is wrong on 1099 and you're correcting; "W" for wash sale (NOT applicable to crypto pre-2025 legislation change).
- (g) Adjustment: only if you used code in (f)
- (h) Gain/loss: proceeds minus basis plus adjustment
Worked example — 3 disposals, all categories
| Description | Acquired | Sold | Proceeds | Basis | Gain/Loss | Box |
|---|---|---|---|---|---|---|
| 0.5 BTC | 03/15/2024 | 02/10/2025 | $22,000 | $15,000 | +$7,000 | B (ST, 1099-DA, no basis) |
| 10 ETH | 06/22/2022 | 04/05/2025 | $25,000 | $11,000 | +$14,000 | E (LT, 1099-DA, no basis) |
| 100 SOL (Phantom→Backpack swap) | 11/01/2024 | 06/15/2025 | $3,500 | $5,200 | −$1,700 | C (DEX swap, no 1099) |
Manual or software?
Manual filling of Form 8949 is fine for under ~10 disposals on a single exchange. Above that, the box-mapping + 1099-DA reconciliation + crypto-to-crypto swap fair-market-value lookups become extremely error-prone.
Both Koinly and CoinLedger generate ready-to-file Form 8949 PDFs broken down by box. CoinLedger imports directly into TurboTax + H&R Block; Koinly exports CSV that those products accept.
Both tools are free to import all your transaction history. You only pay to export the final report.
Common Form 8949 mistakes for crypto filers
- Wrong box. Putting a 1099-DA-reported sale into Box C when it should be Box B. Triggers an automated CP2000 mismatch notice.
- Missing crypto-to-crypto swaps. Each swap is a disposal of the first asset.
- Not reporting losses. Up to $3,000 net capital loss offsets ordinary income; remainder carries forward indefinitely.
- Mixing FIFO/HIFO methods. Pick one method per tax year. Software locks this in for you.
- Forgetting transfer fees. Withdrawal fees from exchanges are part of cost basis if you're moving to your own wallet, then becoming acquisition cost when you swap.