asset_type with values perp or spot.
Payload Semantics
depthandmarket_candlestickpayloads do not includeasset_type; the subscribed market address identifies whether the payload is for a perp or spot market.account_open_ordersandorder_updatesuseOrderDto. Spot order rows usetime_in_forceand leave perp-only fields such asclient_order_id, reduce-only, TP/SL, parent, and trigger condition empty, false, or null.tradesanduser_tradesuseTradeDtowithasset_type. Spot rows useactionvaluesBuyorSell, leaveclient_order_idempty, setrealized_pnl_amountandrealized_funding_amountto0, and includefee_assetwhenfee_amountis denominated in the base or quote asset.bulk_ordersandbulk_order_fillsshare the perp DTO shape, carryasset_type, and normalize spot prices/sizes with the spot market’s quote/base decimals.
Server URL
Available Channels
Market Data
Account
Bulk Orders
TWAP
Topic Compatibility Notes
The server still accepts legacy topic names for backward compatibility:user_open_orders:{accountAddr}(legacy) -> canonicalaccount_open_orders:{accountAddr}user_positions:{accountAddr}(legacy) -> canonicalaccount_positions:{accountAddr}
market_price or all_market_prices rows because they do not have oracle price, mark price, funding, or open interest. Use all_spot_mids for a full-market spot display-price snapshot, or depth:{marketAddr} and its best_bid / best_ask fields for one market’s live book mid.
Message Format
See Connection Management for subscribe/unsubscribe payloads, auth headers, and error responses.Next Steps
Connection Management
Connect, authenticate, subscribe, reconnect
TypeScript SDK
Managed WebSocket connections via SDK

