Overview

The Community Stack Issuer API is a stateless, lightweight REST API designed for building credential issuance solutions.

Credential Issuance Capabilites

Credential Formats

SD-JWT VC (dc+sd-jwt), W3C VC as JWT (jwt_vc_json), ISO/IEC 18013-5 mdoc (mso_mdoc), and ISO/IEC 23220.

Protocols

OID4VCI 1.0 with pre-authorized and authorization-code flows; ISO-18013-7 for mDL / mdoc remote issuance. Deprecated Issuer v1 still covers drafts 11/13.

Status Credential Formats

TokenStatusList (incl. draft 8), Bitstring Status List v1.0, StatusList2021, RevocationList2020

Same-device remote flow

User stays on one device for issuance or presentation, typically via redirect or in-app handover.

Cross-device remote flow

QR code or companion-device handover for issuance and remote presentation.

Pushed Authorization Requests

Authorization parameters stay off the front channel via PAR during issuance.

PKCE (S256)

Public wallet clients bind the authorization code with S256 so it cannot be replayed.

DPoP

Access tokens are bound to the wallet key during issuance.

Wallet / client attestation

Issuer can accept only attested wallet software; wallets can send attestation headers.

Key attestation

On roadmap

Issuer can require hardware-backed or attested holder keys on the credential proof.

Signed and unsigned issuer metadata

Wallets consume unsigned HTTPS issuer metadata and can verify signed JWT issuer metadata.

Encrypted credential request

Wallet encrypts the credential request so the issuer receives it as JWE.

Encrypted credential response

Issuer encrypts the issued credential; the wallet must request and decrypt the JWE.

OID4VCI notification endpoint

On roadmap

Wallet reports accepted, failed, or deleted credentials to the issuer notification endpoint.

Nonce endpoint

Fresh c_nonce for proofs during OpenID4VCI issuance.

Last updated on August 26, 2026