Compare · Cherry vs Sendbird
A Sendbird alternative for web3: 8 chat SDKs compared
Eight chat SDKs for dApps compared on wallet identity, gating, moderation and time to embed: Sendbird, Stream, CometChat, TalkJS, XMTP and Cherry.
Looking for a Sendbird alternative for web3 usually means one thing: you run a dApp, your users already carry wallets, and you would rather not build a user table and a login screen just to give them a room to talk in. This page compares eight chat SDKs on the four decisions that shape that build: wallet identity, gating on holdings, moderation, and time to a working room. Cherry (cherry.fun) is one of the eight. It is a wallet-to-wallet messenger and community app for crypto, and its Chat Embed SDK drops one of its rooms into any site as an iframe. Vendor details are as of 11 September 2026.
What a Sendbird alternative for web3 has to do
Four criteria, in the order a dApp team hits them.
- Wallet as the identity. Either the SDK takes a signature and returns a session, or you build that exchange and keep a user record in sync with it.
- Gating on holdings. A room that checks a balance or an NFT on a server the visitor cannot edit.
- Moderation you configure, enforced server-side. Browser-side filters are decoration.
- Time to first message. Counted from
npm installto a visible room.
Voice, video and AI support agents are out of scope. Several of these vendors sell all three and are further ahead on them than anything wallet-native. Cherry’s Chat Embed SDK is free; WalletChat lists no prices.
Sendbird
Sendbird has moved up the stack. On 11 September 2026 its home page led with enterprise AI customer experience and with Delight.ai, an AI concierge, and filed the chat product under a “Sendbird Communications API” heading that the page calls “The world’s most trusted communication infrastructure, powering billions of conversations every month”. Its chat pricing page the same day listed a free trial with no overages, Starter 5K at $349 per month billed annually, Pro 5K at $499 per month billed annually, $499 and $749 at the 10,000 MAU tier, and custom enterprise pricing above that.
Neither the home page nor the chat pricing page mentioned wallets or blockchains. That is the shape of the gap: Sendbird is a mature chat and support product, and the wallet half is yours to write. Pick it when chat is a customer-service surface in a product with ordinary logged-in accounts.
Stream Chat
Stream is the one to look at if a game engine sits in your stack. Its chat page on 11 September 2026 called it “The #1 Chat API for Custom Messaging Apps” and listed SDKs for React, iOS/Swift, Android, Flutter, React Native, JavaScript, Angular, and Unity and Unreal. The pricing page the same day listed a free Build plan at 1,000 monthly active users and 100 concurrent connections, Start at $399 per month billed annually for 10,000 MAU and 500 concurrent connections, a third tier at $599, and a Maker program giving $100 of monthly credit to teams with fewer than five people and under $10k in monthly revenue.
The wallet story matches Sendbird’s: verify a Sign In With Solana or Sign In With Ethereum signature on your backend, mint a Stream user, hand the client a chat token. Budget that work, and the user-record sync after it, before comparing sticker prices.
CometChat
CometChat leads with agent-assisted integration. On 11 September 2026 its home page title was “In-app Chat SDK & API For Messaging And Calling”, it claimed “113,000+ apps powered by CometChat” and “7M+ messages sent every day”, and it promoted CometChat Skills as working “with Claude Code, Cursor, and 30+ agents out of the box”. The pricing page listed a free Build plan for up to 100 users, then Basic, Advanced and Enterprise tiers, with overages of $0.10 per MAU and $1 per concurrent connection on the two middle plans.
No blockchain or wallet feature appeared on that home page. The 100-user free tier is small for a public community room, so plan on a paid tier from your first week of real traffic.
TalkJS
TalkJS sells a pre-built UI you can drop in and theme. Its home page on 11 September 2026 read “Chat API and SDKs to build the best real-time messaging experiences”, promised “Build production-ready chat in minutes”, named marketplaces and buyer-seller conversations as the lead use case, listed JavaScript, React, Flutter and React Native SDKs, and cited “130M+ monthly messages sent”. Pricing: free in development mode, Basic at $279 per month including 10,000 MAU with $0.04 per extra MAU and up to 100 participants plus 300 guests, Growth at $569 per month including 25,000 MAU with up to 300 participants plus 1,250 guests.
Read that participant cap carefully. A holder room for a token with thousands of wallets does not fit a ceiling of 100 participants plus 300 guests, or 300 plus 1,250 on the higher plan, so TalkJS suits per-deal and per-order threads better than community rooms.
XMTP
XMTP ships as a protocol with SDKs, and it is the option here that names the standard behind its encryption. Its site on 11 September 2026 described messaging built on the IETF Messaging Layer Security (MLS) standard with “quantum-resistant hybrid encryption” and “perfect forward secrecy and post-compromise security”, and cited 55M users, 4,500+ developers and 1,700+ production miniapps, with World, Base App, Convos and Zora named as builders on it. Its identity page the same day listed wallets (EVM addresses, smart contract wallets, ERC-4337 accounts), passkeys, World ID and social IDs such as ENS, Farcaster, Lens and Base handles as supported, and grouped Bluesky, Nostr, BTC and Solana under future networks.
So: EVM today, Solana on the roadmap, and you build the interface yourself. XMTP publishes no central moderation controls: no dashboard for a minimum wallet age, no word list, so abuse handling is your app’s job. If your shortlist is protocol-first, the XMTP alternatives comparison goes deeper.
Push Chain
Check this one before you plan around an old roundup. On 11 September 2026 push.org presented Push Chain, “The Universal Blockchain for Apps”: deploy once, and users from EVM and non-EVM chains arrive with the wallets and tokens they hold. The home page did not mention Push Chat or wallet-to-wallet messaging. If you are shortlisting Push for chat, ask the team where the messaging SDK stands before you build on it.
WalletChat
WalletChat is the EVM-side support bubble. Its widget page on 11 September 2026 listed wallet-to-wallet DMs, token-gated group chats, user support, rewards, referrals and a leaderboard, and notifications, with the line “Integrate the widget inside your web app easily, in a matter of minutes.” It named Ethereum, Polygon, Optimism, Arbitrum, BNB Chain, Tezos, NEAR and Bitcoin, plus email, Telegram and X. No pricing is published, and the most recent dated item on that page was a case study from 21 December 2023.
The feature list is close to what a dApp asks for. Confirm current maintenance with the team before shipping.
Cherry Chat Embed SDK
Cherry’s embed is one Cherry room rendered in an iframe from embed.cherry.fun, with wallet sign-in, realtime delivery, unread badges and moderation handled on Cherry’s side. As of 11 September 2026 the package is @cherrydotfun/chat-embed-sdk 0.1.7, from npm or a pinned jsDelivr script tag exposing window.CherryEmbedSDK, and the quickstart puts a public room live in about five minutes with no backend.
Cherry documents three auth modes as of 11 September 2026:
| Mode | Backend | Wallet signature | Use when |
|---|---|---|---|
wallet-only | No | Yes, visitor signs in the iframe | Public room, no server of your own |
app-trusted+wallet | Yes | Yes | You want verified wallet identity; the most common mode |
app-trusted | Yes | No | Your backend is the sole identity source |
In the backend modes you mint a JWT signed with your embed’s app secret: HS256, the wallet as sub, roughly five minutes of life, a fresh jwtid. After that the iframe re-establishes its own short session from a rotating refresh token. Moderation is a tab in the embed editor, and the rules run on Cherry’s servers: a minimum wallet age of 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 and nobody else does, a link policy of allow all, an allowlist of up to 100 bare hosts, or block all, and independent image and GIF toggles. Theming takes two to four seed colors and derives roughly 60 CSS variables with contrast floors, about 40 of them also settable by hand. Rooms can be created from your own backend through the Cherry API with an optional gatingRule, rate-limited to 600 requests per minute and 50,000 per day per app. Those rules are checked on-chain by Cherry and re-checked on members afterwards; the token-gated chat pillar
lists the rule types.
The limits, plainly. Only single room mode is live, so list and external-controlled are documented ahead of runtime support. Cherry identifies embed users by their Solana wallet. Group chats are not end-to-end encrypted, by design, so bots and moderation can work on them. A thin “Powered by Cherry.fun” band sits under the composer.
The SDK is free, and so are the Cherry API and the portal. Every embed also becomes a community inside the Cherry apps, so the people who talked on your site stay reachable. The embeddable chat pillar covers the configuration surface, and the guide to adding chat to your dApp walks the five-minute path.
Side by side
The eight options as of 11 September 2026:
| Option | What it is | Wallet identity | Gating on holdings | Moderation controls | Pricing |
|---|---|---|---|---|---|
| Sendbird | Enterprise chat, calls and AI agent suite | Not stated; build the exchange yourself | Not stated | Content moderation product, image moderation on Pro | Free trial; Starter 5K $349/mo annual, Pro 5K $499/mo annual |
| Stream Chat | Chat API with eight SDK families including Unity and Unreal | Not stated; build the exchange yourself | No holdings check stated | AI moderation, spam protection; AI image moderation as an add-on | Build free at 1,000 MAU; Start $399/mo annual; third tier $599/mo annual |
| CometChat | Chat and calling SDK with agent-driven setup | Not stated | Not stated | Basic, AI rule-based, and prompt-based moderation by tier | Build free to 100 users; overage $0.10 per MAU, $1 per concurrent |
| TalkJS | Pre-built chat UI for marketplaces | Not stated | Not stated | Message moderation | Free in development; Basic $279/mo, Growth $569/mo |
| XMTP | Open MLS messaging protocol | Yes: EVM wallets, passkeys, World ID, social IDs | Your app decides; nothing server-side to configure | None published centrally; abuse handling is the app’s job | Open source; about $5 per 100,000 messages |
| Push Chain | Layer 1 for cross-chain apps | Wallet abstraction across EVM and non-EVM | Not applicable | Not applicable | Not stated |
| WalletChat | Wallet-to-wallet widget and web app | Yes: EVM chains plus Tezos, NEAR and Bitcoin | Token-gated group chats listed | Not stated | Not stated |
| Cherry Chat Embed SDK | One Cherry room embedded as an iframe | Yes: three modes, Solana wallet signs a challenge | Optional gatingRule on API-created rooms, checked on-chain | Wallet age 0 to 365 days, 200 blocked words, link policy, image and GIF toggles, server-enforced | Free |
Which one to pick
Choose Stream or Sendbird if chat is a mainstream surface with ordinary accounts, you need voice, video or an AI agent beside it, and the wallet is one of several sign-in methods you already manage. Stream for a game engine; Sendbird for a support desk.
Choose TalkJS if the conversations are two-sided and small, a thread per order or per deal, and you want a themed UI in an afternoon.
Choose CometChat if your team is driving the integration through a coding agent and calling sits next to chat in the roadmap.
Choose XMTP if the encryption guarantee is the product, your users are on EVM, and you are willing to own the interface and the abuse handling.
Choose Cherry’s Chat Embed SDK if your users’ wallets are already the account, you want gated rooms and server-side moderation without running a chat backend, and you would like the room to keep existing in a real messenger after the visitor closes your tab. Room-per-match and room-per-order patterns run through the Cherry API and bots ; for games specifically, see the chat for web3 games guide . A broader look at the general-purpose vendors lives in the chat API providers comparison . Start with the Chat Embed SDK quickstart and mount a room on a test page.
FAQ
What is a web3 chat SDK?
A chat SDK whose identity model is a wallet address. Instead of creating a user record and issuing your own chat token, the visitor signs a challenge with their wallet and that signature becomes the session, so the message author is an address other contracts and explorers already know.
Which chat SDK is best for a dApp?
It depends on where identity lives. If your users already connect a wallet and you want holdings-based access and server-side moderation without a chat backend, a wallet-native embed such as Cherry’s fits. If you need voice, video, AI agents or game-engine SDKs, Stream and Sendbird are further ahead on those, and you add wallet sign-in yourself.
Can I use Sendbird or Stream with wallet login?
Yes, by doing the exchange yourself: verify a Sign In With Solana or Sign In With Ethereum signature on your backend, then mint a user and a chat token for that address. Neither vendor’s home page nor chat pricing page mentions wallets or blockchains as of 11 September 2026, so the wallet half is your code to write and maintain.
Is there a free chat SDK for a dApp?
Yes. Cherry’s Chat Embed SDK is free, and so are the Cherry API and the portal. Stream’s Build plan covers 1,000 monthly active users and 100 concurrent connections, CometChat’s Build plan covers 100 users, and TalkJS is free in development mode, all as of 11 September 2026. XMTP is open source, and its site lists about $5 per 100,000 messages, paid to the independent node operators who run the network.
Does XMTP work with Solana wallets?
Not yet. XMTP’s identity page on 11 September 2026 lists wallets (EVM addresses, smart contract wallets, ERC-4337 accounts), passkeys, World ID and social IDs as supported today, and names Bluesky, Nostr, BTC and Solana under future networks.
How long does it take to embed a chat room in a dApp?
About five minutes for a public room with no backend: create an embed in the portal, allow-list your origin, install the npm package or drop the jsDelivr script tag, and mount on a div. Backend-minted token modes take longer because you add a token endpoint.
Sources
- Sendbird
- Sendbird chat pricing
- Stream Chat
- Stream Chat pricing
- CometChat
- CometChat pricing
- TalkJS
- TalkJS pricing
- XMTP
- XMTP identity
- Push Chain
- WalletChat widget
- Chat Embed SDK quickstart
- Chat Embed SDK authentication
- Chat Embed SDK moderation
- Chat Embed SDK theming
- Chat Embed SDK display modes
- Cherry API: create rooms and attach to embeds
- Cherry API: rate limits and errors
- @cherrydotfun/chat-embed-sdk on npm
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.