---
title: "Overview"
description: "Receive verifiable credentials into a Wallet API v2 wallet via OID4VCI 1.0."
stack: "Community Stack (open source) — version 1.1.1"
stack_version: "1.1.1"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/community-stack/wallet2/credential-receiving/overview
generated: 2026-10-01
---
# Credential Receiving

The Wallet API v2 receives credentials from an issuer using [OpenID4VCI 1.0](https://docs.walt.id/concepts/data-exchange-protocols/openid4vci.md). You hand the wallet a **credential offer** — typically an `openid-credential-offer://` URL from an issuer such as [Issuer2](https://docs.walt.id/community-stack/issuer2/getting-started.md) — and the wallet claims the credential and stores it.

## How It Works

Receiving a credential runs through five steps:

1. **Resolve the offer** — parse the offer and fetch the issuer's metadata.
2. **Get an access token** — exchange a pre-authorized code (or an authorization code) for a token.
3. **Sign a proof of possession** — prove the wallet controls the holder key.
4. **Fetch the credential** — request it from the issuer's credential endpoint.
5. **Store it** — the credential is saved to the wallet's credential store.

## Two Ways to Receive

- **Full flow** — a single call (`POST /wallet/{walletId}/credentials/receive`) runs all five steps for you. This is the recommended path, and what the credential guides below use.
- **[Isolated Flow](https://docs.walt.id/community-stack/wallet2/credential-receiving/isolated-flow.md)** — drive each step yourself. Use it for custom wallet UIs (resolve-offer returns issuer display and per-offer credential details for consent before accept), the authorization-code grant, deferred issuance, and advanced options like inline keys, client attestation, and storing fetched credentials with `storeInWallet`.

## Supported Formats

- [SD-JWT VC (IETF)](https://docs.walt.id/concepts/digital-credentials/sd-jwt-vc.md)
- [W3C VC](https://docs.walt.id/concepts/digital-credentials/verifiable-credentials-w3c.md) (JWT-signed)
- [ISO 18013-5 mDL](https://docs.walt.id/concepts/digital-credentials/mdoc-mdl-iso.md)

## Start Receiving

Choose the credential type that matches your use case:

- [SD-JWT VC via OID4VCI](https://docs.walt.id/community-stack/wallet2/credential-receiving/sd-jwt-vc.md)
- [W3C VC via OID4VCI](https://docs.walt.id/community-stack/wallet2/credential-receiving/w3c-vc.md)
- [mDL via OID4VCI](https://docs.walt.id/community-stack/wallet2/credential-receiving/mdl.md)

Need fine-grained control? See [Isolated Flow](https://docs.walt.id/community-stack/wallet2/credential-receiving/isolated-flow.md).
