Crypto Tax in Poland 2026: Bitcoin, Ethereum & Altcoins — How to Report and Optimize
Complete guide to cryptocurrency taxation in Poland 2026. Covers PIT-38 reporting, 19% flat tax on crypto gains, FIFO cost basis, DeFi and staking taxation, NFTs, exchange data from Binance and Zonda, tax-loss harvesting, record keeping, and penalties for non-reporting.
12 min czytaniaQuick Answer
Cryptocurrency gains in Poland are taxed at a flat 19% PIT rate on net profit (revenue from disposal minus documented acquisition costs). You report crypto on PIT-38, filed annually by April 30. The cost basis method is FIFO (first in, first out). Crucially, crypto-to-crypto trades are not taxable events — only conversion to fiat currency (PLN, EUR, USD) or payment for goods/services triggers tax. Losses can be carried forward for 5 years. DeFi yields, staking rewards, and airdrops have evolving tax treatment. Failure to report carries penalties of up to 75% back-tax rate plus potential criminal liability. This guide covers everything you need to know to stay compliant and optimize your tax position.
Polish Crypto Tax Rules: The Basics
What Is Taxable?
| Event | Taxable? | Notes |
|---|---|---|
| Buying crypto with PLN/EUR/USD | No | Acquisition — not a disposal |
| Crypto-to-crypto swap (e.g., BTC → ETH) | No | Not a taxable event since 2019 |
| Selling crypto for fiat (e.g., BTC → PLN) | Yes | Taxable disposal |
| Paying for goods/services with crypto | Yes | Treated as disposal at market value |
| Receiving crypto as payment (B2B income) | Yes | Taxed as business income |
| Mining rewards | Depends | Taxable when sold for fiat |
| Staking rewards | Depends | See DeFi section below |
| Airdrops | Depends | See DeFi section below |
| Receiving crypto as a gift | No (at receipt) | Taxable when sold; cost basis = 0 or donor's basis |
| Inheriting crypto | No (at receipt) | Inheritance tax may apply; no income tax at inheritance |
The 19% Flat Tax
| Item | Details |
|---|---|
| Tax rate | 19% flat (no progressive brackets) |
| Tax form | PIT-38 |
| Filing deadline | April 30 of the following year |
| Taxable base | Revenue from disposal minus acquisition costs |
| Cost basis method | FIFO (first in, first out) |
| Loss carryforward | Up to 5 years |
| Loss deduction limit | Max 50% of loss in any single year |
How the Tax Is Calculated
Formula: Tax = (Total revenue from crypto disposals - Total documented acquisition costs) × 19%
Example:
| Transaction | Amount |
|---|---|
| Bought 1 BTC on Jan 15 for | 180,000 PLN |
| Bought 0.5 BTC on Mar 3 for | 105,000 PLN |
| Sold 1.2 BTC on Sep 10 for | 280,000 PLN |
FIFO calculation:
- First 1 BTC sold: cost basis = 180,000 PLN (Jan 15 purchase)
- Remaining 0.2 BTC: cost basis = 0.2/0.5 × 105,000 = 42,000 PLN (from Mar 3 purchase)
- Total cost basis: 180,000 + 42,000 = 222,000 PLN
- Revenue: 280,000 PLN
- Taxable gain: 280,000 - 222,000 = 58,000 PLN
- Tax (19%): 11,020 PLN
Cost Basis: FIFO and Documentation
FIFO (First In, First Out)
Poland mandates FIFO for crypto tax calculation. This means the oldest purchased coins are considered sold first.
Why FIFO matters:
| Scenario | Implication |
|---|---|
| Prices have risen since first purchase | FIFO uses the lowest cost basis first → higher taxable gain |
| Prices have fallen since first purchase | FIFO uses the highest cost basis first → lower taxable gain |
| Multiple purchases at different prices | Each disposal matches against the earliest remaining lot |
What Counts as Documented Acquisition Cost?
| Cost Type | Deductible? | Documentation Required |
|---|---|---|
| Purchase price (exchange) | Yes | Exchange transaction history, bank statements |
| Trading fees | Yes | Exchange fee records |
| Network/gas fees | Yes | Blockchain transaction records |
| Withdrawal fees | Yes | Exchange withdrawal receipts |
| Hardware wallet cost | Debatable | Invoice (some advisors say no) |
| Electricity for mining | Yes (if business) | Utility bills, mining records |
| Transfer between own wallets | No (not a cost) | N/A |
Critical rule: Without documentation, you cannot deduct acquisition costs. If you cannot prove what you paid for your crypto, the tax authority may treat your entire revenue as taxable gain (0 cost basis). Keep every record.
PIT-38: How to File
Step-by-Step Filing
- Gather data — Export transaction history from all exchanges and wallets
- Calculate gains/losses — Apply FIFO across all your holdings
- Fill PIT-38 — Sections E and F for crypto
- Report revenue — Total proceeds from all fiat conversions (line in Section E)
- Report costs — Total documented acquisition costs (line in Section E)
- Calculate tax — 19% on net gain
- File online — Via e-Deklaracje or Twój e-PIT by April 30
- Pay tax — To your tax office bank account by April 30
Key Lines on PIT-38 for Crypto
| PIT-38 Field | What to Enter |
|---|---|
| Revenue from virtual currencies | Total PLN received from all crypto-to-fiat sales |
| Costs of virtual currencies | Total documented acquisition costs (FIFO) |
| Income/Loss | Revenue minus costs |
| Tax due | Income × 19% |
| Loss carried from prior years | Deduct up to 50% of prior-year losses |
Losses: How Carryforward Works
If your crypto costs exceed revenue in a given year, you have a loss. This loss can be carried forward and deducted against future crypto gains:
| Year | Crypto Gain/Loss | Loss Carried | Deduction Used | Tax Paid |
|---|---|---|---|---|
| 2024 | -40,000 PLN (loss) | 40,000 PLN | — | 0 PLN |
| 2025 | +30,000 PLN (gain) | 20,000 PLN | 20,000 PLN (50% of 40k) | 1,900 PLN |
| 2026 | +50,000 PLN (gain) | 0 PLN | 20,000 PLN (remaining) | 5,700 PLN |
Rules:
- Maximum deduction in any single year: 50% of the total loss being carried
- Loss expires after 5 years if unused
- Crypto losses can only offset crypto gains — not stock, bond, or other income
DeFi, Staking, NFTs: The Gray Areas
Staking Rewards
Polish tax law does not have explicit staking provisions. The prevailing interpretation:
| Staking Type | When Taxed | Cost Basis |
|---|---|---|
| Proof-of-Stake rewards (e.g., ETH staking) | When sold for fiat | 0 PLN (no acquisition cost) |
| Liquid staking tokens (e.g., stETH) | When underlying is sold for fiat | Debatable |
| DeFi yield farming | When sold for fiat | 0 PLN or cost of deposited tokens |
Practical approach: Most Polish crypto accountants recommend treating staking rewards as having a zero acquisition cost, with tax triggered only upon conversion to fiat. The full fiat amount received is then taxable at 19%.
DeFi Protocol Interactions
| DeFi Action | Tax Treatment (prevailing view) |
|---|---|
| Swap on DEX (e.g., Uniswap: ETH → USDC) | Crypto-to-crypto swap — not taxable |
| Providing liquidity (LP tokens) | Not taxable at deposit; taxable when withdrawn and sold for fiat |
| Earning LP fees | Taxable when sold for fiat (cost basis: 0) |
| Borrowing against crypto (e.g., Aave) | Not taxable (loan, not disposal) |
| Liquidation of collateral | Taxable (forced disposal) |
| Bridge between chains | Likely not taxable (same asset, different network) |
| Wrapping (e.g., ETH → WETH) | Likely not taxable |
Warning: DeFi tax treatment in Poland is based on interpretations and analogies — there are no explicit regulations. Individual tax interpretations (interpretacja indywidualna) from KIS can provide certainty for your specific situation.
NFTs
| NFT Action | Tax Treatment |
|---|---|
| Buying NFT with crypto | Crypto-to-crypto → not taxable |
| Selling NFT for fiat | Taxable disposal (19%) |
| Selling NFT for crypto | Crypto-to-crypto → not taxable |
| Minting an NFT (creator) | May be treated as business income |
| Royalties from NFT sales | Business income (not crypto capital gains) |
Airdrops
| Airdrop Scenario | Tax Treatment |
|---|---|
| Received for free (no action required) | Not taxable at receipt; cost basis = 0; taxed when sold for fiat |
| Received for completing tasks (testnet, etc.) | Same as above in most interpretations |
| Retroactive airdrop (e.g., Arbitrum, Optimism) | Same — taxed at fiat conversion |
Exchange Data: Getting Your Records
Major Exchanges Used by Polish Investors
| Exchange | Transaction Export | API for Tax Tools | Notes |
|---|---|---|---|
| Binance | CSV export | Yes | Most popular globally |
| Zonda (BitBay) | CSV export | Yes | Largest Polish exchange |
| Bybit | CSV export | Yes | Popular for derivatives |
| Kraken | CSV export | Yes | Strong EU compliance |
| Coinbase | CSV export | Yes | Easy onboarding |
| KuCoin | CSV export | Yes | Wide altcoin selection |
| OKX | CSV export | Yes | Derivatives + spot |
How to Export Transaction History
Binance:
- Log in → Wallet → Transaction History
- Select "Generate all statements" → Choose date range
- Download CSV (covers spot, margin, futures, staking, etc.)
- Note: Binance retains history for 3 years; download regularly
Zonda (BitBay):
- Log in → History → Transactions
- Select date range → Export to CSV
- Includes all trades, deposits, withdrawals
Bybit:
- Assets → Transaction History
- Select type (spot, derivatives, earn)
- Export CSV for each category
Recommended Polish Crypto Tax Tools
| Tool | Price | Features |
|---|---|---|
| CoinTracker | Free / $59+/yr | Exchange API integration, FIFO calculation, PIT-38 support |
| Koinly | Free / €49+/yr | Supports 400+ exchanges, DeFi tracking, Polish tax report |
| TokenTax | $65+/yr | Full DeFi support, tax-loss harvesting reports |
| Divly | Free / €49+/yr | EU-focused, supports Polish regulations |
These tools connect to exchange APIs, import transaction history, apply FIFO automatically, and generate reports compatible with PIT-38 filing.
Tax-Loss Harvesting: Legal Optimization
What Is Tax-Loss Harvesting?
Tax-loss harvesting involves selling crypto at a loss to realize that loss for tax purposes, then potentially repurchasing the same or similar asset. Since Poland has no wash-sale rule for crypto, you can:
- Sell BTC at a loss (crystallize the loss)
- Immediately repurchase BTC
- Use the loss to offset other crypto gains
Example
| Step | Action | Tax Impact |
|---|---|---|
| Jan 2026 | Bought 1 ETH at 15,000 PLN | — |
| Oct 2026 | ETH price drops to 10,000 PLN | Unrealized loss: -5,000 PLN |
| Oct 2026 | Sell 1 ETH for 10,000 PLN (fiat) | Realized loss: -5,000 PLN |
| Oct 2026 | Buy 1 ETH for 10,000 PLN | New cost basis: 10,000 PLN |
| Dec 2026 | Also sold BTC with 30,000 PLN gain | Net gain: 25,000 PLN (30k - 5k) |
| Tax saved | 5,000 × 19% = 950 PLN |
Important Considerations
- You must sell for fiat (PLN/EUR/USD) to realize the loss — selling for stablecoin (USDT) may not count as a fiat conversion
- The repurchased crypto has a new, lower cost basis — this reduces future gains when you eventually sell
- Tax-loss harvesting is a timing strategy, not tax elimination — you defer gains, not avoid them permanently
- Document everything meticulously — the tax office must be able to verify each transaction
Year-End Checklist
- Review unrealized losses before December 31
- Sell losing positions for fiat to crystallize losses
- Repurchase if you want to maintain exposure
- Verify that loss transactions appear in exchange CSV exports
- Calculate net position for PIT-38
Record Keeping: What to Save and For How Long
Mandatory Records
| Record | Why Needed | Retention Period |
|---|---|---|
| Exchange transaction history | Prove purchase price, fees, dates | 5 years after tax year |
| Bank statements (fiat deposits/withdrawals) | Prove fiat conversions | 5 years |
| Blockchain transaction hashes | Prove transfers, DeFi interactions | 5 years |
| Wallet addresses (all you've used) | Connect on-chain activity to you | 5 years |
| Screenshots of exchange balances | Backup if exchange shuts down | 5 years |
| Mining records (if applicable) | Prove acquisition method | 5 years |
| Tax calculations (FIFO spreadsheet) | Support PIT-38 filing | 5 years |
Best Practices
- Export exchange data quarterly — Exchanges can be hacked, shut down, or purge old data
- Use a dedicated spreadsheet or tax tool — Manual tracking becomes unmanageable above 50 transactions
- Record wallet addresses — Note which wallets you control and their purpose
- Save DeFi transaction hashes — On-chain records are permanent but you need to link them to your identity
- Back up everything — Cloud storage + local backup for all records
- Keep records for 5 years after the end of the tax year in which you file
What Happens When an Exchange Closes?
If an exchange you used closes or you lose access:
- No cost basis documentation = no deduction. The tax office may assess your full revenue as gain
- Blockchain explorers (Etherscan, Blockchain.com) can provide partial evidence of transactions
- Bank statements showing transfers to/from the exchange can support your cost basis claims
- This is why regular exports are essential — do not rely on the exchange being available when you need to file
Penalties for Non-Reporting
What the Tax Office Knows
Polish tax authorities receive data from:
| Source | Data Shared |
|---|---|
| Polish exchanges (Zonda, etc.) | Full transaction history (mandatory reporting) |
| EU exchanges (DAC8 from 2026) | Transaction data shared between EU tax authorities |
| Banks | Large transfers flagged under AML (above 15,000 EUR) |
| Blockchain analysis firms | Used for investigations (Chainalysis, Elliptic) |
The DAC8 directive (EU Directive on Administrative Cooperation for crypto) begins implementation in 2026, requiring crypto service providers to report customer transaction data to their local tax authorities, which is then shared across the EU. This dramatically increases the risk of detection for non-reporters.
Penalty Structure
| Violation | Consequence |
|---|---|
| Late filing (PIT-38) | Interest on unpaid tax (~14.5% annually) |
| Failure to file | Back-tax assessment + penalty (up to 75% rate for unreported income) |
| Underreporting income | Back-tax + interest + potential 20% penalty surcharge |
| Deliberate evasion | Criminal liability under Kodeks Karny Skarbowy (fiscal penal code) |
| Criminal conviction | Fines up to 720 daily rates (~several million PLN) or imprisonment |
Statute of Limitations
The tax office has 5 years from the end of the year in which the tax was due to assess additional tax. For 2025 crypto gains (PIT-38 filed in 2026), the statute runs until December 31, 2031.
Practical reality: With increasing data sharing (DAC8, exchange reporting), the probability of detection is rising sharply. Some tax advisors note that voluntary disclosure (czynny żal) before an investigation starts can significantly reduce penalties.
Business vs Personal Crypto Trading
When Does Trading Become a Business?
| Factor | Personal (PIT-38) | Business (JDG) |
|---|---|---|
| Trading frequency | Occasional | Frequent/daily |
| Intent | Investment/savings | Profit from trading activity |
| Organization | Ad hoc | Systematic, organized |
| Tax rate | 19% flat | 19% linear or 12%/32% progressive |
| ZUS required | No | Yes (~1,700 PLN/month) |
| VAT | No | Crypto trading is VAT-exempt |
| Expense deductions | Limited to acquisition costs | Full business expenses |
Key insight: The boundary is blurry. The tax office has not issued clear guidance on when personal trading becomes business activity. If you trade daily with significant volume, some tax advisors recommend registering a JDG to avoid reclassification risk. The downside is mandatory ZUS contributions.
Operating as a Business
If you register a JDG for crypto trading:
- Tax: 19% linear PIT (PIT-36L) is most common
- ZUS: Required (~1,700–1,800 PLN/month after preferential period)
- VAT: Crypto trading is VAT-exempt (not zero-rated) — you cannot recover VAT on purchases
- Expenses: Can deduct trading tools, subscriptions, hardware, portion of home office
- Reporting: Monthly advance tax payments + annual PIT-36L
International Scenarios
Moving to/from Poland Mid-Year
| Scenario | Tax Obligation |
|---|---|
| Polish resident moves abroad in June | Polish tax on worldwide income Jan–Jun; new country taxes from July (check treaty) |
| Foreigner moves to Poland in April | Polish tax on worldwide income from April onward (if 183+ days or vital interests) |
| Sell crypto while abroad (still Polish resident) | Taxable in Poland (worldwide income principle) |
| Sell crypto while abroad (no longer resident) | Taxable in new country of residence |
Crypto Earned Abroad
If you mined Bitcoin while living in Germany and later moved to Poland, the cost basis (acquisition cost) is established at the time of mining. When you sell in Poland, you report on PIT-38 with whatever documentation you have from the German period.
FAQ
Do I pay tax on crypto-to-crypto swaps in Poland?
No. Since January 1, 2019, swapping one cryptocurrency for another (e.g., BTC → ETH, ETH → USDT) is not a taxable event in Poland. Tax is only triggered when you convert crypto to fiat currency (PLN, EUR, USD, etc.) or use crypto to pay for goods/services.
What if I lost my exchange records?
Without documented acquisition costs, the tax office may treat your entire revenue from crypto sales as taxable gain (zero cost basis). Try to recover records through: exchange support tickets, bank statements showing transfers, blockchain explorers, email confirmations. Some tax advisors recommend filing a voluntary disclosure (czynny żal) if you have significant unreported crypto income.
Is staking taxable in Poland?
There is no explicit regulation on staking. The prevailing interpretation among Polish crypto tax specialists is that staking rewards are not taxable at receipt — they become taxable only when sold for fiat, with a zero cost basis. This means the full fiat amount received upon sale is subject to 19% tax. Obtaining an individual tax interpretation from KIS is advisable for significant staking income.
Can I offset crypto losses against stock market gains?
No. Crypto losses can only be offset against crypto gains. They cannot reduce your tax liability on stocks, bonds, rental income, or employment income. Similarly, stock market losses cannot offset crypto gains. The two income streams are reported on PIT-38 but in separate sections.
How does the tax office find out about my crypto?
Through multiple channels: Polish exchanges report transaction data directly to tax authorities; the DAC8 EU directive (2026 onward) enables cross-border data sharing; banks flag large transfers under AML rules; and the tax office can use blockchain analysis tools. With increasing regulatory cooperation, the assumption should be that all exchange-based activity is reported.
Do I need to report crypto if I had no gains?
Yes. Even if you have zero gains or a net loss, you should file PIT-38 reporting your crypto activity. Filing a loss is especially important because it establishes the loss carryforward — you need the documented loss on a filed PIT-38 to deduct it against future gains.
What about stablecoins (USDT, USDC)?
Stablecoins are treated as cryptocurrencies under Polish law. Swapping BTC → USDT is a crypto-to-crypto swap and is not taxable. However, selling USDT for PLN/EUR/USD is taxable — the same as selling any other crypto for fiat. Your cost basis for USDT is whatever you paid to acquire it (including through the BTC → USDT swap chain, traced via FIFO).
📊 Track your crypto portfolio and tax obligations. Freenance connects to major exchanges and monitors your Bitcoin, Ethereum, and altcoin positions — with gain/loss calculations to help you prepare for PIT-38. Start free →
Related Articles
Want full control over your finances?
Try Freenance for free