Reusable identity without a wallet application
Overview
Example flow
1. SETUP
- Create Issuer DID and Verifier DID in Truvera workspace
- Create a Proof Template with ZK predicates (e.g., age >= 18)
- Add Issuer DID to template's trusted issuers
2. ISSUANCE (Bank/Issuer side)
POST /openid/issuers --> get issuerId
POST /openid/credential-offers --> get offerUrl
wallet.addCredential(offerUrl) --> credential stored in EDV
3. VERIFICATION (Exchange/Verifier side)
POST /proof-templates/{id}/request --> get proofRequestId + qr URL
wallet.submitPresentation({ proofRequestUrl: qr }) --> ZKP submitted
GET /proof-requests/{id} (poll) --> verified: truePrerequisites
Secret
Purpose
Where used
Secret
Purpose
Where used
Example
1. Wallet SDK - client side
Install
Initialize a new wallet
Restore an existing wallet
Import a credential (OID4VC)
List credentials
Delete a credential
Submit a zero-knowledge presentation
2. Truvera REST API - server side
2a. Issue a credential
2b. Create a proof request
2c. Poll for verification result
Next Steps
Last updated
Was this helpful?