Form 8949 needs one row for every crypto or NFT sale, swap or spend: dates, proceeds, cost basis and gain or loss, split into short-term and long-term. Moonscape builds those rows from all your exchanges and wallets combined, then totals them onto Schedule D.
You can buy the 2025 US tax report first and import afterwards, or import free and pay once you see the numbers. Either way you get Form 8949 and Schedule D as IRS replicas, with the lot matching behind each row. The rest of this guide walks through every box.
What is the best way to track crypto and NFT cost basis for Form 8949?
Use one ledger that imports every exchange and wallet, tracks cost basis per wallet as the IRS requires from 2025, and prints each disposal as an 8949 row; Moonscape does this and shows the matched lots behind every figure.
Where can I get a Form 8949 template for digital assets, with FAQs?
The blank form and instructions are free at irs.gov, and Moonscape generates a filled IRS-replica Form 8949 and Schedule D from your own transactions, with this guide as the box-by-box FAQ.
Which Form 8949 box do I tick for crypto in 2025?
From tax year 2025, crypto goes in the digital asset boxes: G, H or I for short-term and J, K or L for long-term, depending on whether you got a 1099-DA and whether it shows basis reported to the IRS; boxes A to F are for other assets.
How do I combine several crypto accounts for Schedule D?
Import every account into one history, match transfers between your own wallets so they are not reported as sales, list each remaining disposal on Form 8949, and carry the short-term and long-term totals to Schedule D.
What Form 8949 Does
Form 8949 reports sales and other dispositions of capital assets. For crypto, that means:
- Selling crypto for fiat (BTC → USD)
- Trading crypto for crypto (ETH → USDC)
- Using crypto to buy goods or services
- Disposing of crypto through DeFi activities
- NFT sales
The form captures the details of each transaction: what you sold, when you bought it, when you sold it, what you received, what you paid, and your resulting gain or loss.
Form 8949 feeds into Schedule D, which summarizes your total capital gains and losses. Schedule D then flows to Form 1040, your main tax return.
Form 8949 Structure Overview
The form has two parts:
Part I: Short-Term Transactions (assets held one year or less)
Part II: Long-Term Transactions (assets held more than one year)
For tax year 2025 each part has its own boxes for digital assets. Crypto and NFT sales go in Part I box G, H or I (short-term) or Part II box J, K or L (long-term), picked by how the sale was reported to you:
- Box G (short-term) / J (long-term): reported on a 1099-DA with cost basis reported to the IRS
- Box H / K: reported on a 1099-DA, but basis not reported to the IRS
- Box I / L: no 1099-DA for the sale (DEX trades, DeFi, self-custody, many foreign exchanges)
You need a separate copy of Form 8949 for each box you use.
What changed for 2025: before, crypto shared boxes A, B, C (short-term) and D, E, F (long-term) with stocks. Those boxes are now for other assets only. The IRS says not to use box C for short-term digital asset transactions or box F for long-term ones; use I and L instead. Source: the IRS Form 8949 instructions, "What's New".
The Checkboxes: Getting Them Right
Why Checkboxes Matter
The box tells the IRS what it already has on file from your broker. This affects how your return is matched:
- Box G or J: the IRS has your proceeds and the basis the broker reported, and expects yours to match
- Box H or K: the IRS has proceeds but not basis, so your basis rests on your own records
- Box I or L: the IRS has no broker form for the sale; the row rests entirely on your reporting
Determining Which Box to Check
Box G (short-term) or J (long-term) if:
- The sale is on a 1099-DA, and
- The 1099-DA shows cost basis reported to the IRS
Box H or K if:
- The sale is on a 1099-DA, but
- Basis is blank or marked as not reported to the IRS (brokers report proceeds for 2025 sales; basis reporting starts with 2026 sales, so this is most 2025 1099-DAs)
Box I or L if:
- No 1099-DA was issued for the sale
- DEX trades, DeFi activity, wallet-to-wallet sales
- Sales on foreign exchanges without US reporting
There is no separate "digital asset" checkbox on Form 8949; boxes G to L are how the form marks crypto. A Moonscape report lists each sale with its 1099-DA status, so you or your preparer can put it in the right box.
Crypto Tax Guide is here
Moonscape's definitive guide to Bitcoin & crypto taxes provides everything you need to know to file your 2025 crypto taxes accurately.
Column-by-Column Breakdown
Let's walk through each column using a real example:
Transaction: You bought 2 ETH on January 15, 2025 for $6,000 total on Coinbase. You sold 2 ETH on November 30, 2025 for $7,200 on Coinbase. Coinbase sent you a 1099-DA with proceeds but no basis.
Column (a): Description of Property
Enter a clear description of what you sold.
Format: [Quantity] [Asset]
Examples:
- "2 ETH"
- "0.5 BTC"
- "1,000 USDC"
- "1 NFT (Bored Ape #1234)"
Our example: "2 ETH"
Tips:
- Be specific enough that someone could identify the asset
- For NFTs, include the collection name and token ID
- Don't include lengthy descriptions; the IRS just needs to identify the asset class
Column (b): Date Acquired
Enter the date you originally obtained this asset.
Format: MM/DD/YYYY
Our example: "01/15/2025"
Special cases:
"VARIOUS": If you're selling units acquired on multiple dates and using a method that pools lots (like average cost, which doesn't apply to crypto under current rules), you might enter "VARIOUS." However, for crypto using FIFO or specific identification, you should ideally list the specific date.
Inherited assets: Enter "INHERITED" and the date of the decedent's death.
Gifted assets: Enter the original acquisition date (when the donor acquired it), not when you received the gift.
Column (c): Date Sold or Disposed
Enter the date of the taxable event.
Format: MM/DD/YYYY
Our example: "11/30/2025"
Tips:
- Use the trade execution date, not settlement date
- For DeFi transactions, use the block timestamp
- Ensure this matches your 1099-DA (if applicable)
Column (d): Proceeds (Sales Price)
Enter the total amount you received from the sale in USD.
Our example: "$7,200.00"
What counts as proceeds:
- Cash or fiat received
- Fair market value of other crypto received (in a swap)
- Fair market value of goods/services received
Do NOT deduct fees here. Report gross proceeds. Fees are handled elsewhere.
Tips:
- Should match Box 2 on your 1099-DA (if applicable)
- For crypto-to-crypto swaps, this is the USD value of what you received
- Round to nearest dollar (or include cents—be consistent)
Column (e): Cost or Other Basis
Enter what you paid for the asset, including fees.
Our example: "$6,000.00"
What to include in basis:
- Original purchase price
- Exchange/broker fees at purchase
- Gas fees to acquire (if paid separately)
- Transfer fees to get the asset into your wallet
Tips:
- This is your "all-in" cost
- If you received the asset as income (airdrop, staking reward), basis equals the FMV at receipt
- For gifted assets, basis is generally the donor's basis
Column (f): Adjustment Code
Enter a code if you need to adjust your gain/loss calculation.
Common codes:
- W: Wash sale (loss disallowed) — currently doesn't apply to crypto
- O: Other (explain in Column g)
Our example: Leave blank (no adjustment needed)
When to use adjustments:
- If your 1099-DA basis is wrong and you're reporting the correct figure
- If there are special circumstances affecting the calculation
- In the future, if wash sale rules extend to crypto
Column (g): Amount of Adjustment
Enter the dollar amount of any adjustment.
Our example: Leave blank
Example where adjustment applies:
If your 1099-DA reports basis of $5,000 but your actual basis is $6,000 (broker didn't include fees), you'd enter:
- Column (e): $6,000 (your correct basis)
- Column (f): O
- Column (g): $1,000 (adjustment amount)
This tells the IRS you're reporting different from the 1099 and why.
Column (h): Gain or (Loss)
Calculate: Column (d) minus Column (e), plus or minus Column (g)
Our example: $7,200 - $6,000 = $1,200 gain
Tips:
- Losses are shown in parentheses: ($500)
- This is the taxable amount from this transaction
- Double-check arithmetic—math errors are common
Complete Example: Part I (Short-Term)
Let's fill out Part I for our example transaction:
Box: H (short-term digital asset, 1099-DA received, basis not reported to the IRS)
| (a) Description | (b) Acquired | (c) Sold | (d) Proceeds | (e) Basis | (f) Code | (g) Adjust | (h) Gain/Loss |
|---|---|---|---|---|---|---|---|
| 2 ETH | 01/15/2025 | 11/30/2025 | $7,200 | $6,000 | — | — | $1,200 |
This transaction is short-term because it was held for less than one year (January to November 2025).
Part II: Long-Term Transactions
Identical format to Part I, but for assets held more than one year.
Example: You bought 1 BTC on March 10, 2024 for $65,000. You sold it on April 15, 2026 for $105,000.
Holding period: March 2024 to April 2026 = more than 1 year = long-term
| (a) Description | (b) Acquired | (c) Sold | (d) Proceeds | (e) Basis | (f) Code | (g) Adjust | (h) Gain/Loss |
|---|---|---|---|---|---|---|---|
| 1 BTC | 03/10/2024 | 04/15/2026 | $105,000 | $65,000 | — | — | $40,000 |
Long-term gains are taxed at preferential rates (0%, 15%, or 20% depending on your income).
Handling Multiple Transactions
Most crypto users have dozens or hundreds of transactions. Here's how to handle volume:
Option 1: List Every Transaction
If you have fewer than ~50 transactions, list each one individually on Form 8949.
Option 2: Summary Totals with Attachment
If you have many transactions:
- Enter summary totals on Form 8949 (one line per category)
- Attach a detailed statement showing every transaction
- Write "See Attached Statement" in column (a)
The statement should include all the same columns as Form 8949, formatted clearly.
Option 3: Use Tax Software
Software like Moonscape generates Form 8949 automatically with all transactions listed. You get:
- Properly sorted short-term vs long-term
- Correct checkbox selection
- Digital asset boxes G to L
- IRS-accepted format
Common Mistakes and How to Avoid Them
Mistake 1: Wrong Checkbox
Problem: Using box G when you should use H (or vice versa), or putting crypto in the old A, B, C boxes.
Why it matters: Box G tells the IRS your broker reported basis, so it will try to match your numbers. If the broker reported none, the mismatch can lead to a notice.
Fix: Read your 1099-DA. Basis reported to the IRS → G (short-term) or J (long-term). Not reported → H or K. No 1099-DA → I or L.
Mistake 2: Mixing Crypto and Stocks on One Copy
Problem: Listing crypto sales on the same Form 8949 copy as stock sales from a 1099-B.
Why it matters: For 2025, crypto has its own boxes (G to L) and each copy of the form carries one box. Crypto on an A to F copy is in the wrong box.
Fix: Keep crypto on its own copies, one per box you use.
Mistake 3: Using Wrong Holding Period
Problem: Reporting a transaction as long-term when it's short-term (or vice versa).
Why it matters: Short-term gains are taxed at ordinary income rates (up to 37%). Long-term rates max at 20%. Misclassifying can result in underpayment.
Fix: Calculate holding period precisely. One year and one day = long-term. One year exactly = short-term.
Mistake 4: Reporting Transfers as Sales
Problem: Including transfers between your own wallets as taxable sales.
Why it matters: Transfers aren't taxable events. Reporting them inflates your gains.
Fix: Only report actual disposals—sales, swaps, purchases of goods/services. Moving crypto from Coinbase to MetaMask is NOT reportable.
Mistake 5: Wrong Basis Calculation
Problem: Using incorrect cost basis (often forgetting to include fees).
Why it matters: Understating basis = overstating gain = overpaying taxes.
Fix: Include ALL acquisition costs: purchase price + exchange fees + gas fees.
Mistake 6: Not Matching 1099-DA Proceeds
Problem: Reporting different proceeds than what appears on your 1099-DA.
Why it matters: IRS matching systems flag discrepancies.
Fix: If your 1099-DA is correct, use that number. If it's wrong, report your correct number and use adjustment codes/columns to explain.
Mistake 7: Omitting DeFi Transactions
Problem: Only reporting centralized exchange trades because that's what 1099-DAs cover.
Why it matters: DeFi transactions are taxable. The IRS can trace blockchain activity. Omitting taxable events is underreporting.
Fix: Include all taxable events (DEX swaps, LP exits, yield harvests) using box I (short-term) or L (long-term).
Transferring to Schedule D
After completing Form 8949 (all copies), transfer totals to Schedule D:
Line 1b: short-term totals from box A or G
Line 2: short-term totals from box B or H
Line 3: short-term totals from box C or I
Line 8b: long-term totals from box D or J
Line 9: long-term totals from box E or K
Line 10: long-term totals from box F or L
This pairing is printed on the 2025 Schedule D itself, for example line 1b: "Totals for all transactions reported on Form(s) 8949 with Box A or Box G checked". The IRS added codes G to L to these lines for digital assets (Schedule D instructions).
Schedule D then calculates your overall net capital gain or loss.
Special Situations
Worthless Tokens
If your crypto became worthless (project rug-pulled, token went to zero):
- You can claim a loss equal to your basis
- Report as if sold for $0 proceeds
- Date sold: typically December 31 of the year you claim worthlessness
- Consider documenting why the token is truly worthless
Stolen Crypto
Theft losses are complicated post-2017 tax reform:
- Personal theft losses are generally not deductible
- Some exceptions for federally declared disasters
- If stolen from a business, different rules apply
- Consult a tax professional for theft situations
Hard Forks and Airdrops
Receiving new tokens via hard fork or airdrop:
- Taxable as ordinary income at FMV when received (if you have dominion and control)
- Your basis in the new tokens = the income you recognized
- Later sale of those tokens uses that basis
NFTs
NFT transactions go on Form 8949 like any other asset:
- Description: "1 NFT [Collection Name #ID]"
- Basis: what you paid (including gas to mint)
- Proceeds: sale price minus platform fees (or report gross and adjust)
Moonscape Form 8949 Generation
Moonscape automates the entire Form 8949 process:
- Import transactions from all exchanges and wallets
- Classify automatically as short-term or long-term
- Calculate correct basis using your chosen method
- List each sale with its 1099-DA status, so it can go in the right box
- Generate IRS-ready Form 8949 PDFs
- Include all DeFi transactions—not just 1099-DA items
The output is ready to file or hand to your CPA.
Filing Tips
E-File vs. Paper
- E-filing with detailed statement attachment is generally accepted
- If you have hundreds of transactions, the software should generate appropriate summaries
- Ensure your tax software supports Form 8949 attachments
Record Retention
Keep supporting documentation for at least 6 years:
- 1099-DAs received
- Transaction history exports
- Blockchain transaction hashes
- Your Form 8949 calculations
- Cost basis methodology documentation
Amendments
If you discover errors after filing:
- File Form 1040-X (Amended Return) with corrected Form 8949 and Schedule D
- Do this as soon as you discover the error
- Voluntary correction is viewed more favorably than IRS discovery
Key Takeaways
- Use the 2025 crypto boxes: G/J (basis reported), H/K (basis not reported), I/L (no 1099-DA)
- Keep crypto off the A to F copies: those are for other assets from 2025
- Short-term vs long-term – Holding period determines your tax rate
- Include ALL disposals – Not just 1099-DA items
- Basis = all costs – Purchase price + fees
- Don't report transfers – Moving between your own wallets isn't taxable
- Use software – Manual Form 8949 at scale is error-prone
- Keep records – 6+ years minimum
Form 8949 is the foundation of crypto tax reporting. Getting it right ensures you pay exactly what you owe—no more, no less—and minimizes audit risk.
Further Reading
- Form 8949 Instructions (IRS)
- Schedule D Instructions (IRS)
- IRS Virtual Currency FAQ
- Publication 544: Sales and Other Dispositions of Assets
Start with Moonscape free to generate accurate Form 8949 reports from all your crypto activity.