Skip to main content
Documentation
StartOverviewArchitectureAuthenticationSend your first message
TypeScript SDKOverviewTrusted app serverApp-user clientsRealtimeErrors & webhooks
Flutter SDKOverviewInstallationAuthenticationChannels & messagesOffline & syncRealtimeUI componentsPush & lifecycle
ConceptsTenancy & scopeChannels & messagesDelivery & reconciliationSecurity checklist
ProtocolsRealtimeSigned webhooks
ReferenceREST APIErrors, limits & retriesDeploy docs to Coolify
VV ChatDocs API v1
Recommended starting points
Build chat without rebuilding infrastructureV Chat is a multi-tenant messaging backend with typed server, web, and Flutter integration paths.StartArchitecture at a glanceUnderstand the control plane, data plane, realtime path, and SDK boundaries before integrating.StartAuthentication and credentialsSelect the correct credential for dashboard, trusted-server, app-user, realtime, and webhook flows.StartSend your first messageUse the trusted TypeScript server client to create the minimum safe messaging flow.StartTypeScript SDK overviewChoose the correct typed client for trusted servers, app users, dashboard sessions, realtime, and webhooks.TypeScript SDKTrusted app-server clientUse AppServerClient from a protected backend to manage data-plane resources and mint app-user tokens.TypeScript SDKApp-user clientsBuild browser or Node app-user flows with VChatClient or the lower-level AppUserClient.TypeScript SDK
↑↓ Navigate↵ Openesc Close
API reference
StartOverviewArchitectureAuthenticationSend your first message
TypeScript SDKOverviewTrusted app serverApp-user clientsRealtimeErrors & webhooks
Flutter SDKOverviewInstallationAuthenticationChannels & messagesOffline & syncRealtimeUI componentsPush & lifecycle
ConceptsTenancy & scopeChannels & messagesDelivery & reconciliationSecurity checklist
ProtocolsRealtimeSigned webhooks
ReferenceREST APIErrors, limits & retriesDeploy docs to Coolify
Contract sourceOpenAPI JSON
Docs/Start
V Chat developer docs

Build chat without rebuilding infrastructure

V Chat is a multi-tenant messaging backend with typed server, web, and Flutter integration paths.

Updated 2026-08-09•README.md · generated OpenAPI · released SDK contracts

Choose your integration path

V Chat separates trusted server credentials from end-user sessions. Start on your backend to create app users and mint short-lived tokens. Then connect from TypeScript or Flutter with an app-user client.

Server SDKBackend + TypeScript

Create users, channels, memberships, messages, tokens, and moderation workflows from a trusted runtime.

Read guide
App-user SDKWeb + TypeScript

Build an authenticated app-user experience with REST, realtime subscriptions, and recovery.

Read guide
Flutter SDKFlutter

Compose the client, Drift-backed offline state, lifecycle integration, and optional UI widgets.

Read guide
139 operationsREST API

Inspect every released operation directly from the generated OpenAPI contract.

Read guide

The 60-second mental model

  1. An organization owns applications. Each application has isolated environments such as development, staging, and production.
  2. Your trusted backend stores the application credential and uses it to manage app users, channels, memberships, and messages.
  3. Your backend issues a short-lived app-user token after authenticating the user in your own product.
  4. Browser and Flutter clients use that token for app-user REST calls and a one-use ticket for realtime connection setup.
  5. Durable events are at-least-once. Clients deduplicate by stable event ID, track channel sequence, and reconcile gaps through REST.
Keep application credentials server-side

Never ship an application credential, dashboard cookie, webhook secret, or signing key in browser, mobile, desktop, or Flutter builds.

What is released

AreaReleased boundary
MessagingApp users, channel types, channels, memberships, messages, replies, reactions, read state, conversations, and search
RealtimeNative WebSocket lifecycle, authorized subscriptions, durable events, reconnect recovery, presence, and typing
PlatformMulti-tenant control plane, scoped credentials, signed webhooks, moderation, usage, audit, and support tooling
SDKsGenerated and handwritten TypeScript client plus layered Flutter packages with Drift persistence and optional widgets
OperationsMongoDB transactions/outbox, Redis coordination, health gates, bounded retries, deployment and recovery runbooks
Know the current boundaries

Voice/video and activity feeds are out of scope. Provider-backed push delivery and production attachment scanning are not claimed as active production integrations. Realtime delivery is at-least-once, never exactly-once.

Send your first message

The first-message guide walks through the complete trusted-backend flow: upsert an app user, create a channel, add membership, send a fixed-identity message, and issue an app-user token.

About 10 minutesStart the quickstart

Build the smallest safe end-to-end flow with the TypeScript server client.

Read guide
Next Architecture at a glance
On this pageChoose your integration pathThe 60-second mental modelWhat is releasedSend your first message
Report a docs issue