Public market data streams¶
Evidence: ptrader-ws-gateway/docs/WS_API_SPOT.md (aligned with openapi quote paths).
Symbol names in channel strings are case-insensitive.
Aggregate trade — <symbol>@aggTrade¶
{
"e": "aggTrade",
"E": 1672515782136,
"s": "BTCUSDT",
"a": 5933014,
"p": "0.001",
"q": "100",
"f": 100,
"l": 105,
"T": 1672515782136,
"m": true
}
Trade — <symbol>@trade¶
{
"e": "trade",
"E": 1672515782136,
"s": "BTCUSDT",
"t": 12345,
"p": "0.001",
"q": "100",
"b": 88,
"a": 50,
"T": 1672515782136,
"m": true
}
Kline — <symbol>@kline_<interval>¶
Intervals: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M.
Payload follows the Binance-style k object (illustrative — see internal WS_API_SPOT.md for full field table).
Tickers¶
| Stream | Description |
|---|---|
<symbol>@miniTicker |
Mini ticker |
!miniTicker@arr |
All market mini tickers |
<symbol>@ticker |
Full ticker |
!ticker@arr |
All market tickers |
<symbol>@bookTicker |
Best bid/ask |
!bookTicker |
All book tickers |
Depth¶
| Stream | Description |
|---|---|
<symbol>@depth<levels> or @depth<levels>@100ms |
Partial book (levels e.g. 5/10/20) |
<symbol>@depth or @depth@100ms |
Diff depth |
Local book sync (diff depth)¶
- Subscribe to
<symbol>@depth. - REST snapshot:
GET /openapi/quote/v1/depth?symbol=<SYMBOL>. - Drop events with
u≤ snapshotlastUpdateId. - Apply diffs; quantity
"0"removes a level. - Ensure each event
Uequals previousu + 1, else re-snapshot.
Evidence: WS_API_SPOT.md “How to maintain a local order book”.