Best chat API for crypto apps: 7 providers compared
Seven chat API providers compared for crypto apps: Stream, Sendbird, Ably, PubNub, XMTP, Cherry and Push, on wallet auth, gating, webhooks and price.
Picking a chat API for a crypto app is a choice between two families. General-purpose vendors (Stream, Sendbird, Ably, PubNub) sell mature messaging infrastructure over user accounts you create and manage. Wallet-native options (XMTP, Cherry) treat a wallet as the account and carry the crypto-specific work in the service itself. This roundup compares seven providers as of 11 September 2026. Cherry (cherry.fun) is one of them: a wallet-to-wallet messenger and community app for crypto, with a REST API, bots, an embeddable chat widget and mini apps for developers at portal.cherry.fun.
How we picked these chat APIs
A provider is here if a developer can ship user-to-user chat on it today and if it has a public technical surface to read: SDKs, an API reference, or both. AI-support widgets (Intercom, Tidio, tawk.to) are out: a support bubble is a different product from a room where members talk to each other. Six criteria decided the table: wallet identity, on-chain gating, a server API your backend can call, webhooks, server-side moderation, and pricing.
Stream Chat
Stream sells chat and video as a service. As of 11 September 2026, its chat page pitches “Build real-time chat messaging in less time”, with SDKs for React, React Native, iOS in Swift, Android in Kotlin, Flutter, Angular, Unity and Unreal Engine. Pricing is public: a Build tier at $0 for 1,000 monthly active users and 100 concurrent connections, Start at $399 a month billed annually for 10,000 monthly active users, a higher tier at $599, and custom Enterprise terms. Crypto is not part of the pitch, though the logo wall on that page includes Polymarket and Kalshi. Stream’s webhooks documentation says every Stream product can deliver events to your server over webhooks, SQS or SNS, and signs each delivery with an HMAC in an X-Signature header alongside X-Webhook-Id for deduplication.
Fit note: a sound default when chat is a product feature and your users already have accounts, especially if you need game engine SDKs.
Sendbird
On 11 September 2026, Sendbird’s chat page leads on AI agents and calls the product “The #1 chat API for custom apps and websites”, a ranking Sendbird gives itself. It lists SDKs for iOS, Android, JavaScript and Flutter plus a Platform API, and claims 4,000+ apps and 7 billion+ monthly messages. Moderation is a product here: a moderation dashboard, auto image moderation, profanity and domain filtering, and a user reporting API. Its pricing page lists a free trial up to 1,000 monthly active users, Starter from $349 a month billed annually at 5,000 monthly active users, Pro from $499, and custom terms above 50,000.
Fit note: pick it when trust and safety review is the requirement and a human team will work the moderation queue.
Ably Chat
Ably is a realtime data service with a chat product. As of 11 September 2026, its chat page carries the line “The Chat API built for serious scale” and documents rooms, presence, typing indicators, message and room reactions, edit and delete, and moderation through integrations with Hive, Tisane and Bodyguard. SDKs cover JavaScript, React, Swift and Kotlin. Pricing is usage-based, with per-minute billing or a monthly-active-user option and volume discounts; no figure is published on that page.
Fit note: sensible when chat sits next to other realtime features you already push through Ably, such as live scores or cursors.
PubNub
As of 11 September 2026, PubNub’s home page sells “ultra-low-latency APIs” for real-time apps and offers PubNub Chat as SDKs, UI templates and moderation tools on top of its messaging service. The free tier is perpetual: 200 monthly active users, no credit card, every PubNub SDK, and access to its integrations catalogue. Server-side work goes through the Core REST API, serverless Functions that transform or re-route messages, and an Events & Actions product for pushing events to third-party systems; its documentation index does not name webhooks.
Fit note: good for a prototype where the chat is one channel type among many, and for teams who want to model rooms as channels they name themselves.
XMTP
XMTP is a protocol rather than a hosted service. As of 11 September 2026, xmtp.org calls itself “the world’s new private line” for messages and money “between people or agents”, built on the IETF Messaging Layer Security standard with quantum-resistant hybrid encryption, forward secrecy and post-compromise security, and says its MLS work was audited by the firm that reviews Signal and WhatsApp. Identity is “identity agnostic”: any decentralized identifier, a wallet, or a device-bound passkey. The docs list an Agent SDK for Node, plus browser, Node, React Native, Android and iOS SDKs, and messages move across a network of nodes. XMTP reports 55 million users and more than 1,700 production mini apps.
Fit note: the right layer when you want portable, encrypted wallet-to-wallet messaging that outlives your app, and you are ready to build membership rules, moderation and a dashboard yourself. If that is your shortlist, the XMTP alternatives page goes deeper.
Cherry
Cherry is a wallet-native chat service with three developer surfaces: a REST API, an embeddable chat widget
, and mini apps
that run inside Cherry chats. The API has two halves, set out in the Cherry API docs
as of 11 September 2026. A project key (cherry_sk_<projectId>_<secret>) calls the Apps API at https://api.cherry.fun/api/v1/apps to create rooms, invite, kick, ban, mute, set roles, send and read messages. A bot key (cherry_bot_<botId>_<secret>) calls the Bot API at https://api.cherry.fun/api/v1/bots for a named bot with its own wallet: direct messages, group posts, inline buttons, and moderation gated by two layers, the bots:groups:moderate scope and the bot’s own role in the room. The full surface is in an OpenAPI 3.1 document at portal.cherry.fun/openapi.json. Both key types rotate in place from the portal, and rotation invalidates the old secret at once. Limits are 600 requests a minute and 50,000 a day per app on rolling windows, returned as 429 with a Retry-After header. More on both halves in Cherry API and bots
.
Events reach your code two ways. A bot key long-polls GET /api/v1/bots/getUpdates, Telegram-style, or registers a webhook with POST /api/v1/bots/setWebhook to receive new messages as they arrive. A project key reads a room’s history with GET /api/v1/apps/groups/:roomId/messages, newest first, up to 100 messages a page, paged back with a before cursor.
Moderation is server-side and configured per embed in the portal’s Moderation tab: a minimum wallet age from 0 to 365 days measured from the wallet’s first on-chain transaction, up to 200 blocked words that shadow-drop a message so the sender still sees it, a link policy of allow all, allowlist of up to 100 hosts, or block all, and separate toggles for images and GIFs. Cherry’s servers enforce those rules, so a visitor cannot skip them by editing client code.
The API, bots, the Chat Embed SDK and the portal are free. What Cherry adds is distribution: rooms your app creates live inside a consumer app on web, iOS, Android and the Solana Seeker phone, so members can reach them outside your site. The SOL Miner mini app’s room held 4,389 members and 4,993 messages on 11 September 2026.
Fit note: choose it when membership should follow what a wallet holds or has paid, and you would rather not run the verification loop.
Push
Push is on this list because developers still search for it. As of 11 September 2026, push.org presents Push Chain, which it calls “The first Layer 1 built for Universal Apps”, alongside a portal, a block explorer and a faucet; no chat SDK appears on the home page. The older Push Chat documentation at comms.push.org still describes a web3 messaging protocol for wallet addresses, with SDKs for JavaScript, React, React Native, Dart, Kotlin and Swift, and it carries no deprecation notice as of 11 September 2026.
Fit note: confirm with the Push team what is maintained before building on the chat SDK; the company’s front page now sells a blockchain.
Side by side
The seven providers against the six criteria, as of 11 September 2026:
| Provider | Wallet identity | On-chain gating | Server API and webhooks | Moderation | Pricing |
|---|---|---|---|---|---|
| Stream Chat | No, you map your own users | No | Yes, REST plus HMAC-signed webhooks | Advanced moderation from the Start tier | $0 to 1,000 MAU, then from $399/mo |
| Sendbird | No | No | Yes, Platform API; webhooks not stated | Dashboard, image, profanity and domain filters | Trial to 1,000 MAU, then from $349/mo |
| Ably Chat | No | No | Not stated on the chat page | Hive, Tisane and Bodyguard integrations | Usage-based, no figure published |
| PubNub | No | No | Core REST API, Functions, Events & Actions | Moderation tools with the Chat SDK | Free to 200 MAU |
| XMTP | Yes, any DID, wallet or passkey | No | No hosted API; SDKs talk to the node network | Spam resistance at the protocol level | Open source, no plan listed |
| Cherry | Yes, Sign In With Solana | Yes: token, NFT, domain and payment rules | Yes, REST plus bot webhooks and long-polling | Server-side per embed, plus bot moderation | Free |
| Push | Wallet addresses in the Push Chat docs | No | Not stated | Not stated | Not stated |
A room per match, order, or community
The pattern most crypto apps need is a room created from the backend for one entity, with membership decided by a rule. On Cherry that is one call with the groups:create scope:
curl -X POST https://api.cherry.fun/api/v1/apps/groups \
-H "Authorization: Bearer cherry_sk_<projectId>_<secret>" \
-H "Content-Type: application/json" \
-d '{
"ownerWallet": "7jx8aB...",
"title": "Match #1042",
"description": "Finals lobby",
"initialMembers": ["walletA...", "walletB..."]
}'
The response is a roomId you pass to the embed. The same body accepts an optional gatingRule object for token or role gating, so the rule travels with the room. On a general chat API the create call has a direct equivalent and the rule does not: you read the balance in your own code, decide, then call their membership endpoint. That works on day one and gets expensive on day one hundred, because holdings change after people join and somebody has to re-check them. Cherry re-verifies members of gated rooms in the background, which is the same mechanic behind token-gated chat
in the consumer app. Two walkthroughs cover the rest: add chat to your dApp
and chat for web3 games
.
Which one to pick
Answer one question first: does membership in the room depend on something on a blockchain?
If it does not, buy the mature option. Stream and Sendbird are both further along than any wallet-native service on UI kits, translation, analytics and support tooling, and their free tiers cover a prototype. If it does, a general vendor turns into a project: wallet sign-in, a balance reader, a re-check job, a revocation path, and a moderation console of your own. That is the work Cherry already ships, and XMTP covers the encrypted transport half of it if you would rather own the application layer. If your chat is realtime alongside other realtime features, Ably or PubNub keep it on one bill. For a side-by-side of the web3-specific options, see chat SDK alternatives for web3 .
Ready to try the wallet-native path? Create a project and an embed at portal.cherry.fun , then follow the quickstart to get a public room live on your page.
FAQ
What is the best chat API for a crypto app?
It depends on what the chat has to prove. If membership follows an on-chain fact, a wallet-native API such as Cherry or XMTP saves you from building wallet auth, balance checks and re-verification yourself. If the chat is an ordinary product feature over accounts you already manage, Stream, Sendbird, Ably and PubNub are further along on the non-crypto work: UI kits, translation, analytics and compliance features.
Is there a free chat API?
Several have a free entry point as of 11 September 2026. PubNub’s free tier covers 200 monthly active users with every SDK included. Stream’s Build tier is $0 for 1,000 monthly active users and 100 concurrent connections. Sendbird lists a free trial up to 1,000 monthly active users, not a permanent free plan. XMTP is open source. Cherry’s API, bots and Chat Embed SDK are free.
What is the best chat API for Solana apps?
Cherry is the Solana-native option: sign-in is Sign In With Solana, your backend creates rooms with a project key, and a room can carry a token, NFT, domain or payment rule that Cherry checks on-chain and re-checks in the background. XMTP is identity agnostic and works with wallets and other decentralized identifiers, so it suits cross-chain wallet messaging more than Solana-specific gating.
Can I add a chat API to a website without a backend?
Yes, in the wallet-only case. Cherry’s Chat Embed SDK has a wallet-only auth mode where the visitor connects a Solana wallet and the iframe runs the challenge, so a public room needs no server of your own. The general providers ship client SDKs too, but their user tokens are normally minted by your backend, so a production install expects a server.
Do general chat APIs support token gating?
As of 11 September 2026, none of Stream, Sendbird, Ably or PubNub advertises on-chain gating on its product pages. You can build it: read the wallet balance yourself, then create or revoke the membership through their server API. The work you are signing up for is the re-check, because holdings change after somebody joins.
Is XMTP a chat API?
XMTP is a messaging protocol with SDKs, not a hosted chat service you call with a project key. As of 11 September 2026 it describes itself as identity agnostic, built on the IETF Messaging Layer Security standard with quantum-resistant hybrid encryption, and reports 55 million users and more than 1,700 production mini apps. There is no dashboard, no per-room gating rule and no server-side moderation console to configure.
Sources
- Stream Chat
- Stream Chat pricing
- Stream Chat documentation
- Sendbird chat and messaging
- Sendbird chat pricing
- Ably Chat
- PubNub
- PubNub documentation
- XMTP
- XMTP documentation
- Push
- Push Chat documentation
- Chat Embed SDK quickstart
- Cherry API: authentication
- Cherry API: endpoint reference
- Cherry API: create rooms and attach to embeds
- Cherry API: messages and bot actions
- Cherry API: rate limits and errors
- Guide: build a moderation bot
- Chat Embed SDK installation
- Chat Embed SDK authentication
- Chat Embed SDK moderation
- SOL Miner on Cherry
Build on Cherry
Add chat to your dApp, ship a mini app, or run bots and rooms through the API. Self-serve at the developer portal.