跳到主要内容

K 线

概述

:::info 本文档范围

专讲 K 线 OHLCVGET /candlesPOST /info、WS candles.{symbol}.{interval} 主题)。数据来自 SQLite 索引 + 内存 当前根
不含实时盘口/成交 — 见同组 实时行情
本组入口见 行情数据概述

:::

环境Base URLWebSocket
生产https://rpc.auroran.io · https://api.auroran.iowss://rpc.auroran.io/api/v1/ws · wss://api.auroran.io/api/v1/ws

两个域名功能一致,任选其一。 :::info 与实时行情的区别

K 线(本页)实时行情
数据按 interval 聚合的 OHLCV 当前 盘口 / 成交 / BBO / Mark
存储SQLite 索引 + 内存 当前根仅内存
典型用途图表、getBars、历史回测深度图、最新成交列表
WS主题 candles.{symbol}.{interval}主题 book.* / trades.* / bbo.* / marks
就绪candle_watermark / candle_lag_blockshot_feed.*(REST 可能 503)
Schemaschemas §10schemas §12

:::

Symbol 解析

实时行情 §2 相同:REST 用完整 symbol 或前缀;WS coin 规则一致。


对接清单

步骤动作
1GET /api/v1/statuscandle_watermark / candle_lag_blocks
2历史:GET /api/v1/candlesPOST /info candleSnapshot
3实时:WS 订阅 candles.{symbol}.{interval} 主题
4首屏偏空时短间隔重试(异步回填缺口)
5盘口/成交另接 实时行情,不要从 K 线推导

TradingView / 第三方图表:历史 → getBars → 本页 REST;实时 → WS candles.{symbol}.{interval} 主题。to ≥ now 时 HTTP 合并内存 进行中 bucket;无成交 bucket 不补零

全部市场共用同一套 API;Symbol 示例:BTCETHxyz:NVDABTC-USDT

GET /api/v1/candles

derive → candle 异步 worker 聚合 OHLCV(不阻塞 ingest)。

Query

ParamTypeRequiredDefaultMaxDescription
symbolstringyes市场符号
intervalstringno1hK 线周期
fromnumberno0起始时间(ms,含)
tonumberno无上限结束时间(ms,含)
limitnumberno5002000最大返回根数

Supported interval

ValueDuration
1m1 minute
3m3 minutes
5m5 minutes
15m15 minutes
30m30 minutes
1h1 hour
2h2 hours
4h4 hours
8h8 hours
12h12 hours
1d1 day
3d3 days
1w1 week
1M1 calendar month (UTC)

未知 interval 默认 1h

Response 200 — 裸数组 Candle[],按 t 升序:

[
{
"t": 1717000000000,
"T": 1717003600000,
"s": "BTC-USDT",
"i": "1h",
"o": "50000.00",
"c": "50100.00",
"h": "50200.00",
"l": "49900.00",
"v": "123.456",
"n": 42
}
]
FieldTypeDescription
tnumberbucket 开盘时间(ms)
Tnumberbucket 收盘时间(ms)
sstring市场符号
istringinterval
o, c, h, lstring开 / 收 / 高 / 低
vstring成交量
nnumber成交笔数

Response 404 — symbol 不在 market cache。

字段契约见 schemas §10


POST /info

按 body 中 type 分发。

POST /info
Content-Type: application/json

Supported types

typeDescription
candleSnapshot历史 K 线查询

未知 type → 400{ "error": "unknown request type: …" }

candleSnapshot

Request body

{
"type": "candleSnapshot",
"req": {
"coin": "BTC",
"interval": "1h",
"startTime": 1717000000000,
"endTime": 1717086400000
}
}
FieldTypeDefaultDescription
req.coinstringsymbol 或前缀(同 GET)
req.intervalstring"1h"同 GET
req.startTimenumber0起始(ms,含)
req.endTimenumbermax结束(ms,含)

Response 200 — 与 GET 相同 Candle[]。无匹配市场 → [](非错误)。单次最多 5000 根。


WebSocket — K 线主题

详见 统一 WebSocket:订阅 {"op":"subscribe","topics":["candles.BTC-USDT.1h"]},推送帧 {"topic":"candles.BTC-USDT.1h","data":{t,T,s,i,o,c,h,l,v,n}}


端点速查

MethodPath说明
GET/api/v1/candlesK 线 OHLCV
POST/infocandleSnapshot
GET/api/v1/wscandles.{symbol}.{interval} 主题订阅

getCandles

JSON-RPC 入口:POST /api/v1/query method getCandles,参数与响应契约与上方 REST 一致。

K 线历史(journal 聚合)。无 start_time_ms/end_time_ms 时走块级缓存(按 (market_id, interval_ms) 缓存,新块失效),适合图表轮询。

参数类型必填说明
symbolString交易对名
market_idu32精确寻址;携带时优先于 symbol
interval_msu64K 线周期(毫秒),必须 > 0
start_time_msu64起始时间(毫秒)
end_time_msu64结束时间(毫秒)
limitusize默认 500,最大 2000

响应 data · CandleResponse[]:

字段类型说明
open_time_msu64蜡烛起始(对齐 interval 边界)
close_time_msu64蜡烛结束 = open_time_ms + interval_ms
openString开盘价(px 精度)
highString最高价(px 精度)
lowString最低价(px 精度)
closeString收盘价(px 精度)
volumeString成交量(sz 精度)
tradesu64成交笔数

常用 interval_ms:1m=60000, 5m=300000, 15m=900000, 1h=3600000, 4h=14400000, 1d=86400000

响应示例:

{
"jsonrpc": "2.0", "id": 1,
"result": {
"height": 12345,
"data": [{
"open_time_ms": 1717200000000,
"close_time_ms": 1717200060000,
"open": "97100.00",
"high": "97300.00",
"low": "97050.00",
"close": "97234.50",
"volume": "12.50000",
"trades": 48
}],
"page": { "offset": 0, "limit": 500, "total": null }
}
}