Pusher-compatible. Zero fan-out fees. Serverless for production, self-hosted for full control.
import Pusher from "pusher-js"
const pusher = new Pusher("APP_KEY", {
wsHost: "wss.socketo.dev",
cluster: "socketo"
});Start local, self-host, or go managed.
All Pusher SDKs work without modification. Change 3 env vars and you're done. Existing channels, presence, and auth callbacks stay exactly the same.
Unlike Pusher where every subscriber multiplies your cost, Socketo charges once per broadcast.
Change 3 environment variables. Your existing code stays exactly the same.
Before
PUSHER_HOST=ws.pusher.comPUSHER_APP_KEY=<YOUR_PUSHER_KEY>PUSHER_APP_SECRET=<YOUR_PUSHER_SECRET>After
PUSHER_HOST=wss.socketo.devPUSHER_APP_KEY=<YOUR_SOCKETO_KEY>PUSHER_APP_SECRET=<YOUR_SOCKETO_SECRET>Already using the CLI? Migrate by changing one env var.
Usage-based pricing with no fan-out tax. Pay per broadcast, not per subscriber.
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 | — | — | ✓ |
| Get Started | Get Started | Get Started |
1M broadcasts included every month. After that, just $1 per million. One flat fee per broadcast — 10 subscribers or 5,000, same price.
Migrate from Pusher in 3 lines. No vendor lock-in.