Skip to main content

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: NUMERIC or ALPHANUMERIC — 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.