Transaction Codes
Transaction codes provide an additional security layer during credential issuance by requiring holders to submit a one-time code to complete the exchange. When you include transaction code settings in a credential schema, the system automatically generates and validates codes during issuance flows.
Example
Include the transactionCode object in your call to create a credential
schema:
{
"transactionCode": {
"description": "Enter the code you have received by email or SMS.",
"length": 4,
"type": "ALPHANUMERIC"
}
}
How it works
For any schema which includes a transaction code: when you call
POST /api/credential/v1/{id}/share to generate the share URL, the system
also returns a transaction code. This code should be sent to the wallet
user on some out-of-band channel. The user must provide this code to
complete issuance.
Configuration options
- Type:
NUMERICorALPHANUMERIC— determines the character set used for generated codes - Length: Integer from 4 to 10 — specifies how many characters the code will contain
- Description: Optional text up to 300 characters — provides context to holders about the transaction code (e.g., "Enter the code displayed on your confirmation screen")
Supported formats
Transaction codes are supported for OpenID4VCI issuance flows on compatible
credential formats. Check the capabilities object for a credential format
to confirm SUPPORTS_TX_CODE availability before using this feature.