How do you report crypto on your taxes? In seven steps: gather every transaction record, convert each value to your local currency, calculate your cost basis, work out gains and losses, separate capital gains from ordinary income, fill in the correct forms for your country, and file by the deadline. This step-by-step guide walks you through reporting crypto taxes correctly, whether you are an investor or a merchant who accepts crypto.
Overview: The Four Things Tax Authorities Want to Know
Regardless of where you live, your tax authority wants to know four things about your crypto activity:
- How much did you receive from disposing of (selling, swapping, spending) cryptocurrency?
- What did that cryptocurrency cost you originally?
- How much income did you receive in crypto (mining, staking, payment for services)?
- Do you have any losses that can offset gains?
The steps below walk through how to arrive at those answers. For the underlying concepts, see our complete crypto tax guide first.
Step 1 — Gather All Transaction Records
Start by compiling a complete history of every crypto transaction you made during the tax year. You need records from:
- Centralised exchanges (Binance, Coinbase, Kraken, etc.) — download your complete transaction history as CSV or PDF. Most exchanges retain 3–5 years of history.
- Decentralised exchanges and DeFi protocols — these do not issue tax statements. Use a blockchain explorer (Etherscan, Solscan, etc.) or a crypto tax tool to pull on-chain activity.
- Wallet-to-wallet transfers — document these separately so they are not confused with taxable disposals.
- Payment processors — if you accepted crypto as a merchant, download your payment history including the exchange rate at the time of each payment.
- Mining and staking income — pool statements, staking dashboards, or on-chain records showing tokens received and their value at receipt.
Your goal is a single, complete transaction log showing: date, asset, quantity, transaction type, price in local currency at that date, and fees. If your year included staking, NFTs, or DeFi, our DeFi, NFT and staking tax guide explains how to categorise each one.
Step 2 — Convert All Values to Your Local Currency
Every transaction must be expressed in your local fiat currency (e.g. euros, Polish zloty, US dollars). Use the exchange rate on the exact date and time of each transaction. Sources for historical rates include:
- CoinGecko and CoinMarketCap historical price data
- Major exchange historical price APIs (Binance, Kraken)
- Your exchange's own confirmation emails, which often include the rate applied
Many tax software tools do this automatically — see Step 7 for options.
Step 3 — Calculate Your Cost Basis
For each disposal, you need to know the cost basis of the specific tokens you are selling. This depends on the method your tax authority requires:
- FIFO (First In, First Out): Assume you sell the oldest tokens first. Required in many EU countries including Poland and Germany.
- Weighted Average: Average the cost of all tokens of a given asset you hold. Required in some jurisdictions.
- HIFO (Highest In, First Out): Allows minimising gains but only permitted in certain countries (notably not in the EU for crypto).
Your cost basis includes the purchase price plus any fees paid when you acquired the asset. For example, if you bought 1 ETH for €2,000 and paid €20 in exchange fees, your cost basis is €2,020.
Step 4 — Calculate Gains and Losses
For each disposal event:
Gain / Loss = Proceeds − Cost Basis − Transaction Fees at Sale
Proceeds are the fair market value of what you received at the time of the disposal — whether that is fiat, another crypto asset, or goods and services.
Sum all gains and losses for the tax year. In most countries, losses can offset gains of the same type. If total losses exceed total gains, you may be able to carry the net loss forward to future years (rules vary).
Step 5 — Separate Capital Gains from Ordinary Income
Different types of crypto income are often taxed differently and reported on different forms:
- Capital gains — from selling, swapping, or spending crypto you held as an investment.
- Ordinary income — from mining rewards, staking rewards, payment for services, and airdrops. Taxed at your regular income rate in most jurisdictions.
Keep these two categories separate in your records, as they often go on different tax schedules or forms.
Step 6 — Fill Out the Correct Tax Forms
Which form do you use to report crypto? It varies by country:
| Country | Capital Gains Form | Income Form |
|---|---|---|
| Poland | PIT-38 | PIT-36 or PIT-36L |
| Germany | Anlage SO (Sonstige Einkünfte) | Anlage SO |
| United Kingdom | SA108 (Self Assessment) | SA102 / SA103 |
| United States | Schedule D + Form 8949 | Schedule 1 (Part I) |
| France | Formulaire 2086 | Déclaration des revenus 2042 |
Always verify current form requirements on your national tax authority's official website — forms and rules change annually. For how rates differ by country, see our crypto tax in Europe comparison; Polish filers can also read how to declare crypto in Poland (PIT-38).
Step 7 — File and Pay by the Deadline
File your return and pay any tax owed by the deadline in your country. Common deadlines:
- Poland: April 30
- Germany: July 31 (or October 31 with a tax advisor)
- United Kingdom: January 31 (online self-assessment)
- United States: April 15
Late filing penalties and interest can be significant. If you cannot complete your return in time, check whether your country allows filing extensions.
What if you lost your exchange transaction history?
A closed exchange, a deleted account or a CSV you never downloaded does not remove the obligation to report — but the record is usually more recoverable than it first looks.
- The blockchain still has it. Every on-chain deposit and withdrawal is permanent and public. A block explorer will reconstruct dates, amounts and addresses for anything that touched the chain, years after the platform itself disappeared.
- Your bank has the fiat legs. Statements show every transfer to and from an exchange, which dates your purchases and often pins the amount.
- Your inbox has the confirmations. Trade confirmations, deposit notices and withdrawal emails routinely survive the platform that sent them. Search by the exchange name rather than by date.
- Ask, even if it closed. Operating exchanges will export history on request, and administrators handling a wind-down often can too.
Where a genuine gap remains, most authorities would rather see a documented, reasonable estimate than a blank. Write down the method you used and the evidence behind it, apply it consistently, and keep that note with your records — an estimate you can explain is a far better position than a number you cannot.
Crypto Tax Software That Can Help
Manually tracking hundreds of transactions is error-prone. The following tools automate much of the process:
- Koinly — supports 350+ exchanges, integrates with most EU tax forms, good Polish support
- CoinTracking — German-founded, strong EU coverage, supports PIT-38 export
- TokenTax — US-focused but supports international users
- Divly — Scandinavian and Polish tax focus
These tools connect to your exchanges via API or CSV import, match transactions to calculate gains, and often generate a ready-to-file tax report for your jurisdiction.
A Note for Merchants
If you accepted cryptocurrency as payment for goods or services, your process has an additional step: recording the fair market value of each payment at the time of receipt as revenue. This amount becomes both your taxable income and the cost basis of the cryptocurrency you received. Keep your payment processor reports as the source of truth for these values. A locked-rate processor like GriffNode fixes the value at the invoice and settles to your own wallet, giving you a clean record; online stores can follow our Shopify crypto payments guide to set it up.
Frequently Asked Questions
How do I report cryptocurrency on my taxes?
Gather every transaction record, convert each value to your local currency, calculate your cost basis, work out gains and losses, separate capital gains from ordinary income, complete the correct forms for your country, and file by your national deadline.
What records do I need to report crypto taxes?
For each transaction you need the date, asset, quantity, transaction type, the price in your local currency at that time, and any fees. Pull these from exchanges, blockchain explorers, wallet transfers, mining or staking dashboards, and payment processor reports.
Which tax form do I use to report crypto?
It depends on your country: for example PIT-38 in Poland, Schedule D and Form 8949 in the US, SA108 in the UK, Formulaire 2086 in France, and Anlage SO in Germany. Income from staking or mining often goes on a separate income form.
Do I have to report crypto if I did not sell anything?
You generally do not report unrealised gains on crypto you only held. But you must report crypto income such as staking, mining, or payment for services, and any swaps or spends, which count as disposals even without a cash-out to fiat.
Can crypto losses reduce my tax bill?
In most countries losses can offset gains of the same type, and a net loss can often be carried forward to future years. Rules vary, so confirm the carry-forward period and offset rules for your jurisdiction.
Is this guide a substitute for a tax advisor?
No. This is general information, not tax advice. Crypto tax requirements differ by country and change regularly, so consult a qualified tax professional in your jurisdiction.
This guide provides general information and does not constitute tax advice. Requirements differ between countries and change regularly. Consult a tax professional in your jurisdiction.
How do I get my transaction history from a closed exchange?
Start with the blockchain: every deposit and withdrawal that touched the chain is permanent and readable in a block explorer, regardless of what happened to the platform. Then use bank statements for the fiat legs and search your email for trade and withdrawal confirmations, which usually outlive the exchange.
Can I estimate my cost basis if I have no records?
Where a genuine gap remains, a documented and reasonable estimate is generally a better position than leaving a blank. Write down the method and the evidence it rests on, apply it consistently across your return, and keep that note with your records. Confirm the approach with a local tax adviser.