Product capabilities
Compare features across stacks
Explore what the Issuer, Verifier, and Wallet products offer across the Community and Enterprise Stacks. Filter by product or edition to focus on what matters for your rollout.
| Capability | Community Stack | Enterprise Stack |
|---|---|---|
IssuerVerifierWallet Credential FormatsSD-JWT VC (dc+sd-jwt), W3C VC as JWT (jwt_vc_json), ISO/IEC 18013-5 mdoc (mso_mdoc), and ISO/IEC 23220. | ✓ | ✓ |
IssuerVerifierWallet W3C VC JSON-LDLinked-data credentials using ldp_vc. Current Issuer2, Verifier2, and Wallet2 stacks reject this format. | - | - |
IssuerVerifierWallet ProtocolsOID4VCI 1.0 and OID4VP 1.0, plus ISO-18013-7 for mDL / mdoc remote flows. Deprecated v1 services still cover OID4VCI drafts 11/13 and OID4VP drafts 14/20. | ✓ | ✓ |
IssuerVerifierWallet Status Credential FormatsTokenStatusList (incl. draft 8), Bitstring Status List v1.0, StatusList2021, RevocationList2020 | ✓ | ✓ |
VerifierWallet Digital Credentials APIUnified browser API for credential issuance/verification; abstracts OID4VCI/VP & ISO-18013-7 for 1-click web integrations. | ~ | ~ |
IssuerVerifierWallet Same-device remote flowUser stays on one device for issuance or presentation, typically via redirect or in-app handover. | ✓ | ✓ |
IssuerVerifierWallet Cross-device remote flowQR code or companion-device handover for issuance and remote presentation. | ✓ | ✓ |
VerifierWallet Proximity presentationIn-person credential share over BLE or NFC, including ISO/IEC 18013-5 proximity flows. | R | R |
VerifierWallet Selective disclosureOnly requested claims leave the wallet, using SD-JWT disclosures or mdoc namespaces. | ✓ | ✓ |
VerifierWallet Signed request object (JAR)Wallet authenticates the verifier from a signed request object before showing consent. | ✓ | ✓ |
VerifierWallet Request by referenceWallet fetches the presentation request from request_uri over HTTPS, including GET and POST retrieval. | ✓ | ✓ |
VerifierWallet X.509 verifier identityVerifier identity from certificate-bound client identifiers, including x509_hash and x509_san_dns. | ✓ | ✓ |
VerifierWallet Posted / encrypted presentation responsesAuthorization responses posted to response_uri as direct_post or encrypted direct_post.jwt. | ✓ | ✓ |
IssuerWallet Pushed Authorization RequestsAuthorization parameters stay off the front channel via PAR during issuance. | ✓ | ✓ |
IssuerWallet PKCE (S256)Public wallet clients bind the authorization code with S256 so it cannot be replayed. | ~ | ~ |
IssuerWallet DPoPAccess tokens are bound to the wallet key during issuance. | ✓ | ✓ |
IssuerWallet Wallet / client attestationIssuer can accept only attested wallet software; wallets can send attestation headers. | ✓ | ✓ |
IssuerWallet Key attestationIssuer can require hardware-backed or attested holder keys on the credential proof. | R | R |
IssuerWallet Signed and unsigned issuer metadataWallets consume unsigned HTTPS issuer metadata and can verify signed JWT issuer metadata. | ✓ | ✓ |
IssuerWallet Encrypted credential requestWallet encrypts the credential request so the issuer receives it as JWE. | - | - |
IssuerWallet Encrypted credential responseIssuer encrypts the issued credential; the wallet must request and decrypt the JWE. | - | - |
IssuerWallet OID4VCI notification endpointWallet reports accepted, failed, or deleted credentials to the issuer notification endpoint. | R | R |
IssuerWallet Present-to-obtainHolder presents an existing credential before a new one is issued. | - | - |
IssuerWallet Nonce endpointFresh c_nonce for proofs during OpenID4VCI issuance. | ✓ | ✓ |
