Self-host it free. Or let us run it.
emb.chat is open source — run the whole stack yourself for nothing. When you’d rather not babysit Postgres and Redis, the managed cloud takes over. Same software, your call.
Every hosted plan starts with 1,000 MAU free — no card.
Free, forever — unlimited everything.
docker compose up
brings up the server, webhook worker, PostgreSQL, and Redis. No MAU limits, no
seats, no callbacks. Your infrastructure, your data, community support.
- Unlimited MAU
- Every feature, no gates
- Self-managed key rotation
- Run anywhere Docker runs
- Community support
We run it. You ship.
Managed Postgres and Redis, automatic upgrades, an uptime SLA, and support — priced to undercut every chat platform that won’t let you self-host.
Starter
10,000 MAU included
then $0.03 / MAU
- 1 app
- 5 webhook endpoints
- 30-day message retention
- Operator dashboard
- Email support
Growth
50,000 MAU included
then $0.02 / MAU
- Everything in Starter
- 5 apps · 25 webhook endpoints
- 1-year retention
- Signing-key rotation
- Priority support
- 99.9% uptime SLA
Scale
150,000 MAU included
then $0.02 / MAU
- Everything in Growth
- Unlimited apps & endpoints
- Custom retention
- 99.95% uptime SLA
Enterprise
Unlimited MAU
volume pricing
- SSO / SAML
- VPC & on-prem deploy
- DPA · HIPAA · BAA
- Dedicated support + SLA
- Audit logs & migration
Every plan, side by side.
| Self-hosted | Starter | Growth | Scale | Enterprise | |
|---|---|---|---|---|---|
| Monthly price | $0 | $49 | $299 | $899 | Custom |
| MAU included | Unlimited | 10,000 | 50,000 | 150,000 | Unlimited |
| MAU overage | — | $0.03 | $0.02 | $0.02 | Volume |
| Apps | Unlimited | 1 | 5 | Unlimited | Unlimited |
| Webhook endpoints | Unlimited | 5 | 25 | Unlimited | Unlimited |
| Message retention | Your database | 30 days | 1 year | Custom | Custom |
| Real-time messaging | |||||
| Presence & typing | |||||
| All three group modes | |||||
| Signed webhooks | |||||
| Operator dashboard | |||||
| Signing-key rotation | Self-managed | — | |||
| Managed Postgres & Redis | — | ||||
| Uptime SLA | — | — | 99.9% | 99.95% | Custom |
| Support | Community | Priority | Priority | Dedicated | |
| SSO / SAML | — | — | — | — | |
| VPC / on-prem | Self-host | — | — | — | |
| DPA · HIPAA · BAA | Self-host | — | — | — |
If it’s free to self-host, why pay?
Because running stateful infrastructure is a job. Here’s the honest split.
Self-host when…
- You already run Postgres and Redis in production.
- Data residency or air-gapped deploys are non-negotiable.
- You want to read every line of what you ship.
- Cost control matters more than ops convenience.
Use the cloud when…
- You’d rather ship features than run databases.
- You want an uptime SLA and someone to page.
- Upgrades, backups, and scaling should be handled.
- You need SSO, HIPAA, or a signed DPA.
Questions about pricing.
What counts as a monthly active user (MAU)?
A unique user id — the sub in the chat token your backend signs — that connects at least once during the billing month. Connecting a thousand times still counts as one. Users who never connect that month are never billed.
How do overages work?
Each hosted plan includes a MAU allowance. If you go over, additional users are billed at your plan’s per-MAU rate ($0.03 on Starter, $0.02 on Growth and Scale). No surprise tier jumps — you only pay for who actually shows up.
Can I really self-host for free?
Yes. emb.chat is open source and comes up with a single docker compose up — server, webhook worker, PostgreSQL, and Redis. Every feature is included, with no MAU limits. You run the infrastructure; the community supports you.
Do you store our messages?
On hosted plans, messages live in our managed PostgreSQL for the retention window of your tier. Self-hosted, they never leave your database. Either way your backend stays the source of truth for user identity — emb.chat only ever holds your public signing key.
Can I move between self-hosted and hosted?
Both run the exact same software, so there’s no lock-in. Start self-hosted and move to managed when you’d rather not run Postgres and Redis — or take the hosted data and run it yourself. Enterprise includes white-glove migration.
What happens if I downgrade or cancel?
Downgrades take effect at the next billing cycle and apply the lower MAU allowance. Cancel anytime; you keep access through the period you’ve paid for, and you can always fall back to self-hosting.
Start free. Scale when you’re ready.
Self-host today, or spin up a hosted app with 1,000 MAU free — no card.