Crypto Taxes Explained: What Triggers Tax and How to Stay Compliant
Which crypto actions are taxable (selling, swapping, earning yield), which aren't, how cost basis works, DeFi's gray areas, and record-keeping that saves you later.
The era of "the tax office can't see crypto" is over: exchanges report to authorities in most major jurisdictions, and chain analysis makes on-chain history legible. The good news is that crypto tax follows understandable patterns almost everywhere. This is a general framework — rules differ by country, so verify with local guidance or a professional. This is not tax advice.
The core principle
Most jurisdictions treat crypto as property, not currency. That single decision drives everything: like stock, you're taxed when you dispose of it at a gain, and disposal is defined more broadly than most people expect.
Usually taxable events
- Selling crypto for fiat. The obvious one — gain or loss versus your cost basis.
- Swapping crypto for crypto. Trading ETH for USDC is a disposal of ETH at market value, even though no fiat touched your hands. This surprises everyone once.
- Spending crypto. Buying anything with crypto disposes of the crypto first.
- Earning crypto. Staking rewards, yield farming income, airdrops, mining, and payment for work are typically income at fair market value when received — and that value becomes the cost basis for a second taxable event when you later sell.
Usually NOT taxable
- Buying crypto with fiat and holding it (unrealized gains).
- Moving crypto between your own wallets — exchange to hardware wallet, wallet to wallet.
- In many places: gifting small amounts, donating to registered charities.
Cost basis and holding periods
Your cost basis is what you paid, including fees. Gains = proceeds − basis. Two things multiply the complexity: choosing a lot-accounting method when you bought at many prices (FIFO is the common default; some jurisdictions mandate specific methods or per-wallet tracking), and holding-period discounts — several countries tax long-term holdings (often >1 year) far more gently than short-term trades, which quietly punishes overtrading.
DeFi's gray areas
Regulators haven't cleanly answered everything: is depositing into a liquidity pool a disposal (you received LP tokens)? Is wrapping ETH → wstETH a trade? Do rebasing-token increments count as income daily? Practice varies by jurisdiction and even by tax software. Take the conservative reading when amounts are meaningful, and document your position — a consistent, defensible methodology beats an optimistic guess audited later.
Record-keeping: the actual work
The pain of crypto taxes is reconstruction, not calculation. For every transaction you need date, asset, amount, USD value at the time, and counterparty context — across every exchange, wallet, and chain you've touched. Two habits save you:
- Use crypto tax software (Koinly, CoinTracker, CoinLedger-class tools) — connect exchange APIs and public wallet addresses and let it reconstruct history. Do it during the year, not in a panic at the deadline.
- Export everything as you go. Exchanges shut down (with your history inside). CSVs of trades and a note of which wallet addresses are yours make audits boring instead of terrifying.
Losses are useful
Realized losses offset gains in most systems, and some allow carrying losses forward or harvesting them deliberately in drawdowns. Rug-pulled or hacked funds may be claimable as losses depending on jurisdiction — keep the on-chain evidence.
Compliance in crypto is mostly a bookkeeping problem. Solve it with software and habit, and tax season becomes a report-download rather than an archaeology project.
This article is for educational purposes only and is not financial advice. DeFi involves significant risk, including total loss of funds. Always do your own research.