WebSockets without the fan-out tax.
Drop-in Pusher replacement on Cloudflare's global edge. Scale infinitely with flat broadcast pricing and zero fan-out fees, or self-host with one command.
Paid plans include 1M broadcasts every month.
import Pusher from "pusher-js";
const pusher = new Pusher("YOUR_APP_KEY", {
wsHost: "wss.socketo.dev",
cluster: "socketo",
forceTLS: true,
});Drop-in replacement for Pusher
Keep your existing client & backend codebase. Just update 3 environment variables and point your connection at Socketo.
PUSHER_HOST=wss.socketo.dev
PUSHER_APP_KEY=your_socketo_key
PUSHER_APP_SECRET=your_socketo_secretRun it your way
Choose between managed service, self-hosted open source, or instant local development.
Serverless infrastructure powered by Cloudflare Workers & Durable Objects. Zero maintenance, auto-scaling, and analytics.
Deploy the open-source GPLv3 edition on Docker, Kubernetes, or your own VPS. Complete privacy and zero limits.
Run a local Pusher-compatible test server with `npx @socketo/cli`. No account or connection required for offline testing.
Simple, predictable pricing
Pay based on concurrent connections. Zero fan-out fees.
Starter | Indie | Growth | |
|---|---|---|---|
| $10/mo | $20/mo | $40/mo | |
| Connections | 1,000 | 3,000 | 5,000 |
| Unlimited apps | ✓ | ✓ | ✓ |
| Unlimited channels | ✓ | ✓ | ✓ |
| Unlimited broadcast | ✓ | ✓ | ✓ |
| Client events | ✓ | ✓ | ✓ |
| Email support | ✓ | ✓ | ✓ |
| Discord support | — | — | ✓ |
| Start with Starter | Start with Indie | Start with Growth |
1M broadcasts included monthly on all paid plans. Then $1 per million — 10 subscribers or 10,000, same flat rate.
Frequently asked questions
Can I keep using existing Pusher SDKs?
What does "Zero Fan-Out Tax" mean?
How do I migrate my project?
PUSHER_HOST, PUSHER_APP_KEY, and PUSHER_APP_SECRET. See the migration guide for details.Can I self-host Socketo for free?
npx @socketo/cli.