Bitcoin capital gains reporting begins with Form 8949 (Sales and Other Dispositions of Capital Assets) and ends on Schedule D (Capital Gains and Losses), which feeds into Form 1040. For Bitcoin holders with dozens, hundreds, or thousands of transactions — DCA purchases, multiple sales, mining rewards, trading — the mechanics of filling these forms correctly matter enormously. Errors are a primary trigger for IRS CP2000 notices, which assert underreported income based on 1099 matching.
With the introduction of Form 1099-DA for tax year 2026 — the first year exchanges must report both proceeds and basis to the IRS for covered transactions — the reporting landscape is changing. Understanding both the old system (1099-B) and the new 1099-DA framework, and how each maps to Form 8949 boxes, is essential for anyone filing a Bitcoin tax return in 2026 or preparing prior-year returns.
This guide covers Form 8949 mechanics from first principles: what the form does, the Part I / Part II split, which boxes to check, the 1099-DA changes, how to use the aggregation method for high-volume filers, HIFO and specific identification documentation requirements, the wash sale column (why it usually stays blank for Bitcoin), common errors, and how Schedule D summarizes it all.
What Is Form 8949?
Form 8949 is the IRS form for reporting capital asset dispositions — sales, exchanges, and other dispositions of capital assets including stocks, bonds, mutual funds, real estate, and cryptocurrency. For Bitcoin holders, every taxable disposal generates a Form 8949 entry:
| Transaction Type | Form 8949 Required? | Notes |
|---|---|---|
| Sell Bitcoin for USD | Yes | Capital gain/loss on every sale |
| Trade Bitcoin for another crypto | Yes | Taxable exchange; gain/loss at FMV of received asset |
| Use Bitcoin to purchase goods/services | Yes | Gain/loss on difference between FMV at use and cost basis |
| Receive Bitcoin as payment (mining, services) | Not initially (ordinary income) → Yes on later sale | Receipt = ordinary income at FMV; later sale = capital gain/loss from that FMV basis |
| Gift Bitcoin to another person | No (donor) | No gain/loss to donor; recipient takes carryover basis |
| Donate Bitcoin to charity/DAF | No | No gain recognized on donation; deduction equals FMV |
| Transfer Bitcoin between own wallets | No | Not a disposition; no taxable event (same owner) |
| Inherit Bitcoin | No on receipt | Basis stepped up to FMV at death; Form 8949 only on later sale |
The Form 8949 Structure: Parts I and II
Form 8949 has two parts, split by holding period:
Part I — Short-Term Capital Transactions
Covers Bitcoin sold or disposed of after holding for one year or less (from acquisition date to sale date, not inclusive of both dates). Short-term gains are taxed at ordinary income rates — the same rate as wages and salary — up to 37% federal in 2026.
Part I contains three check boxes:
- Box A — Transactions reported on Form 1099-B (or 1099-DA) with basis reported to the IRS
- Box B — Transactions reported on Form 1099-B (or 1099-DA) with basis NOT reported to the IRS
- Box C — Transactions for which no Form 1099-B or 1099-DA was received
Part II — Long-Term Capital Transactions
Covers Bitcoin sold or disposed of after holding for more than one year. Long-term gains qualify for preferential capital gains rates: 0%, 15%, or 20% depending on taxable income, plus 3.8% NIIT for filers above $200,000/$250,000 MAGI.
Part II also contains three check boxes — the long-term equivalents of Part I:
- Box D — Long-term, 1099-B or 1099-DA with basis reported
- Box E — Long-term, 1099-B or 1099-DA with basis NOT reported
- Box F — Long-term, no 1099-B or 1099-DA received
Which Box to Check: The Bitcoin Decision Matrix
| Scenario | Holding Period | Correct Box |
|---|---|---|
| Exchange-reported sale, 2026+, basis reported on 1099-DA | ≤ 1 year | Box A |
| Exchange-reported sale, 2026+, basis reported on 1099-DA | > 1 year | Box D |
| Exchange-reported sale (pre-2026), 1099-B with proceeds but NO basis (noncovered security) | ≤ 1 year | Box B |
| Exchange-reported sale (pre-2026), 1099-B with proceeds but NO basis | > 1 year | Box E |
| Self-custody wallet sale (no 1099-DA or 1099-B) | ≤ 1 year | Box C |
| Self-custody wallet sale (no 1099-DA or 1099-B) | > 1 year | Box F |
| Foreign exchange sale (no U.S. reporting) | ≤ 1 year | Box C |
| Foreign exchange sale (no U.S. reporting) | > 1 year | Box F |
Completing Each Column of Form 8949
Each transaction line on Form 8949 has eight columns (A through H, plus code columns). For Bitcoin:
Column (a): Description of Property
Enter "Bitcoin" or "BTC" followed by the quantity sold. For example: "1.5 BTC" or "Bitcoin (0.75 BTC)". If aggregating multiple transactions on one line (see aggregation method below), describe the aggregate: "Bitcoin — See Attached Schedule".
Column (b): Date Acquired
The acquisition date of the specific lot(s) sold. If you use specific identification or HIFO, this is the date you acquired the highest-basis lots. If you are aggregating a category, you can enter the date range or "Various" if multiple acquisition dates apply. Using "Various" is permissible for the aggregation method.
Column (c): Date Sold or Disposed Of
The date of the sale or disposition. For exchange sales, this is the trade date (settlement date for some securities but trade date for cryptocurrency). Enter the actual date — month/day/year format.
Column (d): Proceeds
The gross proceeds from the sale — the amount received in USD (or the FMV in USD if received as property). For Bitcoin sold for cash, this is straightforward: the sale price. Do not reduce proceeds by any fees in this column — fees are added to basis in column (e).
Column (e): Cost or Other Basis
Your adjusted cost basis in the Bitcoin sold. This is the original purchase price plus any fees paid to acquire the Bitcoin. If you received Bitcoin as mining income, the basis is the FMV at the time of receipt (ordinary income recognized). If received as a gift, basis is the donor's original cost basis (carryover basis). If inherited, basis is the FMV at the decedent's date of death (stepped-up basis).
Column (f): Adjustment Code
Used when you need to make an adjustment to gain or loss. Common Bitcoin codes:
- W — Wash sale loss disallowed (generally does NOT apply to Bitcoin under current law)
- B — Basis adjustment (override of broker-reported basis with your own calculation)
- E — Excluded gains (for some specialized situations)
For most Bitcoin transactions, column (f) is left blank. The "B" code is relevant if you are overriding the basis reported on a 1099-DA with your specific identification calculation.
Column (g): Adjustments to Gain or Loss
The dollar amount of any adjustment — positive or negative. If using code "B" to override basis, enter the difference between the 1099-DA reported basis and your calculated basis here. Leave blank if no adjustments apply.
Column (h): Gain or Loss
Calculated automatically: Proceeds (d) minus Basis (e) plus or minus Adjustments (g). Positive = gain. Negative = loss. This flows to the Part totals, then to Schedule D.
The Aggregation Method: A Shortcut for High-Volume Bitcoin Filers
If you made 500 Bitcoin trades in 2026, you are not required to enter 500 individual lines on Form 8949. The IRS allows an aggregation method with an attachment:
When Aggregation Is Allowed
- All transactions in the group are from the same broker/exchange and reported on the same 1099-B or 1099-DA
- All transactions in the group check the same box (e.g., all Box A, all Box D, all Box E)
- The transactions are all short-term or all long-term (you cannot aggregate across Part I and Part II)
How to Aggregate
- On Form 8949, enter one summary line per category (e.g., one line for all Box E long-term transactions from Coinbase)
- In column (a): enter "Bitcoin — See Attached"
- In column (b): enter "Various" (multiple acquisition dates)
- In column (c): the last date sold in the group, or "Various"
- In columns (d) and (e): the totals for proceeds and basis across all transactions in the group
- Attach the detailed transaction-by-transaction schedule as a supplemental statement to the return (required — this is what the IRS can match against the 1099-DA if audited)
Most cryptocurrency tax software (Koinly, CoinTracker, TaxBit, TokenTax, etc.) generates Form 8949 in both detailed and aggregated formats with the required supplemental attachments. The software output meets the IRS attachment requirement when the transactions are properly organized by box category.
Aggregation Across Categories Is Not Allowed
If you have both Box E (1099-B, basis not reported) and Box F (no 1099-B) long-term transactions, they cannot be aggregated together. You need at least two separate lines (or two separate attached schedules) — one for Box E, one for Box F. Many Bitcoin holders have transactions across all six boxes, particularly if they use both exchanges and self-custody wallets.
HIFO and Specific Identification: Documentation Requirements
If you use HIFO (Highest-In-First-Out) or specific identification rather than FIFO (the IRS default), you must:
- Elect the method at the time of sale — not retroactively at tax time. Your crypto tax software must be configured to use HIFO or specific ID, and the lot selection must be documented at the time you execute the trade.
- Identify the specific lots — for specific ID, record the acquisition date, acquisition price, and quantity of the specific lots being disposed of at the time of sale. For HIFO, the software selects the highest-basis lots automatically — confirm the methodology matches what you report on Form 8949.
- Document the election — maintain records showing that the specific identification election was in place. For most filers, the crypto tax software audit trail and the lot-level transaction export constitute this documentation.
On Form 8949 when using HIFO or specific ID:
- Column (e) must reflect the specific-lot basis, not the FIFO basis that may appear on a 1099-DA
- If the exchange reports a different basis on the 1099-DA (based on FIFO), use adjustment code "B" in column (f) and enter the basis adjustment in column (g)
- Attach a detailed lot-level statement to the return explaining the methodology and showing the computation
See our complete guide on Bitcoin cost basis tracking for the full FIFO/HIFO/Specific ID comparison and when each is optimal.
The Wash Sale Column — Bitcoin's Unique Advantage
Column (g) of Form 8949 has a designated code for wash sale loss disallowances: transactions where you sell a security at a loss and repurchase a "substantially identical" security within 30 days before or after the sale.
Under current law, Bitcoin and other cryptocurrencies are not "securities" for IRC §1091 wash sale purposes. This means:
- Column (g) for wash sale code is left blank for pure Bitcoin-to-cash transactions
- You can sell Bitcoin at a loss and immediately repurchase it the same day — the loss is fully deductible
- No 30-day waiting period after harvesting a Bitcoin loss
This is one of the most significant advantages of Bitcoin tax-loss harvesting over stock TLH, where selling Microsoft at a loss and buying it back within 30 days disallows the loss entirely. See our guide on Bitcoin tax-loss harvesting for the full strategy.
Schedule D: How Form 8949 Flows Through
Schedule D summarizes Form 8949 into four key totals that flow to Form 1040:
| Schedule D Line | Source | Tax Treatment |
|---|---|---|
| Line 1a — Short-term totals from Box A/B transactions reported directly | Form 8949, Part I totals (Box A + B together if no adjustments) | Ordinary income rates (up to 37%) |
| Line 2 — Short-term from Form 8949 with adjustments | Form 8949, Part I, Box C (and any A/B with adjustments) | Ordinary income rates |
| Line 8a — Long-term totals from Box D/E | Form 8949, Part II totals (Box D + E without adjustments) | Preferential LTCG rates (0%/15%/20%) |
| Line 9 — Long-term from Form 8949 with adjustments | Form 8949, Part II, Box F (and any D/E with adjustments) | Preferential LTCG rates |
Schedule D then nets short-term gains/losses, nets long-term gains/losses, and determines the overall capital gain or loss position. If total losses exceed total gains, up to $3,000 can offset ordinary income per year; excess carries forward to future years. See our guide on Bitcoin capital loss carryforward for the complete mechanics.
Common Form 8949 Errors for Bitcoin Filers
Error 1: Omitting Transactions Reported on 1099-DA
Starting in 2026, U.S. exchanges report Bitcoin sales to the IRS on Form 1099-DA. If you receive a 1099-DA and do not report those transactions on Form 8949, the IRS will issue a CP2000 notice asserting all proceeds as pure gain (with $0 basis). Always reconcile your 1099-DA with your Form 8949 before filing — if every transaction on the 1099-DA is accounted for, the proceeds match, and the differences are in basis, you have a clean return.
Error 2: Using Only the 1099-DA Basis Without Overriding for HIFO
If your exchange uses FIFO for the 1099-DA but you computed your taxes using HIFO, the basis on the 1099-DA will be lower than your calculated basis. If you simply copy the 1099-DA onto Form 8949 without overriding, you overpay taxes. Override with your HIFO basis, use adjustment code B, and attach documentation.
Error 3: Treating Wallet Transfers as Taxable Events
Moving Bitcoin from one wallet to another — including from exchange to hardware wallet or between exchanges — is not a taxable event and should not appear on Form 8949. Transfers simply move the asset from one account to another with the same owner. Some cryptocurrency tax software may flag these as "undefined" transactions that need manual review — mark them as transfers, not sales.
Error 4: Incorrect Holding Period Determination
The holding period begins the day after acquisition and includes the day of sale. Bitcoin purchased on January 15, 2024 and sold on January 15, 2025 is exactly one year — short-term (not yet more than one year). Bitcoin sold on January 16, 2025 is long-term. DCA purchases create many different acquisition dates and corresponding holding period calculations. Crypto tax software handles this automatically — manual calculations are error-prone.
Error 5: Forgetting Mining Income as Basis
Bitcoin received from mining is ordinary income at FMV when received. When that Bitcoin is later sold, the cost basis is the FMV reported as ordinary income — not zero. Filing with a zero basis on mined Bitcoin doubles the tax (once as ordinary income on receipt, once as capital gain on sale). The mining receipt creates both income AND basis simultaneously.
Error 6: Using Average Cost Basis
Average cost basis is available for mutual funds but is not an officially sanctioned method for cryptocurrency under IRS guidance. Using average cost may result in incorrect gains/losses and potentially overpaid taxes in bull markets (average cost is often higher than FIFO basis but lower than HIFO basis). Use FIFO, HIFO, or specific ID — all clearly permissible for cryptocurrency.
Form 8949 Preparation Checklist
- Gather all 1099-B and 1099-DA forms from every exchange where you traded Bitcoin during the year
- Export complete transaction history from all exchanges and wallets to your crypto tax software
- Reconcile each 1099-DA proceeds figure against your software's computed proceeds — investigate any discrepancy
- Identify transactions requiring Box C or F (self-custody, foreign exchanges, no 1099) and compile your own records for basis documentation
- Confirm your cost basis method (FIFO, HIFO, specific ID) is configured in your tax software and consistently applied
- Separate transactions by category: Box A, B, C (Part I) and Box D, E, F (Part II)
- If aggregating: confirm all aggregated transactions share the same box and same broker; prepare the required detailed attachment
- If using HIFO/specific ID and overriding 1099-DA basis: use adjustment code B, enter the basis differential in column (g), and attach lot-level documentation
- Verify mining income: confirm each mined Bitcoin lot's basis equals the FMV at receipt reported as ordinary income
- Double-check that wallet-to-wallet transfers are excluded from Form 8949
Frequently Asked Questions
The Bottom Line
Form 8949 is the foundation of Bitcoin tax reporting. Getting the boxes right, using the correct basis method, properly handling the 1099-DA transition year, and applying the aggregation method correctly determines whether your Bitcoin tax return is clean and audit-resistant — or whether it contains the errors that trigger CP2000 notices and unnecessary back-and-forth with the IRS.
For high-volume Bitcoin holders, UHNW families with large positions sold across multiple accounts, or anyone using HIFO and specific identification to minimize taxes, the investment in professional crypto tax software (or a CPA with specific cryptocurrency experience) is almost always worth the cost. The software handles the mechanical complexity; the CPA handles the judgment calls and audit defense. Your job is to provide complete transaction history.
This article is educational only and does not constitute tax advice. Tax laws and IRS form instructions change annually. Always confirm current Form 8949 and Schedule D instructions with the official IRS publications or a qualified tax professional for the year you are filing. The 1099-DA rules described here reflect regulations as of the date of this article and may evolve through IRS guidance.