Austrian providers must withhold 27.5% KESt on crypto gains. Here's what triggers it, how the moving-average basis works, and how to automate the filing.
Gains on crypto held as a private asset are taxed at a flat 27.5% special rate, the same rate that applies to stocks and bonds since the 2022 reform. That is the rate a domestic provider withholds as KESt.
No. Since the 2022 reform, exchanging one crypto asset for another is tax-neutral. Only disposals to fiat, or spending crypto on goods and services, realise a taxable gain, so withholding applies to those events and not to swaps.
Mandatory withholding by domestic service providers began on 1 January 2024, after a voluntary transition in 2023. If you settle Austrian users' crypto disposals and have a domestic nexus, the obligation is yours.
Withhold KESt at source and your users' crypto tax is final, no return needed. Use a foreign provider and they self-declare. Here's why the difference matters.
Austria requires the gleitender Durchschnittspreis for crypto, not FIFO. Here's how the moving-average basis works and why it complicates withholding.
CARF due diligence starts at signup. Here's how self-certification, reasonableness checks, and TIN validation fit into a CASP onboarding flow.
Generate an audit-ready report aligned to your jurisdiction. No credit card required.
If you run a crypto service with Austrian users, tax withholding is no longer optional. Since 1 January 2024, domestic providers have had to withhold Austrian capital gains tax, the Kapitalertragsteuer or KESt, on their users' realised crypto gains and pass it to the Finanzamt. Get it right and your users never file a return. Get it wrong and the liability sits with you, not them.
This is a short field guide to how the obligation actually works, and where the manual version breaks down.
The 2022 ecosocial tax reform pulled crypto into the same regime as stocks and bonds. Gains on crypto held as a private asset are taxed at a flat special rate of 27.5%, not the progressive income scale. That rate is the number you withhold.
Two details trip up most in-house builds. First, swapping one crypto asset for another is tax-neutral in Austria: a BTC-to-ETH trade realises nothing. Only disposals to fiat, or payments for goods and services, trigger a taxable gain. Second, current income like staking or lending rewards is treated on its own footing rather than as a capital gain. A withholding engine has to tell these apart per transaction, or it withholds on events that aren't taxable.
The obligation lands on the inländischer Dienstleister, the domestic service provider that handles the disposal. If you settle Austrian users' trades and you have a domestic nexus, withholding is your job. Foreign-only providers can't withhold in a way that settles the tax, which creates a real gap we cover in a separate piece on Endbesteuerung versus self-reporting.
Austria mandates the moving-average price, the gleitender Durchschnittspreis, for crypto. Every time a user acquires more of an asset, you recompute a running average cost across the holding; FIFO is not allowed. Each realised gain is then measured against that average. If your ledger only tracks lots, you have to rebuild the averaging layer before you can withhold a cent correctly.
When tax is withheld at source, it's final. The user's crypto gains are settled and they don't declare them in an annual return at all. That is a genuine product advantage. Tax season is one of the biggest churn moments for a crypto app, and "we handle it, you file nothing" is a reason to stay. It only works if the withholding is computed correctly, because a wrong figure withheld at source is a wrong figure the user can't easily fix.
The manual path means a data pipeline across every chain and venue, per-transaction classification, a moving-average engine, the 27.5% computation, and a KESt return on the authority's cadence, maintained forever as the rules change. That's the exact pipeline behind our tax withholding solution: it classifies each disposal, values it on the moving-average basis, withholds the right amount, and produces the filing. And because it shares a data layer with our CARF and DAC8 reporting, the same integration covers both obligations rather than two separate builds.
If you're a venue weighing this against an in-house project, our exchanges and custodians overview walks through what the platform takes off your plate. And the Austrian Federal Ministry of Finance publishes the current rules if you want the primary source.