Skip to main content

ChatSDK

The easiest messaging SDK on the planet

Build real-time chat into your app in minutes, not months.
Open source. Self-hosted. Enterprise-ready.

TypeScriptMIT LicenseBundle Size

Everything you need for chat

🚀

5-Minute Setup

One CLI command to scaffold. Three environment variables to configure. Smart defaults handle the rest.

📬

99.9% Delivery

Offline queue, smart retry with exponential backoff, and circuit breakers ensure messages always arrive.

Real-Time WebSocket

Sub-second message delivery with automatic reconnection in under 2 seconds on network drops.

⚛️

React & React Native

First-class hooks and components for web and mobile. useMessages, useChannels, usePresence built-in.

🔧

Chrome DevTools

Debug extension with message inspector, network monitor, and performance profiler.

🏠

Self-Hosted

Run on your infrastructure. Docker Compose for dev, Kubernetes-ready for production. Your data, your control.

Simple, Powerful API

Connect users, send messages, and build rich chat experiences with an intuitive API designed for developer productivity.

  • Type-safe with full TypeScript support
  • React hooks for real-time updates
  • Automatic offline handling
  • Built-in typing indicators & read receipts
View Full API Docs
App.tsx
import { ChatSDK } from '@chatsdk/core';
import { ChatProvider, MessageList, MessageInput } from '@chatsdk/react';

// Connect in one line
const client = await ChatSDK.connect({
apiKey: process.env.API_KEY,
userId: 'user-123',
});

// Render your chat UI
function Chat() {
return (
<ChatProvider client={client}>
<MessageList channelId="general" />
<MessageInput channelId="general" />
</ChatProvider>
);
}

Why ChatSDK?

Compare with other messaging solutions

ChatSDKStreamSendBirdPubNub
Bundle Size95 KB145 KB180 KB120 KB
Setup Time5 min15-20 min25-30 min10-15 min
Open SourceYesNoNoNo
Self-HostedYesNoNoNo
PricingFree$99/mo$399/mo$49/mo
Offline QueueBuilt-inNoYesNo

Ready to build?

Get your chat app running in under 5 minutes.