Form 8949 is where you report every NFT sale. Get it wrong and you’ll either overpay taxes or trigger an audit.
Each NFT sale requires one line on Form 8949, showing the description, dates, cost basis, proceeds, and gain/loss.
What Form 8949 Looks Like
Form 8949 has columns:
(a) Description: Name and details of the NFT (b) Date acquired: When you bought/received it (c) Date sold: When you sold it (d) Proceeds: Sale price in USD (e) Cost basis: What you paid (including fees) (f) Code: Adjustments (usually blank) (g) Adjustment amount: Usually blank (h) Gain or loss: Column (d) minus column (e)
Example Entry
You bought Bored Ape #3456 on March 15, 2023 for 45 ETH ($72,000). You sold it on October 10, 2024 for 40 ETH ($64,000).
Form 8949 entry:
- (a) Description: Bored Ape Yacht Club #3456
- (b) Date acquired: 03/15/2023
- (c) Date sold: 10/10/2024
- (d) Proceeds: $64,000
- (e) Cost basis: $72,000
- (f) Code: (blank)
- (g) Adjustment: $0
- (h) Gain/(loss): ($8,000)
This is a long-term capital loss (held > 1 year).
Short-Term vs. Long-Term
Form 8949 has two sections:
Part I: Short-term gains/losses (held 365 days or less) Part II: Long-term gains/losses (held 366+ days)
Your Bored Ape held 574 days goes in Part II.
If you sold another NFT held 200 days, that goes in Part I.
Multiple Sales? Multiple Lines
If you sold 50 NFTs, you need 50 lines on Form 8949 (or an attached statement with all details).
Most tax software generates Form 8949 automatically if you input all your transactions. But you should review it for accuracy.
The 1099-B Problem
Traditional brokers send Form 1099-B showing your sales. NFT marketplaces don’t.
This means:
- You self-report every sale on Form 8949
- Check Box (C): “Short-term transactions not reported on Form 1099-B”
- Check Box (F): “Long-term transactions not reported on Form 1099-B”
Without 1099-B, you’re responsible for accurate record-keeping. The IRS has no third-party report to match against.
Common Mistakes
Forgetting gas fees in cost basis: Your cost basis should include purchase price + gas fees + marketplace fees. Many people only include the NFT price.
Using current ETH price instead of historical: Convert ETH to USD at the price on the transaction date, not today’s price.
Missing the adjustment columns: If you received an airdrop or earned an NFT (income), you need to adjust basis or use codes to show it was previously reported as income.
Lumping multiple NFTs together: Each NFT gets its own line. You can’t combine “10 Pudgy Penguins sold for $30,000” into one line.
Attaching Documentation
You don’t attach transaction receipts to your return, but keep them for your records:
- Blockchain transaction hashes
- Screenshots of marketplace sales
- Historical ETH/USD prices on transaction dates
- Cost basis calculations
If audited, you’ll need to produce these.
Form 8949 Flows to Schedule D
After completing Form 8949:
- Total short-term gains/losses → Schedule D Part I
- Total long-term gains/losses → Schedule D Part II
- Schedule D calculates your overall capital gain/loss
- That flows to Form 1040 line 7
Form 8949 is just the detail. Schedule D is the summary.
If You Have Too Many Transactions
The IRS allows you to attach a spreadsheet instead of filling out 100+ lines on paper Form 8949.
Your spreadsheet must include all the same columns (description, dates acquired and sold, proceeds, cost basis, gain/loss).
Most crypto tax software (CoinTracker, Koinly, etc.) generates this automatically.
Action Step
Before filing, generate a draft Form 8949 from your tax software or manually in a spreadsheet.
Review every line:
- Is the description accurate?
- Are the dates correct?
- Did you include gas fees in cost basis?
- Did you use historical USD values, not current prices?
One wrong entry can cost you hundreds in overpaid taxes or create an audit flag.
Form 8949 isn’t complicated—it’s just tedious. But it’s required, and accuracy matters. Take the time to get it right.