Bitcoin Taxes in Spain: Self-Custody, Modelo 721, and What You Actually Owe
Selling Bitcoin for euros isn't the only taxable operation -- swapping it for another cryptocurrency is too. And Modelo 721, the obligation that causes the most confusion, doesn't depend on how much you hold: it depends on who custodies your keys.
Bitcoin isn't invisible to tax authorities in Spain, and much of the confusion it causes isn't about whether it's taxable, but about when and under exactly which obligation. Most English-language coverage of this topic comes from crypto tax software with a calculator to sell, or from relocation-focused legal sites writing for foreign residents. This guide covers rules checked against official sources (Agencia Tributaria, Spain's tax authority), not our own interpretation -- it's a map of the problem, not a filed tax return and not a sales pitch.
What events trigger a tax obligation
Capital gains: how much you pay and on what
Gains from selling or swapping Bitcoin are added to the IRPF savings tax base, under a progressive scale with five brackets: 19% up to €6,000, 21% from €6,000 to €50,000, 23% from €50,000 to €200,000, 27% from €200,000 to €300,000, and 30% above €300,000. You only pay on the gain (sale price minus purchase price), not on the total amount sold -- a distinction that's easy to lose track of.
FIFO: which units count as sold first
If you bought Bitcoin at different times and different prices, and sell only part of it, the tax authority doesn't let you choose which units you're selling: FIFO (First In, First Out) applies -- the first units you bought are treated as the first ones sold. This matters especially if you bought part near a cycle top and another part much cheaper: the sale order the tax authority assumes may not be the one that suits you best, and it isn't negotiable.
Modelo 721: the most common misunderstanding
If you control your own Bitcoin private keys, Modelo 721 doesn't obligate you to anything, regardless of the amount -- the obligation comes from the custodian, not from how much you hold. It only applies to crypto held by a third party outside Spain (a foreign exchange, for example), and only above €50,000 in total value as of December 31. In later years, you only need to file again if the balance grows by more than €20,000 compared to the year you last filed. The filing deadline is March 31 of the following year. This distinction gets lost even in guides written specifically for foreign residents in Spain, which often lead with the €50,000 threshold without clarifying up front that self-custody sits outside the obligation entirely.
DAC8: why this no longer depends only on you declaring it
Since January 1, 2026, the EU's DAC8 directive requires crypto-asset service providers operating in the EU to automatically report balances and transactions of their Spain-resident users to tax authorities. In practice, the tax authority can receive this information directly from the exchange whether or not you file Modelo 721 yourself -- what used to depend only on your willingness to declare now also arrives through another channel.
Offsetting losses: the part almost no one takes advantage of
If in a given year you have capital losses (you sold below your purchase price), you can offset them against capital gains from the following four years. It's a rule that applies to any asset, not just Bitcoin, but it's frequently overlooked because it requires keeping a record of prior years' losses, not just the current year's gains.
What an automated tool can -- and cannot -- estimate
Deliberately, this guide doesn't include a calculator. Crypto tax software built for exactly this situation -- Koinly, CoinTracker, Blockpit, TokenTax, Awaken, among others -- will read a wallet's transaction history, apply FIFO, and hand you a finished number. That's a real product, and for someone with dozens of trades spread across several exchanges it can be worth paying for. What none of them fully solve, and what we won't pretend to solve here either, is telling apart an actual buy or sell from a transfer between your own wallets (see the custody comparison for the different ways your Bitcoin can end up spread across wallets) -- a mistake there isn't a minor bug, it's a wrong figure in a real tax filing. Publishing a calculator without being able to guarantee that distinction would break the rule we already follow across the whole project: no text (and no figure) promises something the system can't verifiably deliver.
What to do with this now
- Identify which operations you carried out this year: sales, crypto-to-crypto swaps, or payments in Bitcoin -- all three are taxed the same way.
- If you hold crypto on a foreign exchange, calculate the total value as of December 31 to see if you're above the Modelo 721 threshold.
- Keep a record of your losses from prior years, not just this year's gains.
- For any figure that goes into your actual tax return, check it with a tax advisor -- this guide is the map of the problem, not a completed filing.
Before calculating anything, it helps to know exactly which operations actually show up in your addresses. You can analyze any of yours with the address analyzer.
Last updated: 2026-07-30