Overview
DIDComm (Decentralized Identifier Communication) is a secure messaging protocol that enables:- Peer-to-peer connections - Direct encrypted communication between agents
- Credential exchange - Issue and verify credentials via secure channels
- Proof exchange - Request and present verifiable proofs
- Mediation - Route messages through mediators for mobile/edge devices
- Message pickup - Retrieve messages from mediators asynchronously
Installation
Registration
Configuration Options
Core Protocols
Connections
Establish secure connections between agents.Out-of-Band Invitations
Receive Invitation
Connection Events
Credentials
Issue and receive credentials over DIDComm.Offer Credential (Issuer)
Accept Credential (Holder)
Proofs
Request and present verifiable proofs.Request Proof (Verifier)
Present Proof (Holder)
Basic Messages
Send simple text messages between connections.Mediation
Mediation enables agents (especially mobile) to receive messages indirectly.Using a Mediator
Acting as Mediator
Message Pickup
Retrieve messages from mediator when not always online.Transports
DIDComm supports multiple transport protocols:HTTP Transport
WebSocket Transport
Discovery Features
Query what protocols and features another agent supports.API Reference
Out-of-Band
agent.didcomm.oob.createInvitation()- Create OOB invitationagent.didcomm.oob.receiveInvitation()- Receive invitationagent.didcomm.oob.receiveInvitationFromUrl()- Receive from URL
Connections
agent.connections.getAll()- Get all connectionsagent.connections.findById()- Find connection by IDagent.connections.deleteById()- Delete connection
Credentials
agent.credentials.offerCredential()- Offer credentialagent.credentials.acceptOffer()- Accept credential offeragent.credentials.getAll()- Get all credential records
Proofs
agent.proofs.requestProof()- Request proofagent.proofs.acceptRequest()- Accept proof requestagent.proofs.getAll()- Get all proof records
Basic Messages
agent.basicMessages.sendMessage()- Send basic message
Mediation
agent.mediationRecipient.requestMediation()- Request mediationagent.mediationRecipient.setDefaultMediator()- Set default mediatoragent.messagePickup.pickupMessages()- Pickup messages