EUDI Wallet Reference Implementation – Repositories
The EUDI Wallet Reference Implementation uses a modular architecture with business-agnostic, reusable components that evolve incrementally and can be reused across multiple projects. This document provides an overview of the key repositories of the EUDI Reference Implementation.
The EUDI Wallet Reference Implementation includes the following components:
Libraries
Wallet Core (Android) and Wallet Kit (iOS) Coordinator Libraries
| Repository |
Description |
| Wallet Core (Android) |
Implementation of the EUDI Wallet Core library for Android that serves as a coordinator layer between the Wallet UI App and the Wallet libraries. Currently, it coordinates issuing, proximity and remote presentation libraries. |
| Wallet Kit (iOS) |
Implementation of the EUDI Wallet Kit library for iOS that serves as a coordinator layer between the Wallet UI App and the Wallet libraries. Currently it coordinates issuing, proximity and remote presentation libraries. |
Proximity Sharing iOS Libraries
Proximity Sharing Android Libraries
| Repository |
Description |
| mDoc Data Transfer (Android) |
This library provides a set of classes to manage the transfer of documents in a EUDI ISO/IEC 18013-5 Android Wallet. |
Remote Presentation iOS Libraries
Remote Presentation Android Libraries
Issuing iOS Libraries
| Repository |
Description |
| OpenID4VCI (iOS) |
Implementation of credential management supporting the OpenID4VCI protocol. |
Issuing Android Libraries
| Repository |
Description |
| OpenID4VCI (Android) |
Implementation of credential management supporting the OpenID4VCI protocol. |
Wallet Data Storage and Cryptographic Management iOS Libraries
Wallet Data Storage and Cryptographic Management Android Libraries
| Repository |
Description |
| mDoc Document Storage (Android) |
This library provides a set of classes to manage documents and their cryptographic keys in a EUDI Android Wallet. |
Revocation Libraries
| Repository |
Description |
| Token Status List (Kotlin) |
Statium is a Kotlin multiplatform library supporting JVM and Android platforms. It implements the Token Status List Specification and allows callers to check the status of a 'Referenced Token' as defined in the specification, effectively enabling applications to verify if tokens are valid, revoked or in other states. |
| Token Status List (Swift) |
Statium is a Swift library for iOS and macOS. It implements the Token Status List Specification and allows callers to check the status of a 'Referenced Token' as defined in the specification, effectively enabling applications to verify if tokens are valid, revoked or in other states. |
rQES: Low Level Libraries
| Repository |
Description |
| EUDI rQES CSC library (Kotlin) |
This is a Kotlin library targeting Android that supports the Cloud Signature Consortium API (version 2) protocol. |
| EUDI rQES CSC library (Swift) |
This is a Swift library targeting iOS that supports the Cloud Signature Consortium API (version 2) protocol. |
rQES: Core and Kit Libraries
rQES: UI Libraries
EUDI Wallet mobile native applications
| Repository |
Description |
| Wallet UI App (Android) |
Implementation of Wallet UI App for Android. Currently, it includes a demo App, demonstrating the following capabilities: Proximity presentation, Same-device Online Presentation and Issuance of PID and mDL. |
| Wallet UI App (iOS) |
Implementation of Wallet UI App for iOS. Currently, it includes a demo App, demonstrating the following capabilities: Proximity presentation, Same-device Online Presentation and Issuance of PID and mDL. |
Verifier Apps and Services
Issuing Apps and Services
| Repository |
Description |
| OpenID4VCI issuer (Python) |
An implementation of a credential issuing service, according to OpenID4VCI, in Python. Available at: https://issuer.eudiw.dev/ |
| OpenID4VCI issuer (Kotlin) |
An implementation of a credential issuing service, according to OpenID4VCI, in Kotlin. Available at: https://issuer-backend.eudiw.dev/ |
Signing Apps and Services
| Repository |
Description |
| TrustProvider Signer |
The TrustProvider Signer is a remote signing service provider and client. The TrustProvider Signer can be accessed using the EUDI Wallet through OID4VP presentation of the PID. Available here. |
| EUDI Wallet-driven signer QTSP |
Implementation of a wallet-driven QTSP for the remote Qualified Electronic Signature component of the EUDI Wallet. The QTSP provides endpoints based on the CSC API v2.0 specification and supports authentication via OpenID4VP. |
| EUDI Wallet-driven external SCA |
Implementation of a wallet-driven SCA for the remote Qualified Electronic Signature component of the EUDI Wallet. The SCA provides endpoints that allow the calculation of the hash value of a document and obtain the signed document given the signature value. |
| RP Centric rQES SCA |
This is a REST API server implementing the RP-centric SCA for the remote Qualified Electronic Signature (rQES) component of the EUDI Wallet. |