Flow
1
Create a credential definition
Define the credential type, wallet display metadata, format, and claim paths.
2
Map your application data
Convert a trusted record from your system into the claim object expected by the definition.
3
Create a credential offer
Call
authbound.openId4Vc.issuance.createOffer from your server.4
Show the wallet handoff
Return
offerUri for a mobile link and offerQrUri for a QR code.Initialize the server client
Create a definition
A credential offer always references an existing credential definition bycredentialDefinitionId (or vct). If the definition does not exist for the project behind your secret key, the offer call returns 404 credential_definition_not_found. Use this idempotent helper so the same code works on first run and on every subsequent run.
create fails with HTTP 409 and code credential_definition_conflict. Catch that and call get again.
Create an offer
Show the offer to the user
Useoffer.offerQrUri for a QR code and offer.offerUri for a mobile wallet link.
The
createOffer response is a wallet handoff, not the credential itself. The credential is only issued to the wallet after it redeems the offer. Track status with authbound.openId4Vc.issuance.get(offer.id) and act on credential_issued, failed, or expired.Next
Next.js issuance guide
App Router server actions, ensure-definition helpers, and offer rendering.
Node.js issuance guide
A complete runnable Node server.
Credential definitions
Define the credential type and claim paths your business will issue.
Credential offers
Lifecycle, transaction codes, cancellation, and status polling.