Skip to main content

What is EUDIPLO?

EUDIPLO is a lightweight, open-source middleware layer that bridges your IT systems with the European Digital Identity Wallet (EUDI Wallet) ecosystem.

Whether you're building services for government, education, healthcare, or the private sector, EUDIPLO lets you interact with EUDI Wallets using simple JSON-based APIs, without having to implement complex identity protocols yourself.

EUDIPLO stands for EUDI Protocol Liaison Operator

The name EUDIPLO is inspired by diplomat, because this middleware acts as a translator and trusted go-between. It speaks fluent EUDI specs on one side and down-to-earth JSON on the other, so your backend doesn't have to become a protocol expert overnight.

Where does it fit?โ€‹

Your backend talks to EUDIPLO over simple, protocol-agnostic HTTP/JSON APIs. EUDIPLO does the heavy lifting of speaking OID4VCI, OID4VP, SD-JWT VC, and mDOC (ISO 18013-5) to the wallet, and calls you back via webhooks or session events with the result.

Why EUDIPLO?โ€‹

Connecting to the EUDI Wallet ecosystem is technically demanding:

  • You must understand OID4VCI, OID4VP, SD-JWT VC, mDOC (ISO 18013-5), and OAuth-based status protocols.
  • Libraries are scattered, often incomplete or language-specific.
  • Hosted services can lead to vendor lock-in or obscure how your data is processed.

EUDIPLO solves these problems by acting as a protocol abstraction layer you can run yourself, integrate over HTTP, and configure via JSON.

Three ways to approach EUDIPLOโ€‹

๐Ÿš€ Use EUDIPLOโ€‹

Run EUDIPLO, issue your first credential, and verify your first presentation in minutes.

Start here: Getting Started

๐Ÿ— Understand EUDIPLOโ€‹

Learn how tenants, credential/issuance/presentation configurations, sessions, and key chains relate โ€” and how the pluggable database, storage, and KMS backends fit together.

Start here: Architecture

๐Ÿ›  Contributeโ€‹

Set up a local development environment, understand the monorepo layout, and learn how to test and submit changes.

Start here: Contributing

Common tasksโ€‹

TaskWhere to go
Issue a credentialIssuance
Request/verify credentialsPresentation
Configure claimsClaims
Connect an authorization serverIssuance: Authorization
Deploy to productionDeployment
Configure trustTrust & Security

Key capabilitiesโ€‹

CapabilityDescription
๐Ÿ›‚ IssuanceIssue credentials to users through the EUDI Wallet
๐Ÿงพ PresentationRequest credentials from users and verify them
๐Ÿ”„ Cross-Flow SupportRequest credentials as part of an issuance flow
๐Ÿ” Secure by DefaultBuilt-in support for secure key handling and OAuth-based status checking
๐Ÿงฑ Plug and PlayIntegrates with your backend over HTTP; no requirement to use a specific programming language
๐Ÿ–ฅ๏ธ Web Client IncludedComes with a ready-to-use web interface for easy testing and interaction
โš™๏ธ JSON ConfigurableSet up templates, trust roots, and issuers through JSON files
๐Ÿ‡ช๐Ÿ‡บ Wallet CompatibleWorks with multiple wallets
โœ… OIDF ConformantTested against the OpenID Foundation conformance suite for OID4VCI and OID4VP
๐Ÿ‘ฅ Multi-Tenant SupportIsolate configurations for different tenants or clients

Try EUDIPLOโ€‹

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

Both options run the same EUDIPLO CLI.

  • Standalone CLI: native executable, no Node.js required.
  • npm package: @eudiplo/cli, requires Node.js 22+.
  • The demo requires Docker and Docker Compose, or Podman and Podman Compose.
  • eudiplo demo creates a local demo deployment for evaluation, not production.

Continue with the Getting Started guide.