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.