Private EUDI Wallets
This page lists private EUDI wallet providers that can be tested with the eID Easy OIDC sandbox.
The integration follows the standard eID Easy OIDC flow. This page covers only what is specific to private wallet testing: prerequisites, the user-facing steps, identity claims returned, and how to prepare wallet credentials.
Prerequisites
Before starting, ensure the following are in place:
- You have a working OIDC client set up on test.eideasy.com with a registered
redirect_uri. - The private wallet method you want to test is enabled for your client in the eID Easy admin panel.
- You have configured your JWK public key for
private_key_jwtauthentication. If not yet done, send us yourclient_idand your JWKs JSON or public JWKs URL so we can configure it for you. - You have the selected wallet app installed and loaded with the test credentials required for your use case.
Testing in the playground
You can test private wallet integrations through the eID Easy EUDI Wallet playground: http://eudiw-playground.eideasy.com/.
Supported private wallets
Namirial
Namirial provides a demo wallet environment that can be used to register a test account, download the wallet app, and issue test credentials to the wallet.
Use the Namirial demo portal: https://wallet-demo.namirial.com/login/?next=/
Set up the Namirial wallet
- Open the Namirial demo portal: https://wallet-demo.namirial.com/login/?next=/
- Register a demo account, or sign in if you already have one.
- Follow the portal instructions to download and install the Namirial wallet app on your test device.
- In the demo portal, issue the credentials you need for testing:
- PID: Personal Identification Data
- AV: Age Verification
- mDL: Mobile Driving Licence
- Open the Namirial wallet app and confirm that the issued credentials are available in the wallet.
Your Namirial wallet is now ready to use in the OIDC flow.
Running the flow
1. Start the authorization request
Follow Step 1 of the OIDC guide and include the scopes required for the credential data you want returned:
scope=openid profile pid
2. Select the wallet on the authorization page
Once the eID Easy authorization page opens:
- Select the country/provider option for the private wallet you want to test
- Choose Namirial when testing the Namirial wallet
3. Complete the wallet authentication
On the wallet screen:
- Scan the QR code with the wallet app, or open the wallet directly if you are using the same mobile device
- Select the credential requested by the relying party, such as PID, AV, or mDL
- Review the attributes requested by the relying party
- Approve the data sharing request in the wallet
Once approved, the wallet redirects back to eID Easy, which redirects your user to your redirect_uri with an authorization code.
4. Exchange the code and validate the ID token
Follow Steps 3-5 of the OIDC guide to exchange the code and validate the returned ID token.
The ID token is a signed JWS. Verify it using the public key published via the discovery document:
https://test.eideasy.com/.well-known/jwks.json
Identity claims returned
When the user successfully authenticates with a private EUDI wallet, the ID token may include a verified_claims object with verified credential data:
{
"verified_claims": {
"verification": {
"trust_framework": "eidas",
"time": "2026-03-11 12:29:34",
"evidence": [
{
"type": "electronic_record",
"document_details": {
"type": "EudiPid"
}
}
]
},
"claims": {
"given_name": "Mario",
"family_name": "Rossi",
"birthdate": "1990-05-20",
"nationalities": ["IT"],
"birth_place": {
"country": "IT",
"locality": "Rome"
}
}
}
}
| Field | Description |
|---|---|
verification.trust_framework | Always eidas for EUDI Wallet credentials |
verification.time | Timestamp of when the verification was performed |
verification.evidence[].type | electronic_record for wallet-issued credentials |
verification.evidence[].document_details.type | Credential type, such as EudiPid |
claims.given_name | First name as returned by the selected credential |
claims.family_name | Last name as returned by the selected credential |
claims.birthdate | Date of birth in YYYY-MM-DD format |
claims.nationalities | Array of ISO 3166-1 alpha-2 country codes |
claims.birth_place | Structured birth location, where available |
TIP
The exact claims depend on the credential requested and approved by the user. For example, PID, AV, and mDL credentials expose different attribute sets.