Free is the weekend plan: public rooms, a pk_ in the browser, no card. Starter is $20/mo when you outgrow 200k persisted messages. Pro is $50/mo for heavier traffic. Cursors and presence do not count as messages; agent invokes are not extra seats.
client_event frames. Cursors and presence_patch do not. Agents are invokes, not dashboard seats. Hosted is beta; pin @fluxy-chat/sdk.Weekend plan. No card. pk_ in the browser.
Production traffic with fixed monthly limits.
Heavy rooms, agents, and webhook volume.
Higher limits: email founder@fluxychat.com. Hosted login does not include SAML. Self-host keeps the same SDK and moves the Worker to your Cloudflare account.
| Feature | Free | Starter | Pro |
|---|---|---|---|
| Messages / month | 200K | 500K | 5M |
| Agent invokes / month | 5K | 10K | 100K |
| Webhook deliveries / month | 50K | 100K | 1M |
| Rooms | Unlimited ids | Unlimited ids | Unlimited ids |
| Projects | 1 | 1 | 1 |
| Team seats | 1 | 1 | 1 |
| SDK & dashboard | Yes | Yes | Yes |
| Platform modules | Same room DO | Same room DO | Same room DO |
| AI agents | Yes | Yes | Yes |
| Webhooks | No | Signed + retries | Signed + retries |
| GDPR export | Worker API | Yes | Yes |
| Priority support | Community | Email (best effort) | Priority |
| SSO / SAML | Unavailable on hosted | Unavailable on hosted | Unavailable on hosted |
| Audit logs | No | No | Contact us |
Runs on Cloudflare's global network. PoP count and edge RTT are Cloudflare's, not a FluxyChat-measured SLO.
TLS in transit. Room envelopes use a Worker-wrapped key. The LLM sees plaintext when invokeAgent runs.
invokeAgent writes chat messages. Streaming markdown, MCP tools, HITL. The side-panel copilot is UI you wire to your own model.
React, Vue, and Svelte packages on npm. React Native on npm. Flutter, Swift, and KMP stay in this repo until they hit their registries.
Rooms, agents, billing, and project keys. Hosted is beta.
Durable Objects and WebSocket. Yjs is a second binary socket on the same room.
TLS in transit. You can wrap payloads with a room key the Worker holds. Anyone with Worker secrets can unwrap. The model sees plaintext when invokeAgent runs. There is no customer KMS.
No. Console seats are humans. Agents cost invokes: streaming replies, tool calls, MCP. A chatty bot is not extra MAU.
Cost tracks messages, AI invokes, and webhook volume. Self-serve plans include fixed monthly quotas; heavy usage can be metered on Growth and above.
Yes. Each plan includes a monthly agent invoke limit. Streaming AI, tool calls, and MCP interactions count as invokes.
No separate SKU. Platform modules run on the same room and worker. Quotas apply to messages and agent invokes like chat.
Business is high-limit self-serve with SSO add-on and audit export. Enterprise can add SCIM, DLP, a security review, and a written MSA. There is no public fleet SLO on this page.
Persisted chat messages (including agent replies on the timeline) and client_event frames that are not client-ephemeral-*. Cursors, typing, and presence_patch do not increment the message quota. Agent invokes are a separate meter. Room ids are not metered.
Free is that plan. No card. Public rooms with a pk_ in the client. 200k persisted messages and 5k agent invokes per month. Hosted is beta. Self-host is MIT.
Hosted is open beta. Pin npm versions. Cloudflare PoP RTT is Cloudflare's, not a FluxyChat SLA. Self-host MIT if you need the Worker in your account today.
Same worker and SDK. Hosted is fastest to start; self-host gives full control on your Cloudflare account with MIT source.
Build for free this weekend.
No credit card. Open beta, so pin SDK versions. The docs are the spec, not the compare table.