ZAP Protocol
Protocols

WS over ZAP

Multi-stream pubsub channel — schema published, runtime in progress.

WS over ZAP

Status — spec-only, January 2026. The wire schema is published; the Go runtime hasn't shipped. "WS" stands for wire stream — this is not WebSocket.

zap-proto/ws is a planned multi-stream pubsub layer on top of ZAP. Each stream gets its own per-stream forward-error-correction (FEC) so a packet loss in one stream doesn't block any other. Subscriptions are filtered server-side using ZAP's content-addressed framing. Every published message is signed by the publisher's identity.

Why on ZAP

The trade-offs WS makes compared to existing pubsub:

VersusWhy pick WS over ZAP
NATSper-stream FEC, no head-of-line blocking, signed messages by default
MQTTbinary framing, capability-based subscription, no broker auth surface
Redis pub/subcontent-addressed filtering, durable subscribers via signed offsets

Schema

Published at zap-proto/ws/schema/zap_ws.zap. Covers PublishRequest, SubscribeRequest, Message, Ack, DurableConfig. Generate types via SDK codegen.

Roadmap

MilestoneTarget
Wire schema published
Go broker runtimein progress
Per-stream FEC integrationin progress
Durable subscriber with signed offsetsin progress
Cross-language client packagesonce Go reference stabilizes
Bench against NATS, MQTTonce runtime stabilizes

Performance claims will be sourced from zap-proto/bench. No numbers will be published before the harness exists.

Track progress on zap-proto/ws.

On this page