Cryptocurrency Tax Preparation: A Complete Guide

Cryptocurrency taxation feels like filing taxes for a parallel financial system that moves at internet speed while the IRS operates on forms designed in 1987. The regulations are evolving. The reporting requirements are real. Somewhere in between those two facts is your tax return, and that’s where things get interesting.
This page covers what makes crypto taxation different from traditional investments, common situations that create complexity, and how to handle reporting when your transaction history looks less like a brokerage statement and more like an archaeological dig through multiple wallets, disappeared exchanges, and that one DeFi protocol you experimented with at 2am.
If you’re here because you received Form 1099-DA, moved assets between platforms, participated in DeFi, or just have a general sense that your crypto taxes might be more complicated than TurboTax anticipates - you’re in the right place.
Quick Navigation
- The Crypto Tax Landscape
- Types of Crypto Tax Situations
- How I Approach Crypto Tax Preparation
- When You Need Specialized Help
- What To Do Next
The Crypto Tax Landscape
The IRS treats cryptocurrency as property, not currency. This creates tax reporting requirements every time you dispose of digital assets - selling for cash, trading one crypto for another, using crypto to buy something, or receiving tokens as income. Each disposal is a taxable event requiring cost basis calculation and gain/loss reporting.
What Makes Crypto Different
Traditional investment taxation assumes you:
- Buy through one or two brokers
- Receive comprehensive year-end statements
- Have complete cost basis tracking
Crypto taxation is none of those for most of us:
| Traditional Investing | Cryptocurrency Reality |
|---|---|
| 1-2 brokerage accounts | Multiple exchanges, wallets, protocols |
| Annual 1099-B with complete basis | 1099-DA with incomplete/zero basis |
| Broker tracks everything | You track everything yourself |
| Trades happen on platforms | Trades happen everywhere (DEX, wallet swaps, protocols) |
| Clear buy/sell records | Transfers, wraps, bridging, protocol interactions |
The complexity multiplies when you move assets between platforms. Transfers may not be taxable but you must track your cost basis (usually the purchase price) across exchanges and wallets.
💡 The IRS receives automated 1099-DA reports from exchanges. Their matching systems compare those reports against your tax return. Unreported transactions trigger IRS notices (CP2000) proposing tax on full proceeds with zero basis. Complete, accurate reporting is no longer optional.
Common Misconceptions
“I don’t owe tax unless I cash out to dollars.” Every crypto-to-crypto trade is taxable. Trading Bitcoin for Ethereum triggers capital gains reporting based on the fair market value at the time of exchange.
“My exchange will send me everything I need.” Exchanges report broker-facilitated activity. DeFi swaps, wallet transactions, small NFT sales, stablecoin exchanges under $10,000, and anything happening in self-custody creates reporting obligations the exchange never sees.
“The 1099-DA shows my tax liability.” The 1099-DA shows proceeds. For many transactions, it shows zero or incomplete cost basis. You must provide actual basis on Form 8949 to calculate correct tax. See our complete guide to Form 1099-DA for detailed explanation of what the form includes, what it doesn’t, and how to handle discrepancies.
“Crypto tax software will figure it out.” Software helps organize data but requires complete, accurate transaction imports. Missing exchange data, untracked wallet activity, or DeFi transactions create gaps. The software calculates what you give it - garbage in, garbage out.
Types of Crypto Tax Situations
Crypto tax complexity comes in different flavors. Your situation might involve one category or all of them. Here’s what each looks like and why it creates reporting challenges.
Trading & Exchange Activity
This is the baseline scenario: buying and selling cryptocurrency through centralized exchanges like Coinbase, Kraken, Gemini, or Binance.US. You receive Form 1099-DA reporting your transactions, but the form typically shows proceeds without complete cost basis - especially for assets you transferred into the exchange from elsewhere.
Why this gets complicated:
- Multiple exchanges and tokens mean multiple 1099-DAs that must be reconciled
- Transfers between platforms break cost basis tracking
- Exchange transaction exports use different formats and data structures
- Price discrepancies between exchange data and tracking software are common
- Fees are handled inconsistently across platforms
Even “simple” exchange trading requires matching reported proceeds against actual basis, categorizing transfers correctly as non-taxable, and documenting everything for Form 8949. The IRS matching system sees your 1099-DA proceeds. Your return must account for every dollar reported.
Related: What Is Form 1099-DA?
DeFi (Decentralized Finance)
Decentralized finance operates without brokers or centralized exchanges. You interact directly with protocols through wallet connections. This includes token swaps on platforms like Uniswap, providing liquidity to pools, yield farming, lending, borrowing, and staking through protocols.
Why this creates tax nightmares:
None of this activity generates a 1099-DA. The IRS receives no third-party reports. You’re responsible for tracking every swap, every liquidity pool deposit and withdrawal, every reward claim, and every protocol interaction. Each action potentially creates a taxable event.
Liquidity pool taxation is particularly complex. When you deposit tokens into a pool, you receive LP tokens representing your share. The pool rebalances continuously as trades occur. When you withdraw, you receive different amounts of the underlying tokens than you deposited. Calculating cost basis for this requires tracking the composition of your LP position over time - which most software handles poorly or not at all.
Yield farming rewards are ordinary income when received. If you then sell those reward tokens, that’s a separate capital gain/loss event. The two-step taxation catches people by surprise. At some point, someone clicked “approve” on a contract and now owes tax on tokens they can’t remember claiming.
NFTs
Non-fungible tokens create unique reporting requirements. Sales over $600 must be reported on Form 1099-DA, but sales under $600 remain taxable even without a form. Minting, buying, selling, and receiving royalties each have different tax treatment.
Tax treatment varies by activity:
- Buying an NFT: Not taxable, establishes cost basis
- Selling an NFT: Capital gain/loss, reported on Form 8949
- Minting an NFT (as creator): Business income when sold, deductible expenses include gas fees and platform fees
- Receiving royalties: Ordinary income, potentially self-employment tax
- Trading one NFT for another: Taxable exchange, both NFTs valued at fair market value
The valuation problem is real. What was the fair market value of that NFT when you received it as a prize? What about when you traded it for another NFT three months later? Floor prices are volatile and may not represent actual market value for specific pieces. Documentation matters when values are uncertain and amounts are substantial.
Staking & Rewards
Staking cryptocurrency to validate blockchain transactions generates rewards. The tax treatment depends on the type of staking and how you receive rewards.
Proof-of-stake rewards are taxable as ordinary income when you receive them, valued at the fair market value on the date received. This applies whether you stake directly through a protocol or through a centralized exchange staking program.
Important form distinction: Staking rewards from exchanges appear on Form 1099-MISC (if over $600), NOT on Form 1099-DA. Form 1099-DA excludes staking rewards and similar payments entirely - it only reports sales and exchanges of digital assets. Self-custody staking generates no tax form at all. You’re responsible for tracking and reporting regardless of whether you receive a form.
When you later sell those staking rewards, that’s a separate taxable event - a capital gain or loss based on the change in value from when you received them.
Liquid staking adds another layer. Services like Lido and Rocket Pool give you a derivative token (stETH, rETH) representing your staked assets plus accruing rewards. The tax treatment of these tokens is unsettled. Do you recognize income continuously as the token appreciates? Only when you convert back? The IRS hasn’t issued clear guidance, which means you need a defensible position and documentation.
Prediction Markets
Prediction markets like Polymarket and Kalshi let you trade on the outcomes of real-world events - elections, sports, economic data releases. You’re buying and selling shares that resolve to $1 if your prediction is correct or $0 if it’s wrong. The tax treatment is unsettled because these aren’t quite gambling, aren’t quite securities, and aren’t quite traditional crypto trading.
The uncertainty: The IRS hasn’t issued specific guidance on prediction market taxation. The most defensible position treats them like property transactions - capital gains when you sell shares or when they resolve. This means tracking cost basis for each position and reporting gains/losses on Form 8949.
Complications that arise:
- Platforms may not issue tax forms (no 1099-DA, no 1099-MISC)
- Positions resolve to cash or stablecoins, creating basis tracking requirements
- Rapid trading generates hundreds or thousands of transactions
- Some positions expire worthless (capital loss), others resolve to full value
- Foreign platforms create reporting ambiguity
If you’re treating this as trading activity, you must track every purchase, sale, and resolution. If positions resolved in your favor, that’s capital gain income whether or not you withdrew the proceeds. The blockchain records everything - lack of tax forms doesn’t eliminate reporting obligations.
Perpetual Futures & Derivatives
Perpetual futures (perps) on platforms like Hyperliquid and dYdX let you trade leveraged positions without expiration dates. You’re not buying the underlying asset - you’re entering a derivative contract that tracks its price. Funding rates flow between long and short positions continuously.
Why this creates tax complexity:
Traditional futures have clear IRS guidance under Section 1256. Crypto perpetuals don’t qualify for Section 1256 treatment, which means they’re taxed as ordinary property transactions. Each time you close a position, that’s a taxable event. Funding rate payments are likely ordinary income (when received) or deductible expenses (when paid), though the IRS hasn’t definitively ruled.
What you’re tracking:
- Opening and closing each position (capital gain/loss)
- Funding payments received or paid (likely ordinary income/expense)
- Liquidations (forced position closures)
- Collateral deposits and withdrawals
- Cross-collateral position netting if you’re trading multiple contracts
Leverage amplifies both gains and tax liability. A 10x position that doubles means your gain is calculated on the leveraged exposure, not just your collateral. Most platforms operating offshore don’t issue tax forms. You’re reconstructing everything from transaction exports and position history.
Memecoin Launch Platforms
Platforms like Pump.fun let anyone launch a token and start trading immediately. These generate some of the messiest transaction histories I see - hundreds of micro trades, tokens going to zero, rapid entries and exits, rug pulls, and the occasional moonshot that actually made money.
The tax reality nobody wants to hear:
Every trade is taxable. Every single one. That token you bought for $20 and sold 4 minutes later for $18? Taxable event, $2 capital loss. The fifteen tokens you traded over a weekend where twelve went to zero? Each one is a taxable event requiring cost basis calculation.
Why this breaks everything:
- Trades happen in rapid succession with constantly changing prices
- Many tokens have no reliable price data after initial trading
- Transaction exports may not include adequate price information
- Gas fees on each trade must be factored into basis
- Wash sale rules potentially apply (though unclear for crypto currently)
The platforms don’t issue 1099-DAs. The blockchain records every transaction. If you made material gains, the IRS can identify that activity through blockchain analysis. Your tax software will hate you. Your preparer will probably charge more. But the reporting obligation exists regardless.
At some point, someone clicked “buy” 47 times in one evening. Now those 47 transactions need to appear on Form 8949 with basis calculations. This is why I drink coffee.
Crypto Gambling
Actual gambling sites - dice games, slots, sports betting using crypto - fall under gambling taxation rules, not investment taxation. This is different from trading or prediction markets.
Gambling tax treatment:
- Gambling winnings are ordinary income, reported in full
- Gambling losses are deductible only if you itemize, and only up to the amount of winnings
- You cannot net wins and losses - $10,000 won and $10,000 lost means reporting $10,000 income with a $10,000 itemized deduction (if you itemize)
- Professional gamblers may be able to use different rules, but the bar for “professional” is high
Crypto complications:
- Winnings paid in crypto are valued at fair market value when received
- When you later sell that crypto, you have a separate capital gain/loss event
- Using crypto to place bets may itself be a taxable disposition
- Sites operating offshore typically issue no tax forms
If you bet Bitcoin worth $1,000 and won payouts worth $5,000, that’s $5,000 of gambling income. If you later sold that $5,000 of crypto for $6,000, that’s an additional $1,000 capital gain. If you lost $4,000 on other bets and you itemize deductions, you can deduct $4,000 of gambling losses against your $5,000 of gambling winnings.
The sites don’t care about your tax obligations. The IRS does.
Lost Access / Missing Records
Exchanges disappear. Wallets get lost. Passwords are forgotten. Transaction history from 2017 exists somewhere on a dead hard drive. This is incredibly common, and it creates real problems when you’re trying to establish cost basis years later.
Common scenarios:
- Exchange went bankrupt or stopped serving U.S. customers
- Wallet seed phrase lost, assets inaccessible
- Early transaction history never downloaded before platform closed
- Trades occurred on platforms with poor or no export functionality
- Multiple wallet addresses used over time, incomplete records of which transactions happened where
The IRS requires reasonable basis documentation. When records are incomplete, you reconstruct what you can from blockchain explorers, bank statements showing fiat deposits to exchanges, email confirmations, and anything else that establishes timing and amounts. What you can’t prove, you document as missing and use reasonable methods to estimate where possible.
You cannot simply ignore transactions because records are incomplete. The blockchain is permanent. If the IRS identifies unreported transactions through blockchain analysis or exchange data sharing, you face penalties for underreporting. Better to report with reconstructed basis than to not report at all.
IRS Issues
Form 1099-DA creates automated matching. The IRS computers compare reported proceeds against your tax return. Discrepancies trigger CP2000 notices proposing additional tax based on unreported proceeds with zero cost basis.
Common triggers:
- Unreported transactions shown on 1099-DA
- Proceeds reported but no corresponding cost basis on Form 8949
- Discrepancies between 1099-DA amounts and what you reported
- Missing transactions from DeFi or self-custody activity
CP2000 notices for cryptocurrency are different from traditional investment notices. With stocks, the IRS usually has your cost basis from the broker. With crypto, they typically don’t - which means their proposed adjustment assumes you had zero basis and owe tax on 100% of the proceeds. Understanding what Form 1099-DA actually shows is critical when responding to these notices. The burden is on you to respond with documentation proving your actual basis and correct tax liability.
The IRS is also conducting cryptocurrency-focused audits. Soft letter campaigns ask taxpayers to voluntarily amend returns if they failed to report crypto activity. Examinations review blockchain transactions and exchange records looking for unreported income. Getting ahead of potential issues through complete, accurate initial reporting is substantially easier than responding to enforcement actions later.
How I Approach Crypto Tax Preparation
Crypto tax preparation is fundamentally different from traditional return work. With active traders, even day traders, I’m working with complete information from known sources. With crypto, I’m working with lists of transactions from wallets, CSVs, APIs that need to be matched and reconciled and totaled.
Starting with What Exists
I begin by collecting every 1099-DA the client received and complete transaction exports from every exchange and wallet they used. This includes platforms they forgot about, wallets they haven’t opened in years, and that one DeFi protocol they experimented with once. The goal is building a complete picture of activity, not just what showed up on tax forms.
Then I compare the 1099-DA data against the transaction exports. Discrepancies are normal - different price feeds, timestamp variations, how fees were handled. Small differences (under 1%) I typically resolve by matching the 1099-DA to avoid automated IRS notices. Larger discrepancies require investigation to determine which number is actually correct and why.
Handling Missing Data
When exchange transaction history is incomplete or unavailable - the platform shut down, they stopped serving U.S. customers, the client never exported data before the account closed - I reconstruct from whatever exists. Bank statements showing fiat deposits establish timing and amounts. Blockchain explorers provide transaction records for wallet activity. Email confirmations document purchases. Tax forms from prior years show what was reported previously.
For lost wallets or inaccessible assets, I document the loss. If assets are genuinely irretrievable, they can’t be sold, which means no taxable event occurred. But “I lost the password” isn’t the same as “the wallet was compromised and drained by an attacker.” The distinction matters for claiming theft losses versus just acknowledging inaccessible property.
Reconciling DeFi Activity
DeFi transactions require different tools than centralized exchange data. I use blockchain transaction histories pulled from wallet addresses, cross-referenced against protocol-specific data where available. Liquidity pool deposits and withdrawals need special attention - the composition of LP tokens changes continuously, and calculating accurate basis requires tracking the pool’s token ratios over time.
When software gives me obviously incorrect categorization - calling a wallet-to-wallet transfer a sale, treating a token approval as a swap, flagging wrapped token conversions as taxable events - I correct it manually. The tools help organize data but they’re not authoritative. Incorrect categorization creates incorrect tax liability.
What “Good Enough” Documentation Looks Like
Perfect records don’t exist in crypto. The standard I work toward is “sufficient to survive IRS scrutiny if questioned.” This means:
- Transaction IDs for blockchain activity
- Exchange statements or exports showing purchases and sales
- Documentation of cost basis for transferred assets
- Evidence supporting categorization decisions (transfer vs. sale, income vs. capital gain)
- Contemporaneous records where possible, reconstructed records where necessary
If you moved Bitcoin from Coinbase to your Ledger to Kraken over three years, I need to trace that path and show it’s the same Bitcoin. The IRS matching system sees the Kraken 1099-DA showing proceeds. The return must demonstrate the cost basis from the original Coinbase purchase, with documentation connecting the transfers.
The goal is accurate reporting that reflects actual tax liability, supported by documentation that holds up under examination. Not perfection, but defensible positions with clear paper trails.
When You Need Specialized Help
Most people can handle simple crypto situations themselves - bought Bitcoin on Coinbase, held it, sold it, received a 1099-DA with complete information, done. Tax software can manage that.
You probably need specialized help if your situation involves:
Multiple platforms or complex activity:
- Trading across multiple exchanges
- DeFi protocols (swaps, liquidity pools, yield farming)
- NFT trading beyond simple buy/sell
- Staking or liquid staking rewards
- Activity on prediction markets, perpetual futures platforms, or memecoin launchers
Missing or incomplete records:
- Exchanges that shut down or stopped serving U.S. customers
- Lost wallet access or missing transaction history
- Transfers between platforms without clear cost basis tracking
- Early crypto activity (2017-2020) with spotty documentation
IRS issues:
- Received a CP2000 notice for unreported crypto transactions
- 1099-DA shows incorrect information or missing basis
- Prior years unfiled or filed incorrectly with crypto activity
- Audit or examination involving cryptocurrency
Volume or value:
- More than a few hundred transactions annually
- Gains or losses exceeding $10,000
- Situations where incorrect reporting creates material tax liability
The cost of getting crypto tax wrong exceeds the cost of getting it right. CP2000 notices propose tax on full proceeds with zero basis - potentially tens of thousands in tax liability that shouldn’t exist. Audits that discover unreported activity create penalties on top of tax owed. Filing correct initially is cheaper than fixing it later.
What To Do Next
If your situation is straightforward - single exchange, simple buying and selling, complete 1099-DA with basis - tax software probably handles it. Verify the import is accurate, confirm categorization makes sense, file.
If you have complexity - multiple platforms, DeFi, missing records, substantial volume, or IRS correspondence - start by gathering what you can access. All 1099-DAs, complete transaction exports from every platform, wallet addresses and blockchain history, documentation of transfers between platforms, records of cost basis for assets purchased elsewhere.
“Can I reconstruct complete, accurate transaction history myself, and do I understand the tax treatment?” If the answer is “probably not,” that’s when specialized crypto tax preparation becomes worthwhile. The cost of getting this wrong - CP2000 notices proposing tax on full proceeds with zero basis, audit adjustments, penalties - exceeds the cost of getting it right initially.
If you’re already behind - unfiled returns, unreported activity, IRS notices you haven’t addressed - the situation doesn’t improve with time. Tax resolution services exist specifically for getting current when things are already complicated.
Form 1099-DA reporting means the IRS matching system is automated and unforgiving. The complexity isn’t going away. Getting this right matters.

