Skip to content
Docs/Overview
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

EnvironmentWebSocket HostREST API HostPortTLS / SSL
Socketo Cloudwss.socketo.devapi.socketo.dev443Enforced (wss://, https://)
Socketo Local CLIlocalhostlocalhost8787Disabled (ws://, http://)
Self-Hosted<custom-worker-domain><custom-worker-domain>443Enforced (wss://, https://)

Application Credentials

Every application in Socketo is provisioned with three primary parameters:

ParameterKey in SDKsDescription
App KeykeyPublic application identifier sent in client WebSocket handshakes.
App IDappIdBackend routing identifier. In Socketo Cloud, appId is identical to key.
App SecretsecretPrivate HMAC-SHA256 secret. Used exclusively on your backend to sign requests and channel authorizations.
ClusterclusterSet to "socketo" (or "local" for CLI development).

Protocol Compatibility Matrix

FeatureProtocol SpecificationSupportedNotes
Public Channelsv7 WebSocketYesUnauthenticated broadcast channels
Private Channelsv7 WebSocketYesHMAC-SHA256 token authorization
Presence Channelsv7 WebSocketYesUp to 100 concurrent members per channel
Client Eventsv7 WebSocketYesEphemeral client-* events on private/presence channels
User Signinv7 WebSocketYesConnection-level identity via #server-to-user-<id>
Direct User Eventsv7 RESTYesPOST /apps/:id/users/:id/events
REST APIv7 HTTPYesSingle triggers, batch triggers, channel occupancies
Outbound Webhooksv7 HTTP POSTYesOccupancy, presence roster, and client events
Encrypted ChannelsPusher ExtensionNoprivate-encrypted-* not implemented
Cache ChannelsPusher ExtensionNocache-* message caching not implemented
Watchlist EventsPusher ExtensionNopusher:watchlist not implemented