Skip to content

Latest commit

Β 

History

1,034 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Logo

Build Status License Website Documentation Coverage Security Rating Quality Gate Status Join our Discord

Your Diplomatic Layer for EUDI Wallet Integration

EUDIPLO is an open-source middleware that bridges your backend and EUDI Wallets using a unified API and standardized protocols.


🧭 Overview

Organizations joining the EUDI Wallet ecosystem face a tough choice: patch together protocol libraries that may not exist for their stack, or rely on proprietary solutions that risk vendor lock-in.

EUDIPLO solves this by providing a lightweight, source-available, protocol abstraction layer. It communicates over HTTP and integrates easily with your existing backend stackβ€”so you can focus on your business logic, not cryptographic plumbing.

It supports all core flows of electronic attribute attestationsβ€”issuing, requesting, and even requesting during issuanceβ€”and is already compatible with multiple wallets.

While still in early development, EUDIPLO is built for production: secure key management, scalable database support, and clean API boundaries.

Overview

🧩 Features

  • βœ… Supports OID4VCI, OID4VP, SD-JWT VC, mDOC (ISO 18013-5), and OAuth Token Status List
  • βœ… OIDF conformance tested for OID4VCI and OID4VP protocols
  • βœ… JSON-based credential configuration
  • βœ… Client credentials authentication for easy service integration
  • βœ… Runs via Docker with .env config
  • βœ… HTTP-based integration with any backend
  • βœ… Secure key management & pluggable storage
  • βœ… Privacy-friendly: no external calls, no long-term storage

πŸ“Ί Watch the Webinar

Curious about EUDIPLO? Check out our recorded webinar (September 17, 2025) for a deep dive into features, architecture, and live Q&A:

EUDIPLO Webinar

Watch on YouTube

🀝 Community Call

Join our bi-weekly community call every Thursday:

Participate via Zoom

πŸš€ Quick Start

Requirements:

  • Docker with Docker Compose
  • Linux, macOS, or Windows

Linux and macOS: standalone CLI

curl -fsSL https://eudiplo.dev/install.sh | bash
eudiplo demo

No local Node.js installation is required.

Already using Node.js 22+?

npx @eudiplo/cli demo

Windows

Use npx @eudiplo/cli demo with Node.js 22+, or download the Windows x64 standalone executable from GitHub Releases.

Both commands run the same EUDIPLO CLI:

  1. Standalone CLI: native executable, no Node.js required.
  2. npm package: @eudiplo/cli, requires Node.js 22+.

eudiplo demo creates a demo deployment for local evaluation:

  • Creates editable demo configuration (.eudiplo.demo.env and config/demo/).
  • Uses the minimal topology: SQLite, local file storage, and database-backed keys.
  • Starts the backend and web client using Docker Compose.
  • Exposes the API at http://localhost:3000.
  • Exposes the web client at http://localhost:4200.
  • Uses demo credentials that must not be used in production.

For a configurable local deployment, run eudiplo init ./eudiplo-local. In an interactive terminal it asks for a preset or individual database, storage, key-management, public URL, and authentication choices. The same choices are available as flags, for example eudiplo init ./eudiplo-local --preset standard --start.

Local tenant configuration can be scaffolded and managed with:

eudiplo config tenant list
eudiplo config tenant create acme --name "Acme GmbH"
eudiplo config tenant remove acme --force

See the detailed guides:

Other deployment options

Get Started with the API

# Get a token and start using the API
# Replace with your configured AUTH_CLIENT_ID and AUTH_CLIENT_SECRET
curl -X POST http://localhost:3000/api/oauth2/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "your-client-id",
    "client_secret": "your-client-secret"
  }'

For production authentication setup, see Authentication.


πŸ“š Documentation

Use the stable docs entry point:

Use the version selector in the docs UI to switch between available releases.

Key sections:


🀝 Contributing

We welcome PRs from wallet developers, institutions, and contributors interested in advancing the EUDI Wallet ecosystem.

See CONTRIBUTING.md for guidelines.

πŸ’¬ Have questions? Join our Discord community to ask questions, get help, and connect with other developers.


πŸ“ License

Licensed under the Apache 2.0 License

Governance

The Project Charter for EUDIPLO can be found here.

About

Your diplomatic layer for EUDI Wallet integration

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

48 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages