Meeting Place SDK

Composable Dart and Flutter packages for building consent-gated, end-to-end encrypted messaging and audio/video calls between humans, organisations, and AI agents.

Building private, consent-gated communication between humans, AI agents, and organisations requires coordinating DID-based identity, DIDComm message transport, peer discovery, and optionally real-time audio/video. Each layer introduces protocol complexity, and assembling them from primitives takes months.

Meeting Place SDK is a suite of composable Dart and Flutter packages built on DIDComm v2.1, Matrix, and W3C Verifiable Credentials. Each package covers a single concern, from low-level mediator transport and peer discovery through to high-level Matrix group chat and audio/video calling, and all packages can be used independently or layered together.

A minimal deployment needs only meeting_place_core and meeting_place_chat for DIDComm individual messaging. A full Matrix deployment adds meeting_place_matrix for group rooms and meeting_place_livekit_flutter for audio/video calls. Explore the SDK packages →

Architecture

YOUR APPLICATIONFlutter app · Dart service · AI agentMEETING PLACE CORE SDK INTERFACETransport is configurable. Both implementations expose the same API.DIDCommCore SDKmeeting_place_coreDefault DIDComm transport via Mediator SDK.Use for lightweight DIDComm-only deployments.MeetingPlaceCoreSDK.create(wallet, repositoryConfig, config)MatrixMatrix SDKmeeting_place_matrixImplements MeetingPlaceCoreSDK via Matrix transport.Internally creates Core SDK with MatrixTransport injected.MeetingPlaceMatrixSDK.create(wallet, repositoryConfig, config)SDK CONSUMERSChat SDKmeeting_place_chatIndividual messagingReactionsAttachmentsZKPW3C VCCredentials SDKmeeting_place_credentialsR-CardsVRCsHuman ZKPFlutterMatrix SDK onlyLiveKit Fluttermeeting_place_livekit_flutterAudio/video callsPer-participant E2EESHARED INFRASTRUCTURE: ALWAYS USED INTERNALLY BY CORE SDKMediator SDKmeeting_place_mediatorDIDComm message routingACL managementMeetingPlaceMediatorSDKControl Plane SDKmeeting_place_control_planePeer discoveryConnection offersControlPlaneSDK
Both the Core SDK and Matrix SDK implement the MeetingPlaceCoreSDK interface. The Matrix SDK creates a Core SDK internally, injecting Matrix as the channel transport instead of the default DIDComm transport. Chat SDK and Credentials SDK work with either implementation. LiveKit Flutter Plugin requires the Matrix SDK for call signalling.

Key Features

DIDComm v2.1 individual messaging

Wraps DIDComm channels into a high-level API with message history, reactions, attachments, and contact card exchange.

Matrix group and direct-message rooms

Provides persistent, E2EE Matrix rooms for both group chats and direct messages, with full message history sync.

Audio/video calling in Flutter

Adds LiveKit-powered calls to Matrix rooms, using Matrix RTC for signalling and per-participant end-to-end encryption.

Credential exchange

Issues and exchanges Relationship Cards (R-Cards) and Verifiable Relationship Credentials (VRCs) over DIDComm channels, with optional Human ZKP for liveness proof.

Multi-DID identity

Each user holds multiple DIDs, keeping interactions in separate contexts private from one another.

Consent-gated connections

All channels require mutual consent before establishment, preventing unsolicited inbound messages.

SDK References

Each package can be used independently. Select a package to view its API reference and code samples.