Sendbird alternative
A Sendbird alternative for web apps, free and upfront about the gaps
GravEx Chat is a headless chat API: you draw the screen, we run the engine. It suits web products that want rooms, threads, reactions and read state without a bill that grows with users. It is not a drop-in for Sendbird UIKit or the native SDKs, and this page says where.
Sendbird figures are from sendbird.com/pricing/chat and sendbird.com/docs/chat, checked 2026-11-03. Plans and prices change, so confirm on the vendor page before you decide.
// 01
Who GravEx Chat fits
It is a good match if most of these are true.
- Your client is a web app, in the browser or on Node. The official SDK, @kispi/chat, is JavaScript and TypeScript.
- You are happy to draw the chat screen yourself, or to have your AI tool do it. There is no UI kit.
- You want the usual building blocks: rooms, threads, quote replies, reactions, mentions, unread counts, typing, presence, attachments by URL and signed webhooks.
- You do not want a bill that grows with monthly active users. Pricing sets no cap on MAU or concurrent connections; each app has safety limits.
- A 99.5% monthly uptime target with no credits is acceptable to you in place of a contractual SLA.
// 02
Sendbird and GravEx Chat side by side
| Topic | Sendbird (from its official pages) | GravEx Chat |
|---|---|---|
| Free tier | Developer plan: up to 1,000 MAU and 20 peak concurrent connections, no overages | Basic is free: no MAU or connection cap through pricing; per-app safety limits (5 publishes per second per user, 10 concurrent connections per user) |
| First paid plan | Starter: $399/mo ($349/mo billed annually), 5,000 MAU. Pro: $599/mo ($499/mo billed annually) | None. Basic is $0 and includes every engine feature |
| UI components | UIKit for iOS, SwiftUI, Android View, Jetpack Compose, React, React Native and Flutter | None. It is headless, so you build the UI |
| SDKs | iOS, Android, JavaScript, Flutter, Unity, Unreal and .NET | The official SDK is JavaScript and TypeScript only. Other languages implement the public REST and WebSocket protocol |
| Uptime SLA | No percentage on the pricing page | 99.5% monthly target, no credits if missed |
| Message retention | Six months; longer retention is an Enterprise option | Until your app deletes them. The engine never expires messages on its own |
| Data export | Listed under Pro on the plan card, while the page FAQ calls it an Enterprise add-on | Every plan: one click in the console or GET /v1/export, as NDJSON |
// 03
Where Sendbird is the better choice
Pick Sendbird, or another large vendor, if any of these is a hard requirement.
- Prebuilt chat UI on iOS, Android or Flutter.
- Official native SDKs, instead of writing a client against the protocol.
- A contractual uptime SLA with credits, compliance certifications or a support contract. GravEx Chat offers none of these.
- More than one hosting region. GravEx Chat runs in one region (Seoul) and takes one disk snapshot a day, so in the worst case up to 24 hours of data is lost.
- Voice or video calls, or screen sharing. GravEx Chat has none.
// 04
Switching: the closest equivalents
The concepts line up well enough that most of the work is the screen you draw.
| Sendbird | Closest GravEx Chat equivalent |
|---|---|
| User and access token | A user id plus a short-lived JWT that your backend signs with chat.token() |
| Open channel | A public room (anyone reads and writes) or a channel room (anyone reads, only owner and admin write) |
| Group channel | A private room (members only) |
| 1:1 channel | A dm room, created with rooms.ensureDM([a, b]) |
| Webhooks | Signed webhooks such as message.created, plus a synchronous before_publish hook that can deny a message |
There is no importer for Sendbird history. Rooms and messages can be created through the REST API, but the send route takes no timestamp, so imported messages carry the time of import.
// FAQ
Questions
- Is it really free?
- Yes. Basic is the only plan: no card, no trial period, and no cap on MAU through pricing. A paid plan or a price change is announced at least 90 days before it applies.
- Is there a UI kit like Sendbird UIKit?
- No. The SDK hands you the message list, sending, reactions, unread counts and typing as data and events, and you render them. The Start with AI guide has prompts that build the screen for you and a checklist of what the SDK does not do for you.
- Can I use it from iOS or Android?
- Not with an official SDK. The REST API and the WebSocket protocol are public and documented, including a checklist for building a client without the SDK, so a Swift or Kotlin client is possible, but you write it.
- Is anyone running it in production?
- Yes. The operator built Coinsect, EveryMaple and real.gravex.app, and the chat in all three runs on this engine.
- Can I leave later?
- Yes. One click in the console, or GET /v1/export with a secret key, downloads every user, room and message as NDJSON. Attachment files stay wherever you stored them.
Keep reading
- Sendbird pricing explained
- Pricing and SLA comparison
- Free chat SDK
- GravEx Chat pricing
- SLA
- Start with AI
- Architecture and benchmarks
Sources