Skip to main content

Subscribing & actions

These are the frames you send to the server. Each is a JSON object with a type and a payload.

Account subscriptions

Subscribe to receive every event for an account (orders, positions, deals, balance, summary):

{ "type": "account_subscribe", "payload": { "account_id": 26100003 } }
{ "type": "account_unsubscribe", "payload": { "account_id": 26100003 } }

Dealers/admins can subscribe to many accounts at once (their book):

{ "type": "accounts_subscribe", "payload": { "account_ids": [26100003, 26100004] } }
{ "type": "accounts_unsubscribe", "payload": { "account_ids": [26100003, 26100004] } }

Market feed

Start or stop live ticks for specific instruments:

{ "type": "start_market_feed", "payload": { "symbol_ids": [26100001, 26100002] } }
{ "type": "stop_market_feed", "payload": { "symbol_ids": [26100001] } }

Ticks then arrive as market_feed events (bid/ask/high/low) — see Events.

Trading over WebSocket

You can also place and manage trades on the socket instead of REST — the payloads match the REST bodies:

ActionFrame type
Place an orderorder_create
Modify an orderorder_update
Cancel an orderorder_cancel
Modify a positionposition_update
Close a positionposition_close
Close by hedgeposition_close_by_hedge
{
"type": "order_create",
"payload": {
"symbol_id": 26100001, "side": 0, "type": 0,
"volume": 0.10, "order_price": 1.08234, "fill_policy": 0
}
}

Dealer variants (order_dealer_create, position_dealer_close, …) act on another account in the dealer's book and require a Dealer/Admin session.

The server replies with the matching lifecycle event (e.g. order_createposition_create on fill), so a single subscription gives you both your own actions and their results.