Skip to main content
The V3 perps WebSocket is separate from the event and prediction-market orderbook sockets.
One subscribe request can be partially accepted. Always inspect ack.channels and ack.rejected rather than assuming every requested channel is active. Every perps_book event is a complete replacement for that instrument’s cached book, not an incremental patch. perps.book('BTC-USD') returns the latest managed copy, or null until the first book event arrives. A successful acknowledgement confirms the channel, not book readiness; use the V3 perps orderbook when startup needs immediate state. The client reconnects and resubscribes after non-terminal disconnects, but the stream does not promise replay. A reconnect notice has gap_possible: true; backfill through V3 REST if completeness matters. Authentication (4401) and connection-limit (4429) closes are terminal until the caller changes the failing condition.
See the shared perps guide for channel definitions, lag behavior, and lifecycle details.