Issuance Flow
Credential issuance is the process by which an Issuer creates, signs, and delivers a Verifiable Credential to a Holder.
Issuance Flow Overview
Step-by-Step
Step 1: Issuer Submits Issuance Request
Steps 2-3: Verification
The API verifies:
- Issuer DID exists and is not deactivated
- Issuer has an
assertionMethodkey of the requested proof type - Schema exists in the Schema Registry
- Issuer is authorized to issue against this schema (if restricted)
Step 4: Schema Validation
The claims object is validated against the schema’s JSON Schema definition. All required fields must be present and types must match.
Steps 5-6: VC Construction and Signing
The API constructs the full VC document with:
- JSON-LD
@contextfrom the schema typearray from schema +VerifiableCredentialcredentialStatusentry for revocation trackingproofobject signed with the issuer’s private key
Step 7: Status Registration
A status entry is created in the Revocation Registry for future revocation capability.
Step 8: Response
Steps 9-11: Credential Delivery
The issuer delivers the VC to the holder via:
- DIDComm: Encrypted message to the holder’s agent endpoint
- QR Code: Holder scans a QR code containing the credential offer
- API: Holder retrieves the credential via API using a one-time token
DIDComm Credential Offer
Bulk Issuance
Issue credentials to multiple holders in a single API call:
Response:
BBS+ Issuance
For credentials that support selective disclosure, use the BBS+ proof type:
The resulting VC will have a BbsBlsSignature2020 proof that enables the holder to create derived proofs revealing only selected attributes.
Agent Delegation Issuance
Issuing a delegation credential to an AI agent follows the same flow but uses the agent delegation schema: