Docs/Getting Started
Overview
Technical overview of Socketo and Pusher Channels Protocol v7 compatibility.
What is Socketo
Socketo is an edge-native real-time engine implementing the Pusher Channels Protocol v7 specification. It runs on Cloudflare Workers and hibernating SQLite Durable Objects, providing drop-in compatibility with the official Pusher client and server SDK ecosystem without client-side modifications or idle server costs.
Service Endpoints
| Environment | WebSocket Host | REST API Host | Port | TLS / SSL |
|---|---|---|---|---|
| Socketo Cloud | wss.socketo.dev | api.socketo.dev | 443 | Enforced (wss://, https://) |
| Socketo Local CLI | localhost | localhost | 8787 | Disabled (ws://, http://) |
| Self-Hosted | <custom-worker-domain> | <custom-worker-domain> | 443 | Enforced (wss://, https://) |
Application Credentials
Every application in Socketo is provisioned with three primary parameters:
| Parameter | Key in SDKs | Description |
|---|---|---|
| App Key | key | Public application identifier sent in client WebSocket handshakes. |
| App ID | appId | Backend routing identifier. In Socketo Cloud, appId is identical to key. |
| App Secret | secret | Private HMAC-SHA256 secret. Used exclusively on your backend to sign requests and channel authorizations. |
| Cluster | cluster | Set to "socketo" (or "local" for CLI development). |
Protocol Compatibility Matrix
| Feature | Protocol Specification | Supported | Notes |
|---|---|---|---|
| Public Channels | v7 WebSocket | Yes | Unauthenticated broadcast channels |
| Private Channels | v7 WebSocket | Yes | HMAC-SHA256 token authorization |
| Presence Channels | v7 WebSocket | Yes | Up to 100 concurrent members per channel |
| Client Events | v7 WebSocket | Yes | Ephemeral client-* events on private/presence channels |
| User Signin | v7 WebSocket | Yes | Connection-level identity via #server-to-user-<id> |
| Direct User Events | v7 REST | Yes | POST /apps/:id/users/:id/events |
| REST API | v7 HTTP | Yes | Single triggers, batch triggers, channel occupancies |
| Outbound Webhooks | v7 HTTP POST | Yes | Occupancy, presence roster, and client events |
| Encrypted Channels | Pusher Extension | No | private-encrypted-* not implemented |
| Cache Channels | Pusher Extension | No | cache-* message caching not implemented |
| Watchlist Events | Pusher Extension | No | pusher:watchlist not implemented |