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.

Three steps to your page

  1. 1 · Integrate - follow the guideline for your wallet kind (the resolver call, the Proof-of-Trust pattern, the authorization checks).
  2. 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. 3 · Open a PR - personal wallets: add your entry to personal-wallets.yaml plus wallets/<id>/ (icon, optional captures and videos) · business wallets: add integrations/<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

Resolving Proof-of-Trust against the network…

This is the reference every wallet integration reproduces.

  1. 1 · Status band - verdict pill, DID, evaluation time/block, TESTNET chip.
  2. 2 · Service - ECS-Service claims.
  3. 3 · Operated by - ECS-Organization/Persona claims.
  4. 4 · Other credentials - per-entry valid/invalid marks.
  5. 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.