GermanyEnglish

Tax law

  • Germany

Language

United Kingdom: we're working on it

TaxMaxi works out crypto taxes under German law today. Leave your email and we'll write once, when it's ready.

Only for this, no newsletter.

United States: we're working on it

TaxMaxi works out crypto taxes under German law today. Leave your email and we'll write once, when it's ready.

Only for this, no newsletter.

How is a crypto swap taxed in Germany?

In short

Swapping one coin for another, say Bitcoin for Ether or SOL for USDC, is a disposal for tax, even though no euro changes hands. You dispose of the coin you give up and acquire the coin you receive, valued at the market value in euros at that moment (paragraph 54 of the finance ministry's letter of 6 March 2025). If no more than a year lies between acquiring the coin you give up and the swap, the gain is taxable under § 23 of the Income Tax Act (EStG). After more than a year it's tax-free.

If your gains from all private sales stay under €1,000 in the year together, no tax is due on them. That's an exemption limit (Freigrenze), not an allowance (Freibetrag): from €1,000 the whole amount is taxable. For the coin you receive, a new one-year holding period starts with every swap.

As of:

What is a swap?

In a swap you give up one token and get another for it, without going through euros. On an exchange like Coinbase or Kraken you swap inside your account there. On a decentralized exchange (DEX) like Uniswap or Raydium you swap from your own wallet against a pool: a program on the blockchain that holds two tokens, which others have put there as liquidity, and works out the price from their ratio. An aggregator like Jupiter finds the best route for your swap, often through several pools at once.

The BMF letter draws no line between these routes: swapping crypto assets for other crypto assets leads to a disposal (paragraph 54). The route only changes which time counts and, in some cases, whether anything was swapped at all. There are six cases:

A swap on a DEXJupiter, Raydium, Uniswap, PancakeSwap
Even when an aggregator routes the swap through several pools, it's one swap: what counts is what your wallet gives up and what it receives. The time that counts is the one your wallet shows (paragraph 55).
A swap on an exchangeCoinbase, Kraken, Bitpanda
One coin straight for another is the same swap. The time that counts is the one the exchange recorded (paragraph 55).
Limit orders and DCAJupiter Limit Order, Jupiter DCA
Tokens waiting in an order stay yours, since you can cancel it. So TaxMaxi doesn't read placing the order as a swap. It does read each fill and each round of a DCA as one, at its own moment and valued at what came in.
Liquid staking tokensJitoSOL, mSOL, stETH
If you put SOL or ETH into a staking pool and get its token in return, TaxMaxi reads that as a swap, and likewise a switch from one such token to another. The BMF letter doesn't mention liquid staking explicitly. More under staking.
Wrappingwrapped SOL, WETH
Wrapped SOL is SOL and WETH is ETH, in a form that programs can handle like a token. TaxMaxi doesn't read wrapping and unwrapping as a swap: the coin keeps its acquisition date and cost basis. The BMF letter says nothing about wrapping.
A swap through a bridgeMayan, Wormhole Connect
If a token arrives through a bridge as the same token in your own wallet on another chain, TaxMaxi doesn't read that as a disposal. That's disputed. If the route swaps it for another token on arrival, it's a swap. Both are covered under bridges.

For tax, what counts isn't the app or the route but what you give up and what you receive: if one token leaves and another arrives, it's a swap.

An example in euros

Take ETH and USDC, though the math works the same with Bitcoin or SOL. You buy 1.5 ETH for €3,900 on 1 February 2025 and swap 1 ETH of it for 3,700 USDC on 20 August. They're worth €3,170 that day, because USDC follows the dollar, not the euro. You pay the network fee in ETH. The euro values are assumed. Here's how TaxMaxi works out the swap:

  1. 1 February 2025Bought 1.5 ETH for €3,900.00
  2. 20 August 2025Swap: 1 ETH given up
  3. 20 August 2025Received: 3,700 USDC, worth €3,170.00
  4. 20 August 2025Fee: 0.0004 ETH
Proceeds value of the USDC received
€3,170.00
Cost basis 1 ETH from 1 February 2025
− €2,600.00
Deductible expenses (Werbungskosten) the network fee
− €1.27
Gain after 200 days, taxable
+€568.73

The fee in ETH is itself a small swap, so the year 2025 comes to +€568.96. That is under the exemption limit of €1,000: if it's your only gain from private sales in the year, you pay no tax on it.

If you had bought the ETH before 20 August 2024, more than a year before the swap, the same gain would be tax-free.

Worked out by TaxMaxi's tax engine, on the same principles as for your wallet.

Swaps on your chain

Each protocol's page shows what a swap looks like on a chain and what TaxMaxi reads from it, using a real transaction from a public wallet.

More topics: Airdrops, Bridges, Lending, Liquidity Pools, Perps, Staking. All topics at a glance: DeFi taxes in Germany.

The legal basis

The tax on Swaps is set by the Income Tax Act (§ 23 EStG). How tax offices apply this to crypto is set out in the finance ministry's letter of 6 March 2025, which binds them. It applies the same on every chain.

The letter is divided into numbered paragraphs (Randnummern). Each principle below says where to find it; a click opens the letter at that spot.

  1. 1

    A swap is a disposal

    A swap disposes of the token you give up and acquires the one you receive. A gain is taxable if there's no more than one year between the acquisition and the swap.

    See the BMF letter, paragraphs 53 and 54

  2. 2

    The proceeds

    The proceeds are the market value in euros of what you received, at the time of the swap.

    See the BMF letter, paragraphs 58 and 60

  3. 3

    The cost basis

    What you receive costs you the market value of what you gave for it. That's your cost basis when you swap the new token later.

    See the BMF letter, paragraphs 43 and 59

  4. 4

    Fees

    A swap's network fee counts as deductible expenses (Werbungskosten) and reduces the gain, but only on a taxable swap.

    See the BMF letter, paragraphs 57 and 59

  5. 5

    One-year holding period

    The year runs from the day of acquisition to the swap, and each swap starts it again for the token you receive. There's no extension to ten years.

    See the BMF letter, paragraphs 55 and 63

  6. 6

    First bought, first swapped

    If you bought the same token at different times, the one you bought first counts as swapped first, calculated per wallet.

    See the BMF letter, paragraphs 61 and 62

  7. 7

    The exemption limit (Freigrenze)

    If the sum of all your gains from private sales in the year stays under €1,000 (up to 2023: €600), it's tax-free. Above that, all of it is taxable, not only the part over the limit.

    See the BMF letter, paragraph 53

  8. 8

    Limit orders and DCA

    Tokens you put into a limit order or a DCA stay yours while they wait, because you can cancel at any time: placing the order isn't a disposal, and they keep their acquisition date and cost basis. Each fill and each round of a DCA is a swap of the filled part at that moment, valued by what came in. A cancellation or the end of a DCA gives the rest back, without a new acquisition.

    See the BMF letter, paragraphs 32, 54, 55, 58 and 59

Common questions

Is a swap taxable if I never cashed out to euros?

Yes. Swapping one crypto asset for another is a disposal, just like a sale for euros (paragraph 54). The gain arises at the moment you swap, valued at the market price of what you receive. It's taxable if you held the coin you gave up for no more than a year and your gains from private sales reach €1,000 in the year together.

How is the gain on a swap worked out?

Proceeds less cost basis less deductible expenses (Werbungskosten) (paragraph 57). The proceeds are the market price of the coins you receive at the time of the swap, and if they have no price, the price of the coins you gave up may stand in (paragraph 58). The cost basis is what the coin you gave up cost you. If you bought it at different times, TaxMaxi uses FIFO: the first bought counts as the first swapped, wallet by wallet (paragraphs 61 and 62).

What about fees and slippage?

The network fee of a taxable swap counts as a deductible expense and lowers the gain (paragraph 59). On a swap after more than a year it doesn't count. If you pay it in SOL or ETH, you give up coins for it, and that's a small disposal too. The pool's fee and the slippage are part of the price: you receive less, so your proceeds are smaller, and nothing is deducted on top.

Does the holding period start again with every swap?

For the coin you receive, yes: the one-year holding period starts again after every swap (paragraph 55). TaxMaxi counts the period in calendar days: a swap on the same date one year after the acquisition still counts, and one on the day after is tax-free. There's no extension to ten years for coins like ETH or SOL (paragraph 63).

Is a swap into USDC or USDT taxable?

The BMF letter doesn't name stablecoins separately. TaxMaxi treats them like any other crypto asset: a swap into a stablecoin disposes of the coin you give up, and the gain on it arises now, not when you cash out to euros. Because USDC and USDT follow the dollar and not the euro, the stablecoin too can bring a small gain or loss in euros at the next swap.

What if I made a loss on a swap?

A loss on a swap within a year counts: it's set against gains from private sales in the same year, even gains under €1,000. What is left can be carried forward or back to other years, but only against gains of the same kind, not against your salary (§ 23 (3) EStG). A loss after more than a year doesn't count. A token that has only fallen brings no loss yet: that counts only once you swap or sell it.

Do many small swaps count if each stays under €1,000?

Yes. The limit applies not to each swap but to the total of all gains and losses from private sales in a year (paragraph 53). If it stays under €1,000, it's tax-free. If it reaches €1,000, all of it is taxable, not only the part above. Through 2023 the limit was €600. Gains on swaps after more than a year aren't counted in. Each swap should be traceable on its own, with the amount, cost basis, proceeds and holding period (paragraph 102).

What changes for swaps from 2027?

Nothing so far: there's a ministry draft (Referentenentwurf) of 30 September 2026, not a law. Under it, coins you acquire from 1 January 2027 would be taxed at 25% with no holding period. Whatever you acquired by the end of 2026 would stay under today's rule. For swaps that would mean: the coin you receive in a swap in 2027 would be newly acquired and fall under the new law. What's set to change from 2027.

Sources

This page explains how TaxMaxi calculates. It is not tax advice and does not replace a tax advisor.

German Federal Ministry of Finance

BMF letter of 6 March 2025

The letter in which the ministry sets out how tax offices tax crypto assets, in TaxMaxi's own translation. Its paragraphs are numbered. Only the German original counts.

Loading the letter…