Framework-agnostic verifier kit for the European Digital Identity Wallet.
eudi-verify provides a drop-in web component, typed client SDK, React wrapper, Node.js server handlers, and an OpenAPI specification for websites that want to experiment with EUDI Wallet-style verification flows.
eudi-verify helps websites and services integrate EUDI Wallet credential verification quickly.
Think of eudi-verify as a reCAPTCHA-style integration pattern for credential verification: a small embeddable widget starts a wallet verification flow and returns a server-verifiable token, enabling age checks, credential proofs, and scoped identity attributes without building the full protocol stack.
<!-- Add age verification to any website -->
<eudi-verify api-url="/api/eudi" request='{"age_over_18": true}'></eudi-verify>Live demo: https://demo.eudi-verify.eu/
Use cases include proving a user is over 18, verifying possession of a specific credential or entitlement, and checking a scoped identity attribute without building the full verifier flow from scratch.
| Package | Purpose | Status |
|---|---|---|
@eudi-verify/server |
REST API handlers, token verification, rate limiting | Preview (MockEngine), Node.js 22+ |
@eudi-verify/embed |
Drop-in <eudi-verify> web component |
Preview |
@eudi-verify/client |
Typed API client, state machine, QR generation | Preview |
@eudi-verify/react |
React wrapper with typed props | Preview |
Preview release. Feature-complete for integration development. Not yet audited for production identity verification; production EUDI Wallets expected Dec 2026.
See the current limitations and supported platforms.
This project is for developers, product teams, and integrators who want to prepare for EUDI Wallet verification flows before production wallets are broadly available.
Requirements: Node.js 22+, pnpm.
1. Clone and build packages — repository root only (eudi-verify/):
git clone https://github.com/eudi-verify/eudi-verify.git
cd eudi-verify
pnpm install && pnpm buildpnpm build compiles packages/*. Folders under examples/ only have start — no build script.
2. Terminal 1 — shared API server (new terminal; cd to your clone root first):
cd examples/server && pnpm start3. Terminal 2 — HTML demo (another new terminal; clone root):
cd examples/html-vanilla && pnpm startOpen http://localhost:3001 for the live demo.
See the integration guide for production-like setup.
Contributions are welcome. Read the contributing guide and code of conduct.
Ways to help:
- Try the demo and open issues
- Contribute fixes, examples, or tests
- Share feedback from real integration scenarios
- Improve documentation
- Main repository: eudi-verify/eudi-verify
- Documentation: Architecture · API spec · Security · Roadmap
- Demo: https://demo.eudi-verify.eu/
- Discussions: GitHub Discussions
- Contributing: CONTRIBUTING.md
Apache-2.0 — permissive, usable in open-source and proprietary projects alike. See LICENSING.md for details.
Official EU resources: