Skip to main content

Connection

Connect to the WebSocket endpoint:
Once connected, the server begins sending heartbeat messages every 15 seconds. The connection supports one L3 market subscription at a time. Trading and user-event messages share the same socket once you authenticate.
You can subscribe to market data and trade on the same connection. Authenticate first, then subscribe to a market.

authenticate

Send your API key to identify yourself. On success the server replies with authenticated.
string
required
Must be "authenticate".
string
required
Your trader API key.

subscribe

Subscribe to the L3 order book for a market. The server replies immediately with a snapshot, then streams delta messages.
string
required
Must be "subscribe".
string
required
Must be "l3". No other channels are currently supported.
string
required
Market identifier, e.g. "BTC-USD".
number
Supported by the protocol shape, but the current server flow always returns a full snapshot regardless of this value. Pass null or omit the field.

unsubscribe

Stop receiving updates for a market.
string
required
Must be "unsubscribe".
string
required
Must be "l3".
string
required
Market identifier to unsubscribe from.

submit_order

Place a limit order. Requires authentication. The server replies with ack on success or reject on failure.
string
required
Must be "submit_order".
string
Client-assigned identifier echoed back in the ack or reject. Useful for correlating responses to requests.
string
required
Market identifier, e.g. "BTC-USD".
string
required
"BUY" or "SELL".
number
required
Limit price in integer units (subject to the market’s tick size).
number
required
Order quantity (subject to the market’s minimum order quantity).

cancel_order

Cancel an open order you own. Requires authentication.
string
required
Must be "cancel_order".
string
Client-assigned correlation identifier.
string
required
UUID of the order to cancel.

amend_order

Reduce the remaining quantity of an open order you own. Requires authentication.
string
required
Must be "amend_order".
string
Client-assigned correlation identifier.
string
required
UUID of the order to amend.
number
required
New remaining quantity. Must be less than the current remaining quantity.

Current limitations

  • One L3 market subscription per connection. To track multiple markets simultaneously, open one connection per market.
  • No replay endpoint. If you miss messages, you must resubscribe from a fresh snapshot.
  • No persisted user-event sequence numbers. User events do not carry a sequence number and cannot be replayed.
  • Only the l3 channel is supported. No trades-only or ticker channels are available.