Crypto Schedule D
If you had crypto capital gains or losses in the US, they're summarised on Schedule D (Form 1040). The per-transaction detail goes on Form 8949, and the totals flow to Schedule D. CryptaTax produces both from your transaction history.

General information, not tax advice. Verify against current IRS forms or a tax professional.
What is Schedule D?
Schedule D, *Capital Gains and Losses*, is where US filers report their net capital gains and losses for the year. It separates short-term (assets held one year or less) from long-term (more than one year), nets them together, and carries the result to your Form 1040. If your losses exceed your gains, up to $3,000 can offset ordinary income, with the remainder carried forward to future years.
How crypto goes on Schedule D
You don't list individual crypto trades on Schedule D itself, those go on Form 8949, one line per disposal. Schedule D then pulls in the short-term and long-term totals from Form 8949 and combines them with any other capital assets (stocks, ETFs, etc.). So the two work together: Form 8949 is the detail, Schedule D is the summary.
Generate Schedule D with CryptaTax
Import your exchanges and wallets, and CryptaTax produces a completed Form 8949 (short- and long-term), the matching Schedule D totals, and the full transaction detail behind them, ready to file or hand to your accountant. It also matches each disposal to the right acquisition lot per wallet, which is the part that's hard to get right by hand.
→ Crypto tax in the US → · Import your exchanges & wallets →
Who actually needs to file a Schedule D for crypto
It is worth being clear about why this form exists before worrying about how to complete it. Schedule D is the place a US filer reports the overall result of buying and selling capital assets during the year. Crypto is one such asset: the IRS treats digital currency as property, so the gain or loss on each disposal is a capital gain or loss in the same family as selling shares, a mutual fund, or other investments. If you disposed of any crypto during the year, and a disposal is broader than most people assume, the result of that activity generally belongs on this form.
A disposal is not just cashing out to dollars. Swapping one token for another, spending crypto to buy goods or services, and paying a fee in crypto are all disposals, because in each case you are parting with an asset that has a cost basis and a market value. The reverse, simply buying crypto and holding it, or moving your own coins between wallets you control, is not a disposal and does not by itself create anything to report. Income events such as staking rewards or airdrops are a separate matter: they are taxed as ordinary income when received and belong on a different part of the return, not on Schedule D. See the crypto income report → for that side.
How the figures behind Schedule D are produced
Schedule D itself is only a summary, the integrity of the form depends entirely on the per-disposal detail that feeds it. Getting those numbers right is the real work, and it rests on three things being done correctly across your entire transaction history.
- Complete history. Every account and wallet you used has to be included, going back to the first coin you ever acquired, not just the year you are filing. A disposal this year may consume coins bought several years ago, and the form needs that original cost.
- Matched transfers. When you move coins between your own wallets, the outgoing and incoming sides must be linked so the movement is recognised as a transfer rather than mistaken for a sale. Unmatched transfers are the single most common cause of phantom gains.
- Cost basis carried with the coins. When you withdraw crypto from an exchange to self-custody and later sell it elsewhere, the price you originally paid has to follow the coins. If that link is broken, the later sale can be taxed on its full proceeds with no basis to offset it.
The other decision baked into every line is which lot a disposal draws from when you hold several batches of the same coin bought at different prices. The method you use, and the holding period it implies, determines whether a gain is short-term or long-term, which in turn changes where it lands in the netting on Schedule D. This is why the cost-basis method → matters so much: it is not a cosmetic choice but the engine that produces the figures you ultimately sign.
How Schedule D relates to your other crypto reports
No single form tells the whole story of a crypto year, and Schedule D is deliberately narrow. It captures the capital side, the gains and losses from disposing of assets. The detail behind it lives on Form 8949, and the summarised totals carry up to your main return. Sitting alongside, but kept entirely separate, is your income: rewards, staking, mining, and airdrops are taxed when received and reported elsewhere. A clean filing keeps these two streams apart so the same value is never taxed twice in the wrong place.
If you find it easier to think in terms of a single underlying document, the capital gains report → is the country-neutral version of what Schedule D summarises: every disposal with its cost basis, proceeds, and gain or loss. For US filers that report maps onto Schedule D and Form 8949; for filers elsewhere it maps onto their own capital gains pages. Browse the full set at crypto tax reports & forms →, and see how the US rules fit together at crypto tax in the US →.
Common mistakes with crypto on Schedule D
- Only reporting sales to dollars. Crypto-to-crypto swaps and spending crypto are disposals too. Leaving them out understates the activity and conflicts with the data exchanges increasingly report to the IRS.
- Mixing up short-term and long-term. The one-year holding line changes how a gain is treated. If acquisition dates are wrong or missing, disposals can land on the wrong side of the split and distort the netting.
- Counting wallet-to-wallet transfers as sales. Without linked transfer records, software can invent a disposal where none happened, creating tax on a gain you never realised.
- Dropping fees. Transaction and network fees affect proceeds and basis. Ignoring them is small per trade but adds up across an active year.
- Forgetting losses. A net capital loss is not just a non-event, reporting it lets the allowable portion offset other income and carries the remainder forward. Skipping a loss year quietly throws away a future deduction.
- Reconstructing the year from memory. Trying to rebuild trades from a half-remembered set of exchanges, after one has closed or an export is lost, is where most errors creep in. The fix is to keep records as you go.
Record-keeping that stands up to scrutiny
You are expected to be able to substantiate every figure on the form from first principles, so keep enough detail to reconstruct each disposal independently. In practice that means recording, for every batch you acquire, the date and what you paid in dollars including fees; for every disposal, the date, the dollar proceeds, and any fees; and the wallet addresses and account names involved, so transfers can be matched rather than counted as sales. Keep these organised by venue from the start, pulling them together years later, after an exchange has shut down, is the hard way to do it.
Amending a prior year
If you have already filed and then realise a past year was wrong, a missed exchange, an unreported swap, a transfer mistaken for a sale, the answer is to correct it rather than hope it passes unnoticed, especially as more crypto activity is now reported to the IRS directly. The mechanics of amending a US return, including which form to use and the window for doing so, are set out in current IRS guidance; check the current form and your country's guidance for the specifics. What matters from a crypto standpoint is that you rebuild the year from a complete, correctly matched history so the corrected figures are right the second time. Re-running your full history in CryptaTax for the affected year produces exactly that revised detail.
How CryptaTax generates your Schedule D
CryptaTax takes the laborious, error-prone parts off your plate. You connect your exchanges and wallets, it ingests your full history, links self-transfers across venues, carries cost basis with the coins as they move, applies a holding-period split, and matches every disposal to the right acquisition lot. From that it produces the Form 8949 detail and the Schedule D totals together, with the underlying transactions visible behind every figure, so you, or your accountant, can trace any number back to the trade that produced it. Connect your accounts at integrations →.
Short-term, long-term, and why the holding period shapes the form
One distinction does more than any other to shape what Schedule D looks like: whether a gain is short-term or long-term. The dividing line is the holding period, how long you owned the coins before disposing of them, and it changes how the gain is treated, which is why Schedule D nets the two categories separately before combining them. For crypto this is harder than it sounds, because a single sale can draw from several batches bought on different dates, some short-term and some long-term, and the split has to be worked out lot by lot rather than for the sale as a whole.
That is exactly why accurate acquisition dates matter so much. If the date a batch of coins was bought is missing or wrong, common when crypto has been moved between wallets and exchanges over the years, a disposal can land on the wrong side of the line and be mischaracterised. CryptaTax preserves each acquisition's original date as the coins move, so the holding period is measured from when you genuinely acquired them, and the short-term and long-term totals on your Schedule D reflect reality. The exact treatment and any rate consequences should be taken from the current IRS forms and guidance.
More questions about Schedule D and crypto
Do I file Schedule D if I only had losses?
Generally yes, and it is to your advantage. Reporting a net capital loss lets the allowable amount offset other income for the year, with any excess carried forward to reduce gains in future years. Skipping a loss year forfeits a deduction you are entitled to. For the exact amounts and carry-forward rules, check the current form and IRS guidance.
What if I used several exchanges and wallets?
Schedule D reflects your activity across all of them combined, not one venue at a time. That is precisely why a complete, transfer-matched history matters: coins bought on one exchange and sold on another are a single chain of events, and the cost basis has to follow them across the gap. CryptaTax stitches the venues together so the totals are whole.
Does NFT activity go on Schedule D too?
Disposing of an NFT is generally a capital event in the same way as disposing of a token, so the gain or loss typically belongs in the same capital reporting as the rest of your crypto. Some NFTs may be treated differently depending on their nature and your circumstances, so check current IRS guidance or a tax professional for anything unusual.
Can my accountant work from the CryptaTax output?
Yes. The Form 8949 detail and Schedule D totals come with the full transaction history behind them, so an accountant can review the basis of every figure rather than taking a summary on trust. Many filers hand the export straight over; others file it themselves. Either way the working is transparent.
FAQ
Form 8949 lists each individual crypto disposal; Schedule D summarises the totals. You typically file both, with Schedule D carrying the net result to Form 1040.
If you had taxable crypto disposals in the US, generally yes, the gains and losses are summarised on Schedule D.
Yes. It generates the Schedule D totals along with the Form 8949 detail from your imported transactions.
Up to $3,000 of net capital losses can offset ordinary income in the year, and any excess carries forward to future years.