Multi-Platform libraries, powerful APIs and easy-to-use white label apps to build identity and wallet solutions by walt.id
walt.id provides open source digital identity and ID wallet infrastructure, used by more than 50,000 developers and organizations worldwide — including governments and large enterprises. walt.id’s products (Issuer, Verifier, and Wallet) are available in two product editions:
- Community Stack (Open-Source / Apache 2.0) - The easiest way to get started and build. Find our more in our monorepo here
- Enterprise Stack - Everything you need to roll-out and scale. If you want to learn more about the enterprise stack, reach out to us via our contact form
France Identité Sandbox¶
We have hosted our demo portal via the France Identitié sandbox here.
Simple Mode¶
In order to test the verification of the PID credentials in the France Identitié app, navigate to the “Verify” section of the portal, and then click on the “EU PID” card. A dropdown will appear, where you will need to select “France Identite “.
Click “Create Verification Session” and you will see a QR code appear on the right hand side of the screen. Scan this QR code using the France Identitié app (by clicking the purple QR code button at bottom of the screen), and then click through the confirmation prompts shown in the application.
Once shared, you should see session information displayed at the bottom of the demo portal showing you the success of the verification sessions and the different policies which ran.

Advanced Mode¶
In order to test the verification of the PID credentials in the France Identitié app, navigate to the “Verify” section of the portal, and then click on the “Advanced” mode in the top right hand corner.
Within the dropdown, you can select the “[openidvp-http] [iso-pid]” example. Here you will see an example request which requests a few different claims from the PID credential.
Some additional information is already pre-filled, including the verifier key, x5c chain and clientId. These should work out of the box within the demo environment, but can be edited if required.
Click “Create Verification Session” and you will see a QR code appear on the right hand side of the screen. Scan this QR code using the France Identitié app (by clicking the purple QR code button at bottom of the screen), and then click through the confirmation prompts shown in the application.
Once shared, you should see session information displayed at the bottom of the demo portal showing you the success of the verification sessions and the different policies which ran.
If you would like to use the portal to test your own wallet, you can use the portal provided in this sandbox or our official deployment here
Using the Sandbox for testing¶
Our demo portal support the following standards: - OpenID4VCI 1.0 - OpenID4VP 1.0 - IETF SD-JWT - ISO mDocs
Simple vs Advanced Mode¶
The Demo portal features two distinct modes: - Simple: This mode allows you to quickly demo and verify preset credentials without having to understand too much about the underlying services or protocols. - Advanced: Allows you to freely issue and verify credentials and access some of our advanced features via UI or by directly editing the request body following our docs site.
You may also visit the swaggers directly for the issuer service and verifier service if you want to bypass the portal.
Issuance¶
When using the issuer demo portal, you can select from a number of predefined credential profiles through a dropdown list related to eIDAS. In order to understand more about the credential structure, a collapsable section labelled “Credential Definition” is available. The portal only supports the predefined credentials out of the box, but you are free to deploy your own version of the issuer and add your own credentials. Find out more here.
Once you have selected your credential profile, you can create the credential offer in a number of different ways all shown by the second dropdown labelled “Credential Offer Options”. Here you can configure whether to use the Authorisation Code flow, the pre-authorisation code with or without the tx code, set the expiry of the offer, override certain aspects of the issuance process etc.
Some additional configuration is available below the dropdown in the “Offer security overrides” section. Here you can update the key used to sign the credential, and the certificate chain advertised by the issuer within the credential.
When using the authorisation code flow, note that the issuer is configured to use our demo keycloak instances. Within it are two profiles you can use for logging in and testing the flow:
Test users
| Username | Password | Claims |
|---|---|---|
| jane@walt.id | jane | given_name, family_name |
| max@walt.id | password | clearanceLevel, employeeId, position, department, startDate |
You can interact with the API directly via the swagger and read the source code in our repository
Verification¶
When using the verifier demo portal, you can select from a number of predefined examples through the dropdown list. You will see that the examples follow a particular naming convention:
[protocol][credential_format] description
However, the examples can be fully overridden to create your own custom verification session. If you would like to learn more about the structure and how DCQL works, you can visit our docs here and our DCQL helper here.
Some additional configuration is available below regarding “Transaction Data” (learn more here). Here we also have the “Request security options” dropdown which is used to populate the clientId, key and certificate header in the request which is required for signed requests.
You can interact with the API directly via the swagger and read the source code in our repository
Wallet¶
Mobile Wallet¶
As infrastructure providers, walt.id does not build end user wallets. However, we do develop SDKs which allow you to integrate wallet capabilities into new or existing applications.
We also have three example applications which demonstrate how to integrate our SDKs into your own applications. You can find the source code for these applications here:
| Application | Platform | Source Code |
|---|---|---|
| Koptin Compose Application | Android | waltid-wallet-demo-compose |
| Kotlin Compose Application | iOS | waltid-wallet-demo-compose |
| Native iOS Application | iOS | waltid-wallet-demo-ios |
Web wallet¶
We also have created a custodial web wallet which you can find the source code for here and documentation here
The UI is in currently in development.
Contact¶
- General / partnership inquiries: contact@walt.id
- Technical questions or issues: GitHub Issues
Resources¶
- Documentation — quickstarts, protocol guides, and API references
- Source code — Apache 2.0, Kotlin multiplatform
- eIDAS2 explainer — overview of the regulation and the EUDI Wallet
- Blog / product updates
- Community - Discord · LinkedIn · YouTube