---
title: "Overview"
description: "Learn about credential offers in the walt.id Enterprise Issuer2 Service."
stack: "Enterprise Stack (commercial) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/enterprise-stack/services/issuer2-service/credential-offers/overview
generated: 2026-07-20
---
# Overview

**Credential Offers** are the mechanism for initiating credential issuance in the Issuer2 Service. An offer is created from a [credential profile](https://docs.walt.id/enterprise-stack/services/issuer2-service/credential-profiles/overview.md) 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

| Method | Description | Use Case |
|--------|-------------|----------|
| `PRE_AUTHORIZED` | No user authentication required | Known users, pre-verified data |
| `AUTHORIZED` | User must authenticate via IdP | Unknown users, dynamic data collection |

See [Protocol Flows](https://docs.walt.id/enterprise-stack/services/issuer2-service/protocol-flows/overview.md) for the full sequence diagrams and guidance on when to use each.

## Offer Delivery Modes

| Mode | Description |
|------|-------------|
| `BY_REFERENCE` | Offer URL contains a reference; wallet fetches full offer from issuer (default). |
| `BY_VALUE` | Full credential offer is embedded in the URL. |

**Note:**

`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:

| Mode | Description |
|------|-------------|
| `INCLUDE` | Include issuer state for session correlation. |
| `OMIT` | No issuer state. |

`issuerStateMode` applies only to `AUTHORIZED` offers; for `PRE_AUTHORIZED` offers it must be omitted. See [Runtime Overrides](https://docs.walt.id/enterprise-stack/services/issuer2-service/credential-offers/create-offer.md#runtime-overrides) for how issuer state interacts with per-offer overrides.

## Next Steps

- [Create an Offer](https://docs.walt.id/enterprise-stack/services/issuer2-service/credential-offers/create-offer.md) – Step-by-step guide to creating credential offers.
- [Notifications & Session Events](https://docs.walt.id/enterprise-stack/services/issuer2-service/notifications.md) – Monitor issuance progress in real time.
