Market Data Channels
Public channels for real-time market data. All authenticated users can subscribe to market data channels.
Channel Patterns
| Channel Pattern | Data Model | Description |
|---|---|---|
market:orderbook:{venue}:{symbol} | RpcOrderBook | Order book snapshots/updates |
market:trade:{venue}:{symbol} | Trade data | Real-time trades |
Order Book Subscriptions
Subscribe to real-time order book updates.
Step 1: Create Server-Side Subscription (Admin only)
# RPC call to create subscription
await client.rpc("command.subscription.create", {
"venue": "BINANCE",
"instruments": ["BTC/USDT"],
"subscriptionType": "market.subscription.orderbook"
})
Step 2: List Available Subscriptions
# RPC call to list active subscriptions
result = await client.rpc("query.subscription.list", {})
# Returns list of available subscriptions to subscribe to
Step 3: Subscribe to Channel
channel = "market:orderbook:BINANCE:BTC/USDT"
sub = client.new_subscription(channel, events=handler)
await sub.subscribe()
Order Book Data Format
Publications contain RpcOrderBook data:
| Field | Type | Description |
|---|---|---|
instrumentId | string | Format: VENUE:SYMBOL |
venue | string | Trading venue |
symbol | string | Trading pair |
bids | array | Bid price levels [{price, quantity}, ...] |
asks | array | Ask price levels [{price, quantity}, ...] |
timestamp | string | ISO 8601 timestamp |
SDK Model: RpcOrderBook
Trade Subscriptions
Subscribe to real-time trade updates.
Channel Format
market:trade:{venue}:{symbol}
Example
channel = "market:trade:BINANCE:BTC/USDT"
sub = client.new_subscription(channel, events=handler)
await sub.subscribe()