Chart response
{
"ok": true,
"symbol": "SOL-PERP",
"tf": "1m",
"bucketSeconds": 60,
"candles": [
{
"time": 1710000000,
"open": 132.1,
"high": 133.2,
"low": 131.8,
"close": 132.9,
"volume": 412,
"oracle": 132.7,
"flow": { "up": 0.46, "down": 0.41, "flat": 0.13 },
"flowRows": [1, 1, 0, -1],
"flowMoves": [0.2, 0.1, 0, 0.3]
}
],
"indicators": {
"sma20": [{ "time": 1710000000, "value": 131.4 }],
"ema20": [{ "time": 1710000000, "value": 131.8 }],
"bb20": { "upper": [], "lower": [], "mid": [] },
"rsi14": [],
"macd": { "macd": [], "signal": [] }
}
}
Tick ingest body
{
"ts": "2026-03-13T11:20:00.000Z",
"market_index": 0,
"symbol": "SOL-PERP",
"oracle_price": "132.70",
"mark_price": "132.91",
"oracle_slot": 406125100,
"source": "drift",
"raw": {
"provider": "internal"
}
}
GraphQL DLOB subscriptions
subscription DlobStats($market: String!) {
dlob_stats_latest(where: {market_name: {_eq: $market}}, limit: 1) {
market_name
mark_price
oracle_price
best_bid_price
best_ask_price
mid_price
spread_abs
spread_bps
depth_bid_usd
depth_ask_usd
imbalance
updated_at
}
}
L2 payload shape
{
"market_name": "SOL-PERP",
"bids": [
{ "price": 132910000, "size": 2500000000 }
],
"asks": [
{ "price": 132930000, "size": 1700000000 }
],
"updated_at": "2026-03-13T11:20:01.000Z"
}
Frontend przelicza to przez:
- pricePrecision = 1_000_000
- basePrecision = 1_000_000_000