Skip to main content

Trade updates

Real-time trade execution events. Requires authentication.

Subscribe

{"op": "subscribe", "args": ["trades"]}

Topic format: trades (per-account, not per-symbol).

Update Message

Pushed on each trade execution.

{
"channel": "trades",
"type": "update",
"code": "e1f2a3b4-c5d6-7890-efab-cd1234567890",
"order_code": "f1e2d3c4-b5a6-7890-fedc-ba9876543210",
"customer_code": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
"symbol": "BTCUSD_PERP",
"action": "Buy",
"price": "67498.50",
"amount": "100",
"notional": "674985.00",
"fee": "3.38",
"fee_currency": "USD",
"realised_pnl": null,
"reference_id": "my-order-001",
"role": "Taker",
"trade_type": "Regular",
"timestamp": "2025-06-15T07:30:01Z"
}
FieldDescription
codeUnique trade identifier
order_codeOrder that generated this trade
customer_codeCustomer identifier
symbolInstrument symbol
actionBuy or Sell
priceExecution price
amountTrade amount in contracts
notionalUSD value of the trade (price × amount)
feeFee charged for this trade
fee_currencyCurrency the fee is denominated in
realised_pnlRealised PnL from this trade (null for opening trades)
reference_idClient-assigned reference ID from the parent order
roleMaker or Taker
trade_typeRegular, Liquidation, or Adl — trade execution context
timestampTrade execution timestamp

Notes:

  • There is no initial snapshot on subscribe — trades are events, not state.
  • Fields match the REST Trade schema with the addition of trade_type.