Skip to content

Protocols

BaseID implements four communication protocols that enable credentials to be issued, presented, and verified between parties.

ProtocolPurposeCrateSpecification
OID4VCICredential issuance (issuer to wallet)baseid-oid4vciOpenID4VCI
OID4VPCredential presentation (wallet to verifier)baseid-oid4vpOpenID4VP
SIOPv2DID-based authenticationbaseid-siopSIOPv2
DIDComm v2Encrypted peer-to-peer messagingbaseid-didcommDIDComm v2

OpenID for Verifiable Credential Issuance defines how a wallet obtains credentials from an issuer. The flow is:

  1. Wallet discovers the issuer’s metadata
  2. Wallet requests authorization (pre-authorized or authorization code)
  3. Wallet requests the credential with a proof of key possession
  4. Issuer returns the signed credential

OpenID for Verifiable Presentations defines how a wallet presents credentials to a verifier:

  1. Verifier creates a presentation request specifying required credentials
  2. Wallet matches credentials and creates a Verifiable Presentation
  3. Wallet submits the presentation to the verifier
  4. Verifier validates signatures and extracts claims

Self-Issued OpenID Provider v2 enables DID-based authentication without credentials. The user proves control of a DID by signing an ID token.

DIDComm v2 provides encrypted, authenticated messaging between DIDs. It supports:

  • End-to-end encryption
  • Message routing through mediators
  • Asynchronous communication
  • Transport-agnostic (HTTP, WebSocket, Bluetooth)
Use CaseProtocol
Issue a credential to a walletOID4VCI
Verify a credentialOID4VP
Log in with a DIDSIOPv2
Send encrypted messages between partiesDIDComm v2