Try the Demo
This guide shows you how to install a walt.id sample wallet and run receive and present flows against Portal2. The sample apps are white-labelable shells around the Wallet SDK β replace the UI after you have seen the protocol work.
Prerequisites
Before you begin, ensure you have:
- A device to run the wallet β An Android device or emulator for the Compose APK, or an iOS device enrolled in the Compose TestFlight.
- A second device or browser for Portal2 β Use portal2.demo.walt.id to create credential offers and presentation requests.
- Optional: a proximity reader β For in-person mdoc sharing, see Proximity Sharing.
Get a Wallet App
| App | Platform | Download |
|---|---|---|
| Compose demo | Android | APK from Releases Firebase |
| Compose demo | iOS | TestFlight |
To build the Compose demo or the native SwiftUI demo from source, follow the Mobile Wallet Development Guide.
Receive a Credential
- Open the wallet app and complete onboarding if prompted.
- In Portal2, select a credential (for example an mDL) and ensure you are on the Issue tab.
- For a first test, we recommend using the Pre-authorised code flow with the QR code
- In the wallet, choose Receive, scan the QR code, review issuer and credential metadata, and accept.
π You've received a credential into the sample wallet.
Present a Credential
- On the same credential page as the issuance flow, now switch over to the Verify tab.
- For a first test, we recommend using the QR code option and leaving the rest as default.
- In the wallet, choose Present, scan the QR code, review the verifier and the claims to share, and submit.
- Confirm the result in Portal2.
π You've presented a credential back to Portal2.
Present in Person
In-person mdoc proximity sharing starts in the wallet (Present in person), not in Portal2. Use a compatible reader on a second device.
White-label the Shell
Both sample apps keep title and brand colours in a demo-scoped branding object (WalletDemoBranding in the Compose app). Edit those tokens, rebuild, and headers, PIN screens, and buttons pick up the new brand.
Next Steps
- Receive credentials in your app β Receive Credentials.
- Present credentials in your app β Present Credentials.
- Share an mdoc in person β Proximity Sharing.
- See how Portal2 works β Portal2 overview.
