Skip to content

openwallet-foundation-labs/eudiplo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Logo

Build Status License Website Documentation Coverage codecov 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, and OAuth Token Status List
  • βœ… 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

πŸš€ Quick Start

Demo Setup (Easiest)

For quick testing and demos, you can run EUDIPLO with minimal configuration:

# Clone the repository
git clone https://github.com/openwallet-foundation-labs/eudiplo.git
cd eudiplo

# Start with default demo credentials (includes security warnings)
docker compose up -d

# Access the services
# Backend API: http://localhost:3000
# Client UI: http://localhost:4200

⚠️ Demo mode uses default credentials - perfect for testing, but change them for production!

Option 1: Using Docker Compose (Recommended for Production)

# Clone and configure
git clone https://github.com/openwallet-foundation-labs/eudiplo.git
cd eudiplo
cp .env.example .env

# Configure secure authentication
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
echo "AUTH_CLIENT_SECRET=$(openssl rand -base64 24)" >> .env

# Start both backend and client with Docker Compose
docker compose up -d

# Access the services
# Backend API: http://localhost:3000
# Client UI: http://localhost:4200

Option 2: Using Individual Docker Images

# Run just the backend
docker run -p 3000:3000 \
  -e PUBLIC_URL=https://example.com \
  -e JWT_SECRET=your-32-character-secret \
  -e AUTH_CLIENT_SECRET=your-issuer-secret \
  -v $(pwd)/assets:/app/config \
  ghcr.io/openwallet-foundation-labs/eudiplo:latest

# Run the client (optional - web interface)
docker run -p 4200:80 \
  -e API_BASE_URL=http://localhost:3000 \
  ghcr.io/openwallet-foundation-labs/eudiplo-client:latest

Option 3: Local Development

# Install dependencies
pnpm install

# Start backend
pnpm --filter @eudiplo/backend run start:dev

# Start client (in another terminal)
pnpm --filter @eudiplo/client run dev

Get Started with the API

# Get a token and start using the API
curl -X POST http://localhost:3000/oauth2/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "root",
    "client_secret": "root"
  }'

πŸ“š API: https://openwallet-foundation-labs.github.io/eudiplo/latest/api/
πŸ“¦ Full setup: Quickstart Guide


πŸ“š Documentation

Choose your documentation version:

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

About

Your diplomatic layer for EUDI Wallet integration

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 8