Skip to main content
Private streams use the same /ws connection and JSON messaging model as public feeds. The subscription kinds you choose carry account (and sometimes instrument) context in the subscribe payload. Writes still go through signed transactions — see Authentication.

Why use private WebSockets

REST gives you snapshots; private streams push incremental updates for:
  • Open orders and lifecycle changes
  • Trades and fills attributed to your account
  • Balances, margin, or position updates (when exposed for your subscription kinds)
Pair private streams with Private REST-API for reconciliation and backfill after reconnects.

Connection

  1. Open WSS using the host for your network — Environments.
  2. Subscribe only after the connection is ready to accept Subscribe frames.
Exact transport-level requirements, if any, are defined by your deployment and AsyncAPI.

Per-stream reference

Under Streams in this section you will find account-scoped subscriptions (order events, collateral, positions, open orders, and so on). Each page documents one feed using the same ws AsyncAPI channel.

Subscribing to account feeds

  • Use the Subscribe kinds that take account or address parameters (see AsyncAPI).
  • Resubscribe after every reconnect; state is not guaranteed to persist across sessions.
  • Treat each message as a partial update unless the schema defines a full snapshot; on gap or sequence break, reconnect and refresh from REST if needed.

Heartbeats

Send Ping; expect Pong. Private clients should be at least as aggressive as public bots about heartbeats when you hold long-lived connections through proxies.

Errors and security

Errors arrive as ServerMessage::Error — see Error responses. Never log private keys or full account payloads to shared systems. For market-wide data, see Public WebSocket streams and the stream reference.