Skip to main content
Version: 0.7

Supported standards

Credo keeps exchange protocols and credential formats separate, so most formats work with more than one protocol. For which ones to start with, see Choose your setup.

Credential formats and protocols​

FormatOpenID4VCISO mdocDIDComm
OpenID4VCIOpenID4VPDC APIProximityDC APIIssue Credential v2Present Proof v2
SD-JWT VCdc+sd-jwtSupportedSupportedSupportedNot supportedNot supportedNot supportedNot supported
mdocISO 18013-5SupportedSupportedSupportedSupported: The BLE or NFC transport comes from a native module*Supported: ISO/IEC 18013-7 Annex C*Not supportedNot supported
W3C VC 1.1, JWTjwt_vc_jsonSupportedSupportedSupportedNot supportedNot supportedNot supportedSupported: Through DIF Presentation Exchange*
W3C VC 1.1, JSON-LDldp_vcPartly supported: Issuing between Credo agents needs workarounds*Partly supported: Presenting with DCQL fails when Credo creates the presentation*Partly supported: Presenting with DCQL fails when Credo creates the presentation*Not supportedNot supportedSupportedSupported: Through DIF Presentation Exchange*
W3C VC 2.0, SD-JWTvc+sd-jwtSupportedSupportedSupportedNot supportedNot supportedSupported: Aries RFC 0881*Not supported
W3C VC 2.0, Data Integrityeddsa-jcs-2022Not supportedNot supportedNot supportedNot supportedNot supportedSupported: The issuer doesn't verify the holder's binding proof*Not supported
AnonCredsCL signaturesNot supportedNot supportedNot supportedNot supportedNot supportedSupportedSupported
  • * mdoc with ISO mdoc Proximity: The BLE or NFC transport comes from a native module.
  • * mdoc with ISO mdoc DC API: ISO/IEC 18013-7 Annex C.
  • * W3C VC 1.1, JWT with DIDComm Present Proof v2: Through DIF Presentation Exchange.
  • * W3C VC 1.1, JSON-LD with OpenID4VC OpenID4VCI: Issuing between Credo agents needs workarounds.
  • * W3C VC 1.1, JSON-LD with OpenID4VC OpenID4VP: Presenting with DCQL fails when Credo creates the presentation.
  • * W3C VC 1.1, JSON-LD with OpenID4VC DC API: Presenting with DCQL fails when Credo creates the presentation.
  • * W3C VC 1.1, JSON-LD with DIDComm Present Proof v2: Through DIF Presentation Exchange.
  • * W3C VC 2.0, SD-JWT with DIDComm Issue Credential v2: Aries RFC 0881.
  • * W3C VC 2.0, Data Integrity with DIDComm Issue Credential v2: The issuer doesn't verify the holder's binding proof.

OpenID for Verifiable Credentials​

Package: @credo-ts/openid4vc. See OpenID4VC.

SpecificationVersionsRoles
OpenID for Verifiable Credential Issuance1.0, drafts 11 to 15Issuer, holder
OpenID for Verifiable Presentations1.0, drafts 21 and 24Verifier, holder
Digital Credentials Query Language (DCQL)OpenID4VP 1.0Verifier, holder
DIF Presentation Exchange2.0, with OpenID4VP drafts onlyVerifier, holder
W3C Digital Credentials APIOpenID4VP requests. For ISO 18013-7 requests, see ISO mdocVerifier, holder
OAuth 2.0 DPoP, PKCE, PARIssuer, holder
OAuth 2.0 Attestation-Based Client Authentication (wallet attestations)Issuer, holder

ISO mdoc​

Package: @credo-ts/core (agent.mdoc). See ISO mdoc.

SpecificationRolesNotes
ISO/IEC 18013-5 proximity presentationHolder, verifierCredo creates and verifies the device response. The BLE or NFC transport comes from a native module such as expo-mdoc-data-transfer. Reader authentication and device MAC aren't supported.
ISO/IEC TS 18013-7 Annex C, over the Digital Credentials APIVerifier, holderSigned requests with reader authentication are supported. Available since 0.7.1.

DIDComm​

Package: @credo-ts/didcomm, with optional protocol packages. Credo implements DIDComm v1 messaging and the protocols below. See DIDComm.

ProtocolAries RFCPackage
Out of Band 1.10434@credo-ts/didcomm
DID Exchange 1.10023@credo-ts/didcomm
DID Rotate 1.00794@credo-ts/didcomm
Issue Credential 2.00453@credo-ts/didcomm
Present Proof 2.00454@credo-ts/didcomm
Coordinate Mediation 1.00211@credo-ts/didcomm
Message Pickup 1.0 and 2.00212, 0685@credo-ts/didcomm
Discover Features 1.0 and 2.00031, 0557@credo-ts/didcomm
Revocation Notification 1.0 and 2.00183, 0721@credo-ts/didcomm
Basic Message 1.00095@credo-ts/didcomm
Action Menu 1.00509@credo-ts/action-menu
Question Answer 1.00113@credo-ts/question-answer
DIDComm RPC 1.00804@credo-ts/drpc

The DIDComm v1 protocols Connections 1.0 (0160), Issue Credential 1.0 (0036) and Present Proof 1.0 (0037) are still available, but deprecated and removed in 0.8.

DID methods​

See DIDs.

MethodPackage
did:key, did:jwk, did:peer, did:web@credo-ts/core
did:webvh@credo-ts/webvh
did:cheqd@credo-ts/cheqd
did:indy, did:sov@credo-ts/indy-vdr
did:hedera@credo-ts/hedera

Platforms and infrastructure​

Supported
RuntimesNode.js 20.19 or later (22 or later recommended), React Native (Expo)
StorageAskar (SQLite, PostgreSQL), Drizzle (PostgreSQL, SQLite)
Key managementAskar, Node.js crypto, iOS Secure Enclave and Android Keystore
CachingIn memory, storage, Redis
Multi-tenancy@credo-ts/tenants