Mobile Wallet
Android and iOS facade for the walt.id wallet SDK.
Use MobileWalletFactory to create instances with the correct platform storage, key provider, and SQLDelight driver. The facade keeps the public mobile API intentionally small while delegating protocol work to the core wallet handlers.
Properties
Outcome of the most recent platform registry synchronization, or null before the first one.
Buffered stream of recent issuance and presentation events emitted by this wallet.
Signing identity creation, backup and restoration; recovery integrations are explicitly configured.
Functions
Reads an Annex C request out of a platform-neutral Digital Credentials request.
Attaches the provider used when an issuer requires key attestation in a credential proof. This runtime dependency must be reattached whenever the wallet is recreated.
Attaches issuer-specific key attestation support. Supply it again after wallet recreation.
Starts the authorization-code browser request for an accepted issuance session.
Cancels an active issuance session and discards its protocol continuation material.
Validates and consumes a browser callback bound to an authorization-code session.
Continues a pre-authorized session after review and optional transaction-code collection.
Explicitly creates holder keys for a requested issuance batch using the platform key policy. The returned keys remain wallet-owned. For keys scoped to acceptance, use MobileWalletCredentialHolders.NewKeys; preview never generates keys.
Lists all credentials currently stored in the mobile wallet.
Removes one credential and re-publishes the native registry to reject stale selections.
Deletes local wallet material owned by this mobile wallet instance.
Returns the native adapter's current runtime capability snapshot.
Builds the single-field OpenID4VP DC API error object required by Appendix A.
Cancels a retained DC API review, including an in-flight native authorization.
Discards a reviewed presentation after local dismissal.
Checks whether a key-use authorization request is supported without creating or persisting a key.
Recovers retained deferred handles after an interrupted flow or wallet recreation.
Parses a raw Annex C DeviceRequest into the shape a consent screen can render.
Resolves payment instructions for the chosen DC API credentials without signing.
Resolves authoritative payment instructions for the current credential/disclosure selection.
Previews an ISO 18013-7 Annex C request without signing or releasing credentials.
Resolves an OS-mediated OpenID4VP request and returns consent metadata without releasing a credential. The caller-provided origin must already have been asserted by the platform adapter. For an unsigned request, the returned MobileWalletDigitalCredentialPreview.verifiedOrigin is the authenticated requester identity and MobileWalletDigitalCredentialRequestInfo.clientId remains null because the untrusted request-supplied client_id is ignored. For a signed request, MobileWalletDigitalCredentialRequestInfo.clientId is the authenticated Request Object client identifier after signature verification against clientIdTrustConfiguration. Unsigned (openid4vp-v1-unsigned) and signed (openid4vp-v1-signed) Digital Credentials requests are accepted. Multisigned is not.
Resolves and previews an OpenID4VP presentation request without submitting credentials. Protocol failures with a validated response destination are returned as MobileWalletPresentationPreviewResult.Invalid. Validation errors that cannot be answered safely throw id.waltid.openid4vp.wallet.UnsafePresentationErrorResponseException, preserving the protocol error and the separate response-safety failure. Resolution failures remain local exceptions.
Checks the exact BLE roles selected by configuration without creating keys, UUIDs, listeners, scanners, or advertisers.
Synchronizes platform credential metadata to a minimal view of the current wallet state.
Rejects a reviewed presentation request and consumes its preview handle.
Polls a typed deferred credential result returned by a previous issuance continuation.
Resolves an offer and starts a bound OpenID4VCI 1.0 issuance session.
Starts one single-use in-person presentation session.
Verifies the raw post-consent request, builds device authentication in KMP, and HPKE-encrypts the response.
Builds a response for a retained Digital Credentials preview. No network transport is performed. Without paymentConsentRevision, the host is responsible for platform-confirmed payment consent. A supplied revision is checked against the prepared app review. Native SCA authorization applies to both paths.
Submits a presentation using the credential options selected by the user from previewPresentation.