Add your wallet
Open source? Integrate Verana the same way every wallet does, pass one acceptance loop, and get your own playground page - identical to every other wallet's, with your name on it.
Personal wallets
Trust resolution (Q1/Q2/Q3), the uniform Proof-of-Trust presentation, tracks (native DIDComm / OID4VC bridge), and the acceptance test.
Read it GuidelineBusiness wallets
Resolvable DIDs (did:web / did:webvh), ECS onboarding, domain credentials, authorized issue/verify, and the patterns (native / sidecar / bridge).
Read itThree steps to your page
- 1 · Integrate - follow the guideline for your wallet kind (the resolver call, the Proof-of-Trust pattern, the authorization checks).
- 2 · Record the acceptance loop - one uncut run of the six DemoCredential scenarios against the shared Playground demo cast, with AnonCreds and/or OpenID4VC SD-JWT, per the guideline's test section.
- 3 · Open a PR - personal wallets: add your entry to
personal-wallets.yamlpluswallets/<id>/(icon, optional captures and videos) · business wallets: addintegrations/<slug>/integration.yaml- in verana-labs/playground:
# personal wallet: one entry in personal-wallets.yaml (+ wallets/<id>/ for media)
- id: your-wallet
name: Your Wallet
vendor: Your Org
icon: ./your-wallet/logo.webp
formats: [anoncreds] # anoncreds | openid4vc-sdjwt (one or both, tested)
download: https://… # direct APK (modified build), or store link if
verana_builtin: false # …Verana support is built into the standard build
repo: https://github.com/your-org/your-wallet
license: Apache-2.0 # OSI-approved license required
captures: # optional screen captures
- { src: ./your-wallet/captures/1.webp, caption: "…" }
videos: # optional recordings (disclose editing/speed)
- { src: ./your-wallet/demo.mp4, note: "Real device. Silent." }
# business wallet: integrations/<slug>/integration.yaml (unchanged)Requirements: OSI-approved license · the wallet is obtainable from its tile (mobile: direct APK; web/cloud: URL) · acceptance recording attached to the PR. Listed organizations may use the “Runs on the Verana open trust layer” badge.
Proof-of-Trust UI kit
Every wallet page on this playground renders the same five-block card, live against the testnet. Reproduce it as-is.
Reference rendering
This is the reference every wallet integration reproduces.
- 1 · Status band - verdict pill, DID, evaluation time/block, TESTNET chip.
- 2 · Service - ECS-Service claims.
- 3 · Operated by - ECS-Organization/Persona claims.
- 4 · Other credentials - per-entry valid/invalid marks.
- 5 · Trust chain & failures - expandable; failures are first-class content.
<ProofOfTrust serviceId="…" />
// GET /api/pot/:serviceId → { service, did, pot }Component source: ProofOfTrust.tsx
The kit is self-contained: the component, app/lib/resolver.ts, app/lib/demo-services.ts, and the API route travel together, so it drops into any site as-is.