Build Status License Website Documentation Coverage codecov

EUDIPLO

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 production-grade EUDI Wallets like Animo.

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

πŸš€ Quick Start

Example :
# Clone and configure
git clone https://github.com/cre8/eudiplo.git
cd eudiplo
cp .env.example .env

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

# Start with Docker
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)/config:/app/config \
  ghcr.io/cre8/eudiplo:latest

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

πŸ“š API: https://cre8.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.


πŸ“ License

Licensed under the Apache 2.0 License

results matching ""

    No results matching ""