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:

  1. You have a working OIDC client set up on test.eideasy.comopen in new window with a registered redirect_uri.
  2. The private wallet method you want to test is enabled for your client in the eID Easy admin panel.
  3. You have configured your JWK public key for private_key_jwt authentication. If not yet done, send us your client_id and your JWKs JSON or public JWKs URL so we can configure it for you.
  4. 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/open in new window.


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=/open in new window

Set up the Namirial wallet

  1. Open the Namirial demo portal: https://wallet-demo.namirial.com/login/?next=/open in new window
  2. Register a demo account, or sign in if you already have one.
  3. Follow the portal instructions to download and install the Namirial wallet app on your test device.
  4. In the demo portal, issue the credentials you need for testing:
    • PID: Personal Identification Data
    • AV: Age Verification
    • mDL: Mobile Driving Licence
  5. 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:

  1. Select the country/provider option for the private wallet you want to test
  2. Choose Namirial when testing the Namirial wallet

3. Complete the wallet authentication

On the wallet screen:

  1. Scan the QR code with the wallet app, or open the wallet directly if you are using the same mobile device
  2. Select the credential requested by the relying party, such as PID, AV, or mDL
  3. Review the attributes requested by the relying party
  4. 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"
      }
    }
  }
}
FieldDescription
verification.trust_frameworkAlways eidas for EUDI Wallet credentials
verification.timeTimestamp of when the verification was performed
verification.evidence[].typeelectronic_record for wallet-issued credentials
verification.evidence[].document_details.typeCredential type, such as EudiPid
claims.given_nameFirst name as returned by the selected credential
claims.family_nameLast name as returned by the selected credential
claims.birthdateDate of birth in YYYY-MM-DD format
claims.nationalitiesArray of ISO 3166-1 alpha-2 country codes
claims.birth_placeStructured 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.

Last Updated: