Portuguese tax law has a rule that catches most casino and betting clients by surprise. The legality of where the money comes from does not exempt it from tax. The principle is non olet. Money has no smell.
The most common assumption in this space is wrong on two levels. The first: if I win on an unlicensed site, the tax authority does not know. The second: if the operator was not legal here, the income cannot be taxed here. Both are wrong. The tax authority has bank-flow visibility under DAC2 and DAC8. And Portuguese tax law is structured to tax economic gain regardless of the source's legality.
Winnings on a Portuguese SRIJ-licensed operator are tax-free for the player. The operator paid IEJO at source. Winnings on any other operator (EU, non-EU, unlicensed) do not slot into the closed list of Article 9 CIRS, so on a strict tipicidade reading there is no direct IRS tax on the winnings themselves. The real risk is different: Article 89-A LGT presumes unexplained bank inflows as taxable Category G "unjustified wealth", rebuttable only by producing the gambling paper trail. On unlicensed sites, producing that trail clears the tax but confesses to RJO administrative fines.
What the law actually says.
Start with the principle people misapply. Article 10 of the General Tax Law (the non olet rule) says the illegality of an underlying operation does not block taxation if the income fits a tax category. It is not a category-creating rule. It taxes what the IRS Code already taxes, regardless of whether the source was lawful. To apply it, the income still has to fit somewhere in the closed list of categories A through H.
Now look at Article 9 CIRS, the Category G "incrementos patrimoniais" provision. Paragraph 2 lists what counts: prémios de rifas, lotaria, loto, bingo, e sorteios ou concursos. The list is closed. Online sports betting and online casino are not in it. Under the tipicidade principle that governs Portuguese tax law (no analogy, no extensive interpretation, statutory list rules), gambling winnings as such do not slot into Category G.
Combine the two. Non olet only fires where there is a category to host the income. Article 9(2) does not host online sports betting or casino. On a strict reading, the winnings themselves carry no direct IRS liability, regardless of where the operator is based. This is the doctrinal majority position; some practitioners read Article 9(2) more broadly, and the AT has at times pushed an expansive reading. Treat the issue as live.
The shield for SRIJ-licensed operators is independent. The SRIJ-authorised operator pays the Imposto Especial de Jogo Online (IEJO) at source (8% to 16% of the wagered amount for sports betting, 25% of gross gaming revenue for online casino), and the player receives net winnings with no further IRS reporting needed. The exclusion is built into the system at the operator level, not at the player level.
So where does the real risk live? Not on the income side. It lives in Article 89-A LGT, the unjustified-wealth presumption (covered in detail below). And on the regulatory side, in the Regime Jurídico dos Jogos e Apostas Online (RJO), which fines players who use unlicensed sites. The two interact in an uncomfortable way: the same paper trail that defeats the unjustified-wealth presumption also confesses to the RJO infraction.
Three scenarios, three outcomes.
Most readers fit into one of these three. Find yours.
SRIJ-licensed in Portugal
Clean / 0% taxOperators like Betclic, Betano, Solverde, Placard, ESC Online. The operator already paid IEJO at source. The winnings reach the player net of tax.
EU operator, no SRIJ licence
RJO infractionMalta, Gibraltar, UK, Curaçao without a Portuguese licence. The winnings sit outside the closed list of Article 9(2) CIRS, so on a strict tipicidade reading there is no direct IRS liability. Playing is an infraction under the RJO. Keep the paper trail defensively for any Article 89-A LGT audit.
Unlicensed or illegal
Audit trapNo SRIJ licence and no other EU anchor. The winnings are not in the Article 9(2) list, but large DAC2/DAC8 bank flows from foreign payment processors trigger an Article 89-A LGT unjustified-wealth assessment. Proving the gambling origin clears the IRS bill but exposes the player to severe RJO fines and potential fund-confiscation proceedings.
The Santa Casa special case.
Social games operated by Santa Casa da Misericórdia de Lisboa (Euromilhões, Lotaria, Raspadinha, physical Placard, Totoloto) follow their own regime. Prizes are tax-free up to €5,000. Above that threshold, the portion exceeding €5,000 is subject to Imposto do Selo (stamp duty) at 20%, withheld at source by Santa Casa. The bet itself also pays 4.5% Imposto do Selo at the moment of purchase.
When the AT comes looking.
Article 89-A of the General Tax Law reverses the burden of proof when there are manifestações de fortuna out of step with declared income: deposits above €100,000 in a year, property or vehicle acquisitions above set thresholds. Recurring transfers from foreign payment processors or offshore IBANs are exactly the pattern that triggers it. The defence is documentation, kept contemporaneously: operator statements, withdrawal receipts, IBAN-to-account match.
The administrative courts have consistently held that this burden is real. Taxpayers who invoke gambling winnings as the origin of unexplained deposits without producing the paper trail lose. See, for instance, this ruling of the Tribunal Central Administrativo.
A practical checklist.
- Pull every gambling-related bank transaction for the year. Deposits to operators, withdrawals from operators, payment-processor flows. Build the ledger before the AT does.
- Identify the operator behind each flow. SRIJ-licensed (tax-free for you, nothing to declare), EU-licensed but not Portuguese (no IRS line item, but an RJO infraction on the regulatory side), or unlicensed (same IRS analysis, plus Article 89-A LGT exposure on the bank flows).
- Do not file non-SRIJ winnings on Modelo 3. They do not fit any IRS category under the closed list of Article 9(2) CIRS. Declaring them voluntarily on Anexo J or Anexo G subjects non-taxable inflows to aggregation rates, and adds a written record of unlicensed-site use. There is no field, code, or legal obligation to report them on Modelo 3.
- Build a defensive file, not a declaration. Operator statements, withdrawal records, payment-processor confirmations, IBAN matches. Keep this strictly as a shield to produce only if an Article 89-A LGT inquiry is opened, never as a voluntary disclosure. Producing it earlier is the trade between an IRS bill you do not owe and an RJO fine you do not need.
- For Santa Casa prizes above €5,000, expect the 20% stamp duty already withheld. The portion below €5,000 is fully tax-free. No further IRS reporting is required for Santa Casa games.
Every case has a path.
The most common situation that walks into my practice is a client with years of undeclared winnings on non-SRIJ platforms. The casino itself does not report your wins to the AT. But the bank does. Fiat wires from foreign payment processors are visible to the AT under the existing automatic bank-information exchange (DAC2 and the CRS), and from 2026 onwards crypto exchanges and other CASPs report the on-ramps and off-ramps around the casino under DAC8. The wall between the operator and the AT has more windows than most players realise.
There is a path. Article 29 of the General Regime of Tax Infractions (RGIT) provides a fine waiver for the first voluntary regularisation in five years, if filed before any inspection or notification. Article 30 of the same regime reduces the fine to 12.5% of the legal minimum even after notification. Every case is different. The right move is to map yours before the tax authority maps it for you.
This article is general information, not tax advice. Every situation is different. Confirm your case with me on a discovery call before you file.