Skip to main content
All client → server and server → client messages are single JSON objects (or MessagePack with the equivalent shape). There is no streaming framing on top of WebSocket frames — one logical message per frame.

Client → server: tagged by op

Server → client operation responses: tagged by op

Server → client channel data: tagged by ch + type

Distinguish the two on the client by checking for op (op response) vs ch (channel data).