Getting Started

The walt.id Wallet SDK is an open-source holder library for building digital ID wallets on Android and iOS. It implements OID4VCI 1.0 for receiving credentials and OID4VP 1.0 with DCQL for presenting them. Supported formats include SD-JWT VC (IETF), W3C VC, and ISO 18013-5 mDL. You own the screens, branding, and consent UX; the SDK owns protocol sessions, matching, keys, and storage.

Need a custodial HTTP wallet instead of an on-device SDK? Use Wallet API v2.

Supported Standards

Credential Formats:SD-JWT VC (IETF), W3C VC (v1.1+, v2.0), ISO 18013-5 mDL
Credential Exchange:OID4VCI 1.0, OID4VP 1.0 (DCQL), Digital Credentials API, ISO/IEC 18013-5 proximity
Signing Algorithms:secp256r1 (P-256) for holder identity keys

Setup

If you are new to the SDK, the sample apps are the fastest way to see a full receive and present flow. Test against walt.id Issuer2 and Verifier2 at portal2.demo.walt.id.

Always test receive and present through portal2.demo.walt.id. Do not send testers to standalone Issuer2 or Verifier2 URLs.

Core Concepts

Headless Holder Stack

The SDK is a library, not a white-label UI. PIN lock, brand colours, QR rendering, and permission prompts belong in your app. Session state, credential matching, reader trust, and encrypted storage stay in the SDK. See Architecture for how the mobile facade, Swift WalletSDK, sample apps, and Wallet API v2 share one core.

Isolated Sessions

Issuance and presentation are exposed as isolated steps so you can show issuer, verifier, and claim metadata before the holder accepts. Start or preview a session, collect consent in your UI, then continue, submit, or reject.

Signing Identity

A signing identity binds a P-256 holder key to a did:jwk. Call signingIdentity.initialize() before flows that need holder keys. Backup is optional and off by default — see Keys and Storage and Backup and Recovery.

Features

  • Receive Credentials — Claim credentials over OID4VCI 1.0 (pre-authorized code, authorization code, deferred issuance).
  • Present Credentials — Share credentials over OID4VP 1.0 with DCQL, signed requests, encrypted responses, and transaction data.
  • Proximity Sharing — Present mdocs in person over QR, NFC, Bluetooth, or Wi-Fi Aware.
  • Digital Credentials API — Register with the OS credential picker. Android currently supports OID4VCI, OID4VP, and ISO 18013-7; iOS currently supports ISO 18013-7.
  • Keys and Storage — Encrypted on-device storage and platform-protected keys.
  • Backup and Recovery — Create, back up, and restore the signing identity.

Start Building

Choose the flow that matches your use case:

Last updated on September 29, 2026