Overview

walt.id's Wallet Service enables organizations and wallet providers to create digital wallets that use draft OpenID4VCI and OpenID4VP protocols. It supports consumer wallets for end users as well as organizational wallets for companies.

For new projects, use the Wallet2 Service (type: "wallet2", /v2 API) with OID4VCI / OID4VP 1.0. The Wallet Service documented here is the legacy draft stack (type: "wallet", /v1 API).

Feature Flag

Legacy Wallet routes and inventability require the wallet-draft-routes feature in _features.conf. The feature defaults to off. When it is disabled:

  • /v1/.../wallet-service-api draft Wallet routes are not registered
  • Creating a service with "type": "wallet" is rejected (use "wallet2" instead)

Enable it only if you need draft-protocol wallets or existing integrations that depend on them.

Supported Standards

Credential Formats:SD-JWT VC (IETF), W3C VC (v1.1+, v2.0), ISO 18013-5 mDL
Credential Exchange:OID4VCI (Draft 11, 13), OID4VP (Draft 14, 20; Presentation Exchange and DCQL on present), ISO/IEC 18013-7
Signing Algorithms:ed25519, secp256k1, secp256r1, RSA

Service Type and API

Resource type"wallet"
API base/v1/{target}/wallet-service-api/...
Feature flagwallet-draft-routes (default off)

"wallet" and "wallet2" are different resource types. A node created as "wallet" is not served by the Wallet2 /v2 API until you migrate it.

Migrating to Wallet2

An optional manual MongoDB migration rewrites _t: "wallet" to _t: "wallet2" on organization tree documents (same document shape; no field remapping). After migration, use Wallet2 /v2 APIs and clients. If you never run the migration, existing "wallet" nodes continue to work only with this legacy /v1 Wallet Service (when wallet-draft-routes is enabled).


Core Features

KMS & Identifiers

Credential Storage

Credential Exchange

  • Draft OID4VCI/VP flows for receiving and presenting credentials.
  • Presentation Exchange and DCQL on present (legacy Wallet present path).
  • Optional client attestation and holder policy store dependencies.

Getting Started

  • Setupinit-wallet wizard and "type": "wallet" create (requires wallet-draft-routes).

Receive & present (draft protocols)

Last updated on August 18, 2026