Skip to main content
This page covers subscribing to position updates with subscribe_positions, and the positions payload that subscription delivers.

Subscribing to position updates

Subscribe to real-time position changes by emitting subscribe_positions. This requires an HMAC-signed handshake. See Authentication. subscribe_positions accepts the same payload as subscribe_market_prices:
Like subscribe_market_prices, calling subscribe_positions again replaces the previous subscription. Include all markets in a single call. A repeat subscribe_positions is accepted only within 30 seconds of the handshake timestamp; after that, reconnect with freshly signed headers (see Overview).
If neither marketSlugs nor marketAddresses is given the server ignores the message: no system acknowledgement, no snapshot, no frames.
Position updates are pushed automatically when your balances change (e.g. after a trade is mined). You do not need to poll.
The initial snapshot is rate-limited per account (10 subscribes per 10 seconds by default). Beyond that the subscription is still active and live updates arrive, but the snapshot is skipped; fetch positions over REST if you need it.

Event payload

positions

Position updates have different shapes depending on market type. AMM markets:
CLOB markets:
  • WebSocket overview: connection details, handshake authentication, and the full event reference