DSA Article 28 compliance via the official EU standard. Your users verify their age. You get a boolean. No wallet expertise required.
Generating session…
Verified
npm install @espuni/node@espuni/node ↗@espuni/browser ↗@espuni/core ↗
Who it's for
01
Gambling & online gaming
Legal obligation to verify age before granting access.
See the demo · BetEU →02
Adult content
Platforms required to enforce age-gating under DSA Art. 28.
See the demo · StreamPlus →03
Alcohol & tobacco sales
E-commerce with products restricted to adults over 18.
See the demo · Bodegas del Valle →Does DSA Article 28 apply to you?
A technical-legal guide: what the law requires, who it applies to, and how to comply without compromising GDPR.
Read the compliance guide →
The apps your users will bring, country by country
An observatory of the national EU Age Verification Blueprint solutions: what is live today and how they differ.
2 live2 in pilot3 announced
See the AV apps observatory →
What's in production
Live
Age verification (EU AV Blueprint)
Proof of age against conformant EUDI wallets, anchored in the European Trusted List.
Livesame-device
Zero-knowledge proof
Prove someone is of age without revealing their date of birth — mathematical privacy, not a contractual promise.
How it works
01
Call the API
POST /api/verifier/offer with requestId: "age-verification". Receive session, uri and crossDeviceUri for the QR.
02
User verifies
Opens their EU Age Verification App or EUDI Wallet — scanning the QR or QR-less on the same device (Digital Credentials API) — and approves the presentation.
03
Receive the result
age_over_18: true/false via webhook or GET /api/session/:id. No personal data exposed.
The integrator's view
Your platform confirms age without building the infrastructure or handling identity. espuni resolves the EUDI ecosystem for you: you ask for the claim and get a verified answer.
Live demo
Full age verification flow using the EU Age Verification App. This is exactly what your users would see when you integrate into your platform.
Need AV credentials?
Get a Proof-of-Age credential in the official EU AV Reference App, then verify it in the demo.
Recommended wallet
Any wallet conforming to the EU Age Verification Blueprint works. The official reference app is the one we recommend for testing.
EU AV Reference App (official)
Why espuni
01
Official EU standard
Built on the EU Age Verification Blueprint by the European Commission.
02
OpenWallet Foundation
Powered by EUDIPLO, the reference middleware for the EU AV ecosystem.
03
Practitioners, not consultants
Built by people who work with these specifications day to day — not just advise on them.
// pricing
Start free. Scale when you're ready.
No contracts. No setup fees.
Free tier includes 100 verifications/month. Production pricing based on volume — contact us for a quote.
What's coming
Everything above is usable today. This isn't yet — and we'd rather say so.
Previewinvitation only
Trust-Lab by espuni and Flows by espuni
Every trust list, a relying party register with its access and registration certificates, and the PID that do not exist in production yet, issued in the same formats as the Commission and wired to your espuni account.
Explore Trust-Lab by espuni and Flows by espuni →Explorationverification logic complete · no real wallet accepts our access and registration certificates yet · tested with the espuni wallet, Trust-Lab by espuni and Flows by espuni
Age via EUDI Wallet PID
Some member states — Germany among them — chose to answer age from the PID rather than with a separate AV credential. Where that attribute exists, it is the only one requested.
Explorationrequest built and tested · not wired into the product
Google Wallet
A different trust ecosystem (ID Pass), outside the EUDI framework. Proof of concept done; the decision to operate it is open.