Overview

Credential Offers are the mechanism for initiating credential issuance in the Issuer2 Service. An offer is created from a credential profile and generates an OID4VCI credential offer URL that any compliant wallet can claim.

What is a Credential Offer?

A credential offer is a one-time or limited-use invitation for a wallet to receive a credential. When you create an offer, you specify:

  • Profile – The credential profile to use as the base configuration.
  • Authentication Method – Pre-authorized or authorization code flow.
  • Delivery Mode – Credential offer by reference or by value.
  • Expiration – How long the offer remains valid.
  • Runtime Overrides – Any profile values to override for this specific offer.

Offer Flow

  1. Create Offer – Call the offers endpoint against a profile.
  2. Share URL – Send the credential offer URL to the user (QR code, deep link, etc.).
  3. Wallet Claims – The user's wallet resolves the offer and receives the credential.

Authentication Methods

MethodDescriptionUse Case
PRE_AUTHORIZEDNo user authentication requiredKnown users, pre-verified data
AUTHORIZEDUser must authenticate via IdPUnknown users, dynamic data collection

See Protocol Flows for the full sequence diagrams and guidance on when to use each.

Offer Delivery Modes

ModeDescription
BY_REFERENCEOffer URL contains a reference; wallet fetches full offer from issuer (default).
BY_VALUEFull credential offer is embedded in the URL.

BY_REFERENCE is recommended for most use cases: it keeps URLs short and lets the issuer track when offers are resolved.

Issuer State Mode

For the authorization code flow, you can include an issuer_state parameter so the issuer can correlate the later authorization request with this offer's session:

ModeDescription
INCLUDEInclude issuer state for session correlation.
OMITNo issuer state.

issuerStateMode applies only to AUTHORIZED offers; for PRE_AUTHORIZED offers it must be omitted. See Runtime Overrides for how issuer state interacts with per-offer overrides.

Next Steps

Last updated on July 20, 2026