Skip to main content

General WSS information

Base Address​

production environment: wss://f-ws.azverse.net/futures/public

production environment: wss://f-ws.azverse.xyz/futures/public

sandbox environment: wss://f-ws.az-qa2.xyz/futures/public


Protocol​

  • Subscribe with {"method":"subscribe","params":["ticker@btc_usdt"],"id":<n>}; ack is {"id":<n>,"code":200,"msg":"success"} on success, or {"id":<n>,"code":400,"msg":"<token>"} on failure (429/rate_limited when throttled).

  • Every push frame is a unified envelope {ch, event, data}: ch is the channel family (the dispatch key — same ch ⇒ same data shape), event is the normalized subscription string (match your subscription by it), and data is the payload (an object for single-symbol channels, an array for batch channels such as tickers). Only non-null fields are present.

  • Heartbeat: text ping -> text pong, or JSON {"method":"ping"} -> {"pong":<ts>}; idle timeout disconnects.

  • Symbol in channels uses lowercase underscore, e.g. btc_usdt.

  • Full depth uses subscribe-time snapshot + delta (the server re-pushes a snapshot on restart / when the client falls behind); no REST snapshot pull is needed. The full-depth family ch is depth_update; fixed-level depth (depth5|depth10|depth20|depth50|depth100) uses family ch depth.

  • Futures extras: the ticker frame carries ix/mx (index / mark price); a dedicated fundrate@<symbol> channel is available; and index_price@<symbol> / mark_price@<symbol> are separate channels (family ch index_price / mark_price) pushed strictly once per second — they use the same {ch, event, data} envelope as every other channel.