Crypto Tax Forms: File Form 8949 & Schedule D (2025 Guide)
You've got transactions scattered across a dozen exchanges, wallets you barely remember using, and IRS forms that look like they were designed to confuse you.
The IRS treats cryptocurrency as property, which means every trade, sale, or swap is a taxable event that needs to be reported. Miss a form or miscalculate your gains, and you're looking at penalties, audits, or worse. But it doesn't have to be complicated. This guide walks you through exactly which crypto tax forms you need, how to fill out Form 8949 and Schedule D for crypto, and what the new 1099-DA means for your 2025 filing.
Understanding crypto tax reporting
What makes crypto taxable?
The IRS doesn't see Bitcoin, Ethereum, or any other cryptocurrency as actual currency. Instead, it's classified as property, like stocks or real estate. This classification means every time you dispose of crypto, you're triggering a taxable event.
Disposing doesn't just mean selling for cash. You create a taxable event when you trade Bitcoin for Ethereum, buy an NFT with crypto, spend crypto on goods, or even swap tokens in a DeFi protocol. Each transaction requires you to calculate your gain or loss based on the difference between your cost basis and the fair market value when you disposed of it.
The IRS requires you to report all of this activity, regardless of whether you made a profit. Even if you lost money on every trade, you still need to file the proper forms to claim those losses and potentially offset other capital gains.
Which crypto tax forms to fill out?
Five main forms handle crypto tax reporting, and understanding which ones apply to you prevents filing mistakes:
- Form 8949: where you list every single crypto transaction with details like date acquired, date sold, cost basis, sale price, and gain or loss. Think of it as your transaction-level itemized list. If you made 200 trades last year, you're filling out 200 lines on Form 8949.
- Schedule D: summarizes the totals from Form 8949. After you've calculated all your individual gains and losses on Form 8949, Schedule D adds them up and splits them into short-term (held less than a year) and long-term (held over a year) categories. This summary flows into your main tax return.
- Form 1099-DA: starting with tax year 2025, exchanges and brokers will send you this form reporting your crypto sales and gross proceeds. It's similar to the 1099-B you get for stock trades, but designed specifically for digital assets.
- Form 1099-MISC: might show up if you received crypto payments for services, staking rewards over $600, or airdrops. This reports income rather than capital gains.
- Form 1040: is your main tax return, where everything ultimately goes. Your Schedule D totals transfer here, along with any ordinary income from crypto activities reported on other forms.
Read next: How to calculate crypto tax in U.S.
Need to estimate what you'll owe before diving into forms? Check Blockstats' crypto tax calculator to get a quick preview of your tax liability based on your trading activity.
Form 8949 for crypto: complete breakdown
What is Form 8949?
Form 8949 (Sales and Other Dispositions of Capital Assets) is the IRS's way of tracking every capital transaction you made during the year. For crypto traders, this form becomes your most time-consuming tax document because it requires line-by-line detail of every taxable crypto event.
The IRS uses this granular data to verify you're reporting accurate gains and losses. Each transaction needs six key pieces of information: description of the property (like "0.5 BTC"), date acquired, date sold, proceeds (sale price), cost basis (purchase price), and the resulting gain or loss.
This level of detail serves two purposes.
-
First, it forces you to have proper records, you can't just guess at numbers.
-
Second, it gives the IRS an audit trail. When exchanges start sending them 1099-DA forms with your transaction data, they'll cross-reference those against your Form 8949 to catch discrepancies.
How to fill out Form 8949 for crypto in a step-by-step process?
Start by gathering every transaction record from every exchange, wallet, and platform you used. Download CSV exports from Coinbase, Binance.US, Kraken, and anywhere else you traded. Don't forget DeFi protocols, NFT marketplaces, and hardware wallets where you moved or sold assets.
Next, categorize your transactions by holding period. The IRS splits capital gains into short-term (assets held one year or less) and long-term (over one year). Short-term gains are taxed as ordinary income at your regular tax rate, while long-term gains get preferential rates of 0%, 15%, or 20% depending on your income. You'll fill out separate sections of Form 8949 for each category.
For each transaction line, you'll need:
-
Column (a) - Description: Write the type and amount of crypto sold. Example: "0.25 BTC" or "10 ETH"
-
Column (b) - Date acquired: When you originally bought or received the crypto. Use "VARIOUS" if you're selling a portion from multiple purchase dates.
-
Column (c) - Date sold: The date you disposed of the crypto.
-
Column (d) - Proceeds: The fair market value in USD when you sold, traded, or spent the crypto. If you traded BTC for ETH, this is the USD value of the ETH you received.
-
Column (e) - Cost basis: What you paid for the crypto in USD, including any fees. This might require tracking back through multiple transactions if you transferred between wallets.
-
Column (f) - Adjustments: Usually blank for crypto unless you have specific situations like wash sale adjustments (though wash sale rules technically don't apply to crypto yet, some taxpayers apply them conservatively).
-
Column (g) - Gain or loss: Subtract column (e) from column (d). Positive numbers are gains, negative are losses.
Box selections at the top of Form 8949 matter. Check Box A for short-term transactions reported on a 1099-B showing basis was reported to the IRS, Box B for short-term transactions on a 1099-B where basis wasn't reported, or Box C for short-term transactions not reported on any 1099. Boxes D, E, and F are the same categories for long-term transactions.
Real example: filling out Form 8949 for Crypto
Let's walk through a realistic scenario. Sarah bought 1 BTC on March 15, 2024, for $65,000 (including a $50 exchange fee). On November 20, 2024, she sold 0.5 BTC for $48,000 (after a $40 sale fee).
Here's how this appears on Form 8949:
|
Description |
Date Acquired |
Date Sold |
Proceeds |
Cost Basis |
Adjustment |
Gain/Loss |
|
0.5 BTC |
03/15/2024 |
11/20/2024 |
$48,000 |
$32,525 |
- |
$15,475 |
The cost basis calculation:
Sarah's original 1 BTC cost $65,000 total.
Selling half means her cost basis for the 0.5 BTC is $32,500, plus half the original purchase fee ($25), totaling $32,525.
The sale fee of $40 reduces her proceeds to $47,960, but if she's using net proceeds, it's already factored in.
Since Sarah held the Bitcoin for 8 months (short-term), this transaction goes in the short-term section of Form 8949, likely Box C since most exchanges didn't issue 1099-DA forms for 2024 transactions yet.
If Sarah had made 50 trades instead of one, she'd have 50 similar lines to fill out. This is where automation becomes essential. Blockstats connects all major exchanges and wallets, automatically categorizes every transaction, calculates cost basis using your preferred method like FIFO, LIFO, or HIFO, and generates completed Form 8949 ready for your tax return.
Schedule D and its role for crypto
What is Schedule D?
Schedule D (Capital Gains and Losses) is the summary document that consolidates all your Form 8949 data into totals that transfer to your main 1040 tax return. While Form 8949 shows the granular detail, Schedule D shows the bottom line.
The form splits into two parts:
-
Part I for short-term gains and losses (assets held one year or less)
-
Part II for long-term gains and losses (assets held more than one year).
Each part asks you to total up specific categories based on which boxes you checked on Form 8949.
Schedule D does more than just add numbers. It also allows you to calculate your overall capital loss limitation. If your losses exceed your gains, you can deduct up to $3,000 against ordinary income per year, carrying forward any excess to future years. This makes accurate reporting crucial, underclaimed losses mean paying more tax than necessary.
How to complete Schedule D for crypto?
Start with Part I (Short-Term Capital Gains and Losses). You'll transfer totals from your Form 8949 short-term sections to the appropriate lines:
- Line 1a gets the total from Form 8949 Box A transactions (if any).
- Line 1b gets Box B totals.
- Line 2 gets Box C totals.
- Line 3 combines any other short-term gains not on 8949.
- Add lines 1a through 3 and enter the total on line 7.
Part II (Long-Term Capital Gains and Losses).
- Follows the same pattern with Form 8949 Boxes D, E, and F, culminating in line 15.
- Line 16 combines your short-term and long-term totals to show your overall capital gain or loss for the year. This single number represents the tax impact of all your crypto trading activity. If you have a net capital loss (line 16 is negative)
- Line 21 calculates how much you can deduct this year (up to $3,000) and how much carries forward.
If you have a net gain, that amount adds to your taxable income and gets taxed according to short-term (ordinary income rates) or long-term (preferential capital gains rates) rules.
For crypto traders with activity across multiple platforms, Schedule D becomes surprisingly complex. You might have short-term losses from NFT flips, long-term gains from Bitcoin held for years, DeFi staking income, and swap transactions, all needing proper categorization and totaling.
New crypto tax forms: 1099-DA explained
1099-DA: What's changing in 2025?
Starting with tax year 2025 (filed in 2026), cryptocurrency exchanges and brokers must issue Form 1099-DA to report digital asset transactions. This represents the biggest change to crypto tax reporting since the IRS started requiring disclosure.
Form 1099-DA will show the gross proceeds from your crypto sales during the year, similar to how Form 1099-B reports stock sales. Exchanges send one copy to you and another to the IRS, creating an automatic cross-check of your reported income.
The form triggers for any sale, exchange, or disposition of digital assets facilitated by the broker. If you sold $10 of Bitcoin on Coinbase, they'll report it. If you traded tokens on a centralized exchange, it's reported. Even some DeFi platforms may eventually fall under reporting requirements, though enforcement details are still evolving.
Not every platform will issue these forms immediately. Smaller exchanges, foreign platforms, and decentralized protocols might not comply in year one. This creates a dangerous gap, just because you don't receive a 1099-DA doesn't mean you don't owe taxes. The IRS still expects you to report all taxable events.
How to reconcile 1099-DA with your records?
Here's where it gets tricky, the 1099-DA your exchange sends might not match your own calculations. Common discrepancies include:
- Missing cost basis information. Early versions of 1099-DA may only report gross proceeds (what you sold crypto for) without showing your cost basis (what you paid). This makes the form nearly useless for calculating actual gains and losses, you'll still need your own records.
- Transfer confusion. If you bought Bitcoin on Coinbase, transferred it to a hardware wallet, then later moved it to Kraken and sold it, Kraken's 1099-DA will show the sale but won't know your original cost basis from Coinbase. They might report zero basis, making it look like the entire sale is profit.
- Timing differences. Exchanges might use different timezone cutoffs or transaction confirmation times than your records, causing dates to mismatch by a day.
- Missing transactions. Small exchanges or DeFi platforms might not issue forms at all, but those transactions still count.
The reconciliation process requires comparing the 1099-DA gross proceeds against your transaction history. Start with the total proceeds shown on the 1099-DA and verify it matches your records for sales on that platform. If it doesn't match, dig into individual transactions to find discrepancies.
For cost basis, you absolutely cannot rely on 1099-DA data alone if it shows zero or incomplete basis. Use your own purchase records, wallet transfers, and transaction history to calculate true cost basis. This is where Blockstats becomes invaluable, it syncs with all your exchanges and wallets automatically, maintains a complete transaction history with cost basis calculations, and reconciles everything against 1099-DA forms you receive.
When filing, your Form 8949 should reflect an accurate cost basis from your records, not potentially incomplete data from the 1099-DA. If there's a discrepancy between the 1099-DA and your Form 8949, use code B in column (f) for adjustments and attach a statement explaining the difference if necessary.
Common crypto tax filing scenarios
Trades, swaps, and direct sales
The most straightforward scenario is selling crypto for USD. You bought 2 ETH at $2,000 each ($4,000 total) and sold them six months later for $2,500 each ($5,000 total). Your gain is $1,000, reported as short-term on Form 8949, taxed at your ordinary income rate.
Crypto-to-crypto swaps get more complex but follow the same principle. Trading 1 BTC for 20 ETH counts as selling the BTC at its fair market value when you made the swap. If that Bitcoin was worth $60,000 at swap time and you originally paid $50,000, you have a $10,000 gain, even though you never touched USD.
DeFi transactions add another layer. Swapping tokens on Uniswap, providing liquidity, or yield farming all create taxable events. When you swap USDC for DAI on a decentralized exchange, the IRS sees it as disposing of USDC and acquiring DAI. Each leg of a complex DeFi strategy potentially generates a new tax line.
Many traders don't realize that even moving crypto between your own wallets isn't taxable, but you absolutely must track it. If you fail to document that you transferred Bitcoin from Coinbase to your Ledger wallet, you might later accidentally report that Ledger sale with zero cost basis, creating phantom gains.
NFTs, staking, and airdrops
NFT transactions follow property tax rules with unique quirks. Buying an NFT with ETH creates a disposal of the ETH (calculate gain/loss on the ETH based on what you paid for it versus its value when you spent it). Later selling the NFT creates a second taxable event based on the NFT's cost basis versus sale price.
Staking rewards are treated as ordinary income at the fair market value when you receive them. If you stake ETH and receive 0.1 ETH in rewards worth $300 when distributed, that's $300 of ordinary income reported on Form 1040 (possibly via 1099-MISC if over $600 from one platform). Later, when you sell those staking rewards, you calculate capital gains based on a cost basis of $300.
Airdrops follow similar logic. Receiving free tokens worth $500 creates $500 of ordinary income when you gain control of them. Your cost basis becomes $500, so if you immediately sell for $500, there's no additional capital gain. If you hold and later sell for $800, you have a $300 capital gain.
Read next: How to track and report arirdop tax
Hard forks create the most confusion. The IRS says you have taxable income when you receive new coins from a fork if you can exercise control over them. The Bitcoin Cash fork from Bitcoin is the classic example, receiving BCH created ordinary income equal to its value at receipt.
Tax-loss harvesting and offsetting gains
Strategic loss harvesting helps minimize your tax bill. If you have $20,000 in gains from profitable trades but also have positions down $8,000, selling those losers before year-end lets you offset gains, owing tax on only $12,000 instead of $20,000.
Capital losses first offset capital gains of the same type (short-term losses offset short-term gains, long-term offset long-term). Any excess short-term loss can then offset long-term gains and vice versa. After offsetting all gains, you can deduct up to $3,000 of remaining losses against ordinary income, carrying any excess forward to future years.
The wash sale rule, which prevents you from claiming a loss if you rebuy the same security within 30 days, technically doesn't apply to cryptocurrency yet since crypto isn't a security. However, this is a gray area and may change. Some tax professionals recommend following wash sale rules conservatively to avoid future IRS challenges.
Blockstats tracks your unrealized losses throughout the year, showing opportunities to harvest losses before December 31st. The platform's loss harvesting feature identifies which positions to sell for maximum tax benefit while maintaining your overall portfolio strategy.
How Blockstats automates crypto tax filing?
Connecting accounts and generating forms
Manual crypto tax filing means downloading CSVs from every exchange, matching buys and sells across platforms, tracking transfers between wallets, calculating cost basis for each transaction, and filling out hundreds of Form 8949 lines. Expect to spend 20-40 hours if you're an active trader, or hundreds of hours if you used DeFi extensively.
Blockstats reduces this to about five minutes of actual work. Connect your exchanges and wallets through secure read-only API connections or by uploading transaction CSVs. The platform supports over 500 integrations including Coinbase, Binance.US, Kraken, Gemini, major DeFi protocols across Ethereum and Solana, hardware wallets, and NFT marketplaces.
The AI-powered system automatically categorizes every transaction type, trades, transfers, staking, DeFi swaps, NFT purchases, airdrops, and calculates cost basis using your preferred accounting method (FIFO, LIFO, or HIFO). It tracks every transfer between wallets to avoid double-counting and handles complex scenarios like wrapped tokens, liquidity pool transactions, and cross-chain bridges.
Within minutes, you get complete IRS-ready forms: filled-out Form 8949 with every transaction listed, completed Schedule D with accurate totals, and a comprehensive tax summary showing your short-term gains, long-term gains, and income from staking or airdrops. Export these forms as PDFs to hand directly to your accountant or import into TurboTax.
For traders who received 1099-DA forms from exchanges, Blockstats automatically reconciles your calculated gains against reported amounts, flagging discrepancies and helping you prepare adjustments if the exchange data is incorrect or incomplete.
Saving time, money, and stress
The audit protection benefit is substantial. When the IRS has your transaction data from 1099-DA forms and questions your return, Blockstats provides a complete, time-stamped transaction history with audit trail documentation showing exactly how each gain and loss was calculated. This level of documentation is nearly impossible to create manually.
For accountants and tax professionals, Blockstats offers team plans with client management features. Instead of spending hours cleaning up client crypto data, accountants can have clients connect their accounts directly, review the auto-generated reports, and finish crypto tax returns in a fraction of the usual time.
Want to see how much you could save? Sign up for free on Blockstats now!
Stop Dreading Crypto Tax Season
Form 8949, Schedule D, and the new 1099-DA forms aren't optional paperwork you can skip. The IRS now has systems to cross-check crypto transactions, and penalties for underreporting start at 20% of unpaid taxes, plus interest and potential criminal charges in extreme cases.
The good news is, you don't need to spend weeks wrestling with spreadsheets or pay thousands for specialized tax help. Blockstats automates the entire process, syncing transactions from top exchanges and wallets, calculating accurate cost basis, reconciling 1099-DA forms, and generating complete IRS-ready tax forms in minutes.
Ready to file your crypto taxes the easy way? Start with Blockstats free and get your first tax report in under 5 minutes, no commitment required.
Frequently asked questions
What if I didn't receive a 1099 form from my crypto exchange?
You still must report all taxable transactions even if you receive no tax forms. The IRS considers your responsibility to report complete and accurate information regardless of whether third parties file forms. Keep your own transaction records and use crypto tax software like Blockstats to track everything comprehensively.
Do I need to report crypto if I only lost money?
Yes. Reporting losses actually benefits you because they offset other capital gains and up to $3,000 of ordinary income. If you don't report losing trades, you can't claim those losses. You still need to fill out Form 8949 and Schedule D showing the transactions and resulting losses.
How does Blockstats calculate cost basis for my crypto?
Blockstats offers three accounting methods: FIFO, LIFO, and HIFO. FIFO assumes you sell your oldest crypto first, LIFO assumes you sell your newest, and HIFO assumes you sell the crypto with the highest cost basis first. You can choose which method to use, and Blockstats automatically applies it across all transactions.
What if my transaction history is incomplete or messy?
Missing data is extremely common, especially if you've lost access to old exchange accounts or didn't track early transactions carefully. Blockstats can often recover transaction history directly from blockchain data if you provide wallet addresses, even for exchanges you no longer access. For truly unrecoverable data, you may need to use reasonable estimates with documentation explaining your methodology.
Can I file my crypto taxes myself without software?
You can file manually if you have very few transactions and straightforward buys/sells on one exchange. Download your transaction history, fill out your tax return. However, manual filing becomes impractical with higher transaction volumes, DeFi activity, or cross-platform transfers. The time investment and error risk make tax software worthwhile for most active crypto users.
Is Blockstats reliable for crypto tax reporting and IRS compliance?
Blockstats specializes in IRS-compliant crypto tax reporting with over $100 million in assets tracked and 9+ years of combined team experience in crypto, engineering, and tax law. The platform generates forms that meet IRS requirements and provides complete audit trails for every calculation. Thousands of traders and over 50 accounting firms use Blockstats for client tax preparation.