Skip to content
Module 1 / 2
  1. Taxes, Law and Optimization PL/EU - Introduction
  2. PIT-38 vs PIT-36: Instrument Map - Stocks, ETF, Forex
  3. Crypto FIFO, Staking, Airdrops and TXID Evidence in PIT-38
  4. Sole Proprietorship vs LLC vs Estonian CIT for Trader

Crypto FIFO, Staking, Airdrops and TXID Evidence in PIT-38

Settling crypto: FIFO method, staking, LP, airdrops, TXID evidence. Formulas, Koinly vs CoinTracking comparison, case study trader with 300 transactions.

Crypto FIFO, Staking, Airdrops and TXID Evidence - How to Settle Crypto in PIT-38 20260:00 / 22:00
3 / 8
Author
Zordon Intelligence Sp. z o.o.
Updated
22 min read
Structure sources
2

DISCLAIMER: Educational content, not tax advice. Crypto = capital gains since 2019 (art. 17 sec.1 point 11 PIT). KIS interpretations variable (staking, airdrop). Consult advisor.

Introduction: Why your Binance Excel risks an audit?

Marek had 347 transactions on Binance: spot, futures (but that’s PIT-36!), staking ETH, LP on Pancake, 3 airdrops. He dumped everything into Excel “buy/sell” and calculated weighted average. Unfortunately, Polish law requires FIFO and TXID evidence. Tax office asked for TXID history and receipt with acquisition cost for each transaction. Marek didn’t have it. Surcharge: 12,400 PLN (~3,100 USD).

This lesson is your shield.

Table of contents

  1. Why it matters for crypto trader
  2. FIFO - only legal method in PL
  3. Income = Revenue_FIFO - Cost_FIFO - formulas and examples
  4. Staking, LP, lending - when revenue?
  5. Airdrops, forks, retro
  6. TXID Evidence - what it is and how to keep
  7. Koinly vs CoinTracking - comparison
  8. Decision tables and case study
  9. Beginner mistakes
  10. Exercises, checklist, next steps

1. Why does it matter for a trader?

Crypto in PL from 2019 is monetary capital - PIT-38 but in separate section “virtual currencies”. What is important:

  • Every crypto-crypto swap is revenue (barter)
  • Cost = expense for acquisition, documented
  • Method: FIFO - First In, First Out - first bought, first sold
  • Staking: reward is revenue at moment of receipt (market value), then if you sell - second revenue (sale of reward)
  • No costs = revenue = income. If you have no proof of cost, you pay from whole.

Income_(crypto = Σ_(i=1^(n Revenue_i^(FIFO - Σ_(i=1^(n Cost_i^(FIFO

Revenue_i = Amount_i × MarketPrice_(PLN, D

Cost_i^(FIFO = (oldest unused acquisition

2. FIFO - in detail

Rule: You buy BTC: 1 BTC @ 100k PLN (January), 1 BTC @ 120k PLN (March). Sell 1 BTC in May at 150k PLN. Cost is from January (100k), not average 110k. Income = 50k, not 40k.

Why FIFO hurts in bull market? Because cheapest purchases go first -> bigger income now. But only FIFO is legal.

How to count crypto-crypto transaction?

Swap BTC -> ETH:

  • Revenue: value of disposed BTC in PLN on swap day (this is your BTC sale price)
  • Cost: historical cost of this BTC (FIFO)
  • Simultaneously acquisition of ETH with cost = revenue value from BTC (i.e., 150k)

Then sale of ETH: revenue = ETH sale, cost = 150k (from previous).

FIFO example table:

#DateOperationBTC AmountPrice PLNCost / RevenueFIFO State
12025-01-10Buy+1100,000Cost 100k[100k]
22025-03-05Buy+1120,000Cost 120k[100k,120k]
32025-05-20Sell-1150,000Revenue 150k, cost 100k (FIFO), income 50k[120k]
42025-07-10Swap 0.5 BTC->10 ETH-0.5 BTC160k/BTC (80k value)Revenue 80k, cost 0.5*120k=60k, income 20k, ETH cost=80k[0.5 BTC 120k]

Total income = 70k PLN (~17.5k USD), tax 13,300 PLN (~3,325 USD).

3. Staking, LP, Lending - when revenue arises?

Most disputed area.

Dominant KIS interpretation 2024-2026:

  • Staking (PoS) ETH, SOL: Staking reward is revenue at moment of receipt (free receipt / other sources -> but practice: as crypto revenue at receipt per market value). Then sale of reward = another crypto transaction with cost = value at receipt date.
  • LP (Liquidity Providing): Adding to pool is NOT sale (if you get LP token as receipt). Only removal of liquidity + price difference + fees = revenue. Fees from LP like staking - revenue at receipt.
  • Lending / Earn (Binance Earn): Interest = revenue at receipt.
  • Crypto futures: If it’s CFD on crypto (Binance Futures USDT-M) -> PIT-36, not PIT-38 crypto. Many confuse and put into crypto.

Formula for staking:

Revenue_(staking, t = Amount_(reward × MarketPrice_(PLN, t

Income_{staking_sale} = Revenue_{sale} - Cost_{=Revenue_{staking, t}}

Example: You get 0.1 ETH staking 2025-06-01, ETH 12,000 PLN = revenue 1,200 PLN. Sell 0.1 ETH 2025-08-01 at 13,000 PLN/ETH = 1,300 PLN. Income from sale = 100 PLN. Total taxed: 1,200 + 100 = 1,300 (but in two moments).

4. Airdrops, Forks, Retro

  • Airdrop: If you get tokens for free (e.g., Arbitrum) - revenue at receipt day per market value, if it has value. Then sale with cost = receipt value. If airdrop without initial value (0) - cost 0, whole sale is income. KIS 2024: some airdrops as other sources income if free, but for crypto safer PIT-38.
  • Hard fork: BTC -> BCH 2017. New coins with market value at fork day = revenue.
  • Retro / Learn & Earn: Like airdrop.

5. TXID Evidence - Your proof of innocence

Tax office may ask for proof of cost incurrence. What does it mean?

TXID = Transaction ID from blockchain. For each transaction you must have:

  • Date and hour (UTC and PL)
  • Pair (BTC/PLN, BTC/USDT)
  • Amount, unit price, value in PLN (NBP D-1 if USDT)
  • Transaction fees (fee) - that’s cost
  • TXID / hash (for on-chain) or exchange transaction ID (UID) + blockchain explorer link
  • Screenshot / CSV from exchange
  • Wallet addresses (from -> to)

Folder structure /Crypto_TXID:

/Crypto_TXID/2025/
  /01_Binance_spot_history.csv
  /02_Binance_staking_rewards.csv
  /03_Onchain_TXID/
    0xabc..._ETH_staking_reward_2025-06-01.pdf (explorer screenshot)
  /Evidence.xlsx

Without TXID, in case of audit, office may consider cost = 0.

6. Koinly vs CoinTracking - battle

FeatureKoinlyCoinTrackingRecommendation
FIFO PLYes, full supportYes, but need to setKoinly better for PL
Staking autoYes, tag RewardYes, as Airdrop/StakingKoinly simpler
LP / DeFiVery good, auto LP detectionMore manualKoinly
PL report PIT-38Generates FIFO PLN reportReport, but EnglishKoinly
Price$49-179/year149 EUR/yearKoinly cheaper start
API Binance / BybitYesYesBoth
TXID supportYes, link to explorerYesSimilar
Export to accountantCSV + PDFCSVKoinly

My recommendation for PL trader: Koinly + own Google Sheets register as backup. CoinTracking if you have >5k transactions and want own methods.

Formula for maintenance cost:

AnnualCost_(tools = Koinly + Accountant_(crypto ≈ 600 PLN + 1500 PLN = 2100 PLN (~525 USD)

With 50k profit, returns if tool finds you 11k more cost than your Excel (19% * 11k = 2090).

7. Market example and case studies

Case: Trader 300 transactions 2025

Kamil, 32 years old:

  • 120 spot transactions BTC/ETH
  • 80 crypto-crypto swaps
  • 50 ETH staking rewards (0.8 ETH total)
  • 40 LP fees (Pancake)
  • 10 airdrops (total value 8k PLN)

How settled:

  1. Import CSV from Binance, Bybit, Metamask to Koinly.
  2. Marked staking as Reward, LP as Liquidity, airdrop as Airdrop.
  3. Koinly calculated FIFO: Revenue 480k PLN, Cost 350k PLN, Income 130k PLN.
  4. Staking rewards: revenue 12k PLN already included in 480k as reward revenue, cost of those rewards is 12k (so income from their sale is difference).
  5. Airdrop: 8k revenue, sold for 10k -> additional income 2k.
  6. Total income 130k + 8k (if airdrop separate) = 138k, tax 26,220 PLN.

If calculating weighted average, income would be 118k, tax 22,420 PLN -> underpayment 3,800 PLN = interest + correction.

8. Beginner mistakes

  1. Crypto futures on PIT-38 - Binance Futures is CFD/perpetual -> PIT-36! Don’t mix with spot crypto.
  2. Staking ignored until sale moment - office considers revenue at receipt moment.
  3. No TXID - “I only have exchange history PDF” - not enough for on-chain.
  4. Broken FIFO - using LIFO or weighted average because “better tax-wise” - illegal in PL.
  5. Crypto-crypto without tax “because I didn’t cash to PLN” - every swap is revenue.
  6. Counting fee as revenue - fee is cost, not revenue.
  7. Mixing accounts - personal trading + company on one address = chaos.

9. Practical exercises

Ex 1: Purchase: 2 ETH @ 10k PLN, then 1 ETH @ 12k PLN. Sale 1.5 ETH @ 15k PLN. Calculate FIFO income.

Solution: Take 1 ETH @10k + 0.5 ETH @10k = 15k cost, revenue 22.5k, income 7.5k, remains 0.5 ETH @10k and 1 ETH @12k.

Ex 2: You receive 100 ARB tokens airdrop, day of receipt ARB=4 PLN (revenue 400 PLN). Sell 3 months later at 6 PLN = 600 PLN. Calculate income.

Solution: Airdrop revenue 400, sale income 600-400=200, total 600 taxed in two moments.

Ex 3: Import 1 CSV file from Binance to Koinly trial and compare FIFO result with own Excel.

10. Checklist and summary

  • I have all history CSV + TXID from 2025
  • Set FIFO method in Koinly/CoinTracking
  • Separated crypto futures (PIT-36) from spot (PIT-38)
  • Marked staking, LP, airdrop tags
  • Calculated staking revenue at receipt day per NBP D-1 rate (if USD)
  • Have Evidence folder with TXID and explorer links
  • Have final report Revenue/Cost/Income for PIT-38

Summary

Income_(crypto = Σ Revenue_(FIFO - Σ Cost_(FIFO
  • FIFO mandatory, each crypto-crypto is revenue.
  • Staking/airdrop is revenue at receipt day.
  • Crypto futures = PIT-36.
  • Without TXID you have no cost.

Next steps: Lesson 03 - Sole Proprietorship vs LLC vs Estonian CIT. Check if trading on JDG makes sense or better LLC or Estonian, and calculate effective tax with ZUS and dividend.

Template to implement: Google Sheets with columns: Date, Type, Amount, Price currency, NBP D-1 rate, PLN Value, TXID, FIFO cost, Income, Tag (spot/staking/airdrop/LP/futures).

Advertisement

Key takeaways

  • Settling crypto: FIFO method, staking, LP, airdrops, TXID evidence. Formulas, Koinly vs CoinTracking comparison, case study trader with 300 transactions.

Structure sources

The material is based on source documents. Variable values — fees, limits, regulatory figures — are worth checking at the source before making a decision.

Disclaimer

  • Educational material. Not investment advice or a recommendation. Trading involves the risk of losing capital.
  • The materials are educational. They are not investment advice or a recommendation within the meaning of financial instruments trading regulations. Numbers in examples are illustrative unless a measurement date and source are given.

Who writes this and how we check it

The materials are written and verified by Redakcja Kurs Tradera — the rules are described on about the site: every number has a source, and we show gaps openly. Report a factual error via contact — corrections are described in the content.

Course progress 0 / 8
Next →

Progress is stored only in this browser (localStorage) — there is no account and no copy on the server. Clearing site data will remove it. Manage your data