How to Fill Out Form 8949 and Schedule D for Crypto Trades
Form 8949 and Schedule D are the two IRS forms you use to report capital gains and losses from crypto transactions. The process can feel tedious, but it follows a predictable structure. This walkthrough explains the key sections, columns, and common pitfalls.
Short-Term vs. long-term: the dividing line
The IRS splits capital assets into two holding periods. Short-term means you held the crypto for one year or less. Long-term means more than one year. This matters because tax rates differ. Short-term gains are taxed as ordinary income. Long-term gains usually receive lower rates.
Form 8949 has two parts. Part I is for short-term transactions. Part II is for long-term. You must separate your trades accordingly. If you held an asset for 11 months, it goes in Part I. If you held it for 14 months, it goes in Part II.
What goes in each column
Form 8949 has columns labeled (a) through (h). Here is what each one requires:
- (a) Description of property: Write the name of the crypto and the number of units traded. For example: "1.5 BTC" or "500 USDC."
- (b) Date acquired: The day you received the crypto. If you cannot determine the exact date, use an approximation or "various."
- (c) Date sold or disposed: The day you sold, traded, or otherwise triggered a taxable event.
- (d) Proceeds: The dollar value you received from the sale or trade.
- (e) Cost or other basis: What you originally paid for the crypto, including fees.
- (f) Adjustment code and amount: Used to correct errors. Enter "B" in this column if an exchange reported a wrong cost basis on Form 1099-B.
- (g) Gain or loss: Calculated as proceeds minus cost basis, adjusted for any correction in column (f).
- (h) Type of gain or loss: Check whether the transaction is short-term or long-term based on the holding period.
Box A, B, or C: Which One to Check
Form 8949 has three boxes at the top. Your choice depends on whether you received a Form 1099-B from an exchange. Box A is for short-term transactions reported on Form 1099-B where basis was reported to the IRS. Box B is for short-term transactions not reported on Form 1099-B. Box C is for short-term transactions where you did not receive a Form 1099-B at all.
The same logic applies to Part II. Box D, E, and F are the long-term equivalents. Most crypto exchanges issue Form 1099-B with zero cost basis reported. That means you will often use Box B or C, depending on whether the exchange provided a 1099-B at all.
The zero cost basis problem
Many exchanges report gross proceeds on Form 1099-B but leave the cost basis column blank or show zero. The IRS receives this data. If you file Form 8949 with zero cost basis, you would report the entire proceeds as gain. That is almost certainly wrong.
To fix this, enter the correct cost basis in column (e). Then enter code "B" in column (f). Code "B" tells the IRS that the exchange did not report the correct basis. You must also adjust the gain or loss in column (g) accordingly. Without code "B," the IRS system may flag your return for a mismatch.
Transferring totals to schedule D
Once you complete Form 8949, you transfer the net totals to Schedule D. Schedule D is the summary form for all capital asset transactions. It has four lines: short-term gains, short-term losses, long-term gains, and long-term losses.
Add up all gains and losses from Part I of Form 8949. Enter the net short-term result on Schedule D, line 1. Do the same for Part II on line 2. Then Schedule D calculates your overall net capital gain or loss. That number flows to your Form 1040.
A Practical Example
Suppose you bought 100 ADA for $150 on March 1, 2025. You sold it for $200 on June 15, 2025. Holding period is under one year, so it goes in Part I. You write "100 ADA" in column (a). Date acquired is March 1. Date sold is June 15. Proceeds are $200. Cost basis is $150. No adjustment needed. Gain is $50. Check Box C if you did not receive a Form 1099-B.
Now suppose the same trade, but the exchange reported $200 proceeds on a 1099-B with zero basis. You enter $150 in column (e) and code "B" in column (f). Net gain remains $50. The IRS sees the corrected basis.
Common mistakes to avoid
Do not mix short-term and long-term trades on the same Form 8949 part. Use Part I for short-term, Part II for long-term. Do not skip the adjustment code when an exchange reported a zero basis. The IRS will assume you omitted the basis intentionally. Do not forget to transfer totals from Form 8949 to Schedule D. The forms are linked, but you must complete both.
If you have many small trades, consider using an aggregated summary instead of listing each one. The IRS allows this for certain cases, but you must still report the net totals on Schedule D.
Form 8949 and Schedule D are mandatory for anyone who sold, traded, or disposed of crypto in a taxable transaction. The process is straightforward once you understand the structure. The key is accuracy, especially with cost basis adjustments.
Not financial advice. babybuilder.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.