Skip to main content

Facade API

Everything is reached through an assembled Wallet.

wallet.credentials — CredentialsService​

MemberDescription
list(filter)Stored credentials as a parsed, format-agnostic view (CredentialFilter.All by default)
get(id) / delete(id)Single fetch / remove
export(id)Raw serialized credential for backup/inspection (SD-JWT compact string, or base64url mdoc); null if unknown or not issued
match(dcqlJson)Which credentials satisfy a DCQL query
status(id)Revocation status (Token Status List)
changesStream of Added / Updated / Removed

wallet.issuance — IssuanceService​

MemberDescription
resolveOffer(uri)Parse an offer deep link / QR / JSON
start(request)Begin an issuance session
resumeDeferred(id)Poll a deferred credential
reissue(id)Renew via the stored refresh token

Session: IssuanceState = Preparing → AuthorizationRequired | TxCodeRequired → Processing → Completed | Deferred | Failed. Resume with completeAuthorization(redirect) / submitTxCode(code). The three terminal states are Completed, Deferred (issuer not ready — resume with resumeDeferred), and Failed.

wallet.presentation — PresentationService​

MemberDescription
start(requestUri)Remote (URL/QR) presentation
startDcApi(requestObject, origin)Digital Credentials API (browser)

Session: PresentationState = ResolvingRequest → RequestResolved → Submitting → Completed | Declined | Failed. Resume with respond(selection) / decline().

wallet.proximity — ProximityService​

MemberDescription
present(transport)ISO 18013-5 device retrieval over your transport

Session: ProximityState = GeneratingEngagement → EngagementReady → RequestReceived → Submitting → Completed | Declined | Failed. Resume with respond(selection) / decline().

wallet.reader — ProximityReaderService​

The ISO 18013-5 reader role (Read mDL): request documents from another wallet and verify the returned DeviceResponse.

MemberDescription
read(transport, engagement, documents, handoverNdef?, handoverRequestNdef?)Drive the reader half over your transport; returns List<VerifiedDocument> (each with deviceAuthenticated)

Issuer trust uses TrustConfig.issuerAnchorsDer; the wallet signs its requests with WalletConfig.readerAuth when set. See Proximity.

wallet.transactions — TransactionLog​

history() · query(type, relyingPartyId, since, until) over the injected store.

Errors​

Typed per domain: WalletError.Issuance (Kotlin) / IssuanceError (Swift), …Presentation / PresentationError, …Proximity / ProximityError — invalid request, verifier/reader not trusted, selection incomplete, response rejected, etc.