跳到主要内容

API Schemas(完整数据契约)

概述

本文档是历史与审计分册的权威 Schema 参考。对接方无需阅读服务端源码;所有 REST / WebSocket 响应字段、类型、枚举与端点映射均在此定义。

接口行为(分页默认值、过滤语义、示例)见 REST API;WebSocket 协议见 WebSocket

接口行为见 REST API;WebSocket 见 WebSocket


1. 全局约定

1.1 Base URL

ItemValue
Default(生产)https://rpc.auroran.io · https://api.auroran.io(功能一致,任选其一)
Auth(公开只读 API,无 API Key)
Content-Type成功响应均为 application/json

1.2 地址与哈希

类型格式
账户 / 签名者0x + 十六进制
交易 hash / 区块 digest0x + 十六进制
路径 {id}(区块)数字高度 digest
路径 {hash}(交易)交易 hash

1.3 数值与 decimal

规则说明
价格、数量、余额、手续费、成交量JSON string(decimal),不是 number
区块高度、序号、时间戳 msJSON number(整数)
market_idorder_idJSON number(整数)

1.4 可选字段与 JSON 省略

服务端使用 skip_serializing_if值为 null 或未设置的 optional 字段可能从 JSON 中完全省略(不出现 "field": null)。对接方应将所有未在「必填」列标注为 yes 的字段视为 optional,缺失时等价于 null

1.5 事件溯源(Event provenance)

由链上 event 物化的记录,可通过 (height, seq) 关联回产生该 event 的 L2 envelope(已签名交易):

(height, seq) → event.envelope_idx → envelope.tx_hash
字段类型说明
envelope_idxnumber | omitted区块内 envelope 索引(0-based)
tx_hashstring | omitted产生该 event 的 L2 交易 hash

语义:maker 手续费等流水的 tx_hash 可能是对手方 taker 交易,不一定是本账户自己的挂单 tx。

订单聚合(OrderRecord)不使用 event 溯源字段,而使用 placed_tx_hash / closed_tx_hash(derive 时写入)。

跨链流水(BridgeFlowRecord)额外有 external_tx_hashL1 链上 hash,来自 event body)。

1.6 排序

接口排序
blocks、envelopes、fills、fund-flows、bridge-flows、positions、account/events、referral/events、referral/referees、rebate/events区块高度 新→旧
block {id}/events区块内 seq 小→大
orders默认仅已关闭订单;按 closed_at_ms 新→旧(同时间 order_id 大→小
candlesbucket 时间 旧→新
referral/leaderboard邀请人数 多→少n_referrals desc)

1.7 索引延迟

节点内异步流水线:ingest → derive → candle → stats。账户历史与排行榜依赖 derive/stats,可能落后于链 tip。对接方应读取 GET /api/v1/status 中的 *_watermark*_lag_blocks 判断数据新鲜度。


2. 公共包装类型

Page

分页元数据。

FieldTypeRequiredDescription
offsetnumberyes本次请求偏移
limitnumberyes本次请求页大小
totalnumberno精确总数;include_total=true 时返回(leaderboard 上限 500)
next_cursorstring | nullno游标模式下一页游标;offset 模式为 null
has_moreboolean | nullno游标模式是否还有下一页;offset 模式为 null

Paged<T>

{ "data": [ /* T[] */ ], "page": { "offset": 0, "limit": 50, "total": 100, "next_cursor": null, "has_more": null } }

DataOnly<T>

{ "data": { /* T */ } }

ErrorResponse

{ "error": "human-readable message" }
HTTP场景
400POST /info 未知 typeGET /api/v1/leaderboard 无效 metric/periodGET /api/v1/rebate/events 无效 role(均为 JSON { "error" }
404区块、交易不存在;GET /api/v1/candles symbol 不在 market cache;热读未知 symbol
503实时行情 Feed seeding(Retry-After: 2,JSON { "error" }
500存储错误;缺少必填 query 参数(当前实现,非标准 400)

HealthResponse

GET /health

FieldTypeRequiredDescription
statusstringyes恒为 "ok"

ExplorerStatus

GET /api/v1/status

FieldTypeRequiredDescription
watermarknumber | nullyes已完全 ingest 的最高区块;首块前为 null
block_countnumberyes本地区块总数
node_tipnumber | nullyes链节点 tip;不可达为 null
behindnumber | nullyes落后区块数
derive_watermarknumber | nullyes二级索引(成交/委托/流水等)已处理高度
derive_lag_blocksnumberyesingest 领先 derive 的区块数
derive_index_versionstring | nullyesderive 索引 schema 版本(如 "2"
candle_watermarknumber | nullyesK 线聚合已处理高度
candle_lag_blocksnumberyesderive 领先 candle 的区块数
stats_watermarknumber | nullyes排行榜冷统计已处理高度
stats_lag_blocksnumberyesderive 领先 stats 的区块数
hot_feedHotFeedStatusyes实时行情 Feed 状态
marketsMarketRouteCountsyes路由表市场计数

HotFeedStatus

ExplorerStatus.hot_feed

FieldTypeRequiredDescription
native_readybooleanyes热数据 feed seed 完成
hl_readybooleanyes热数据 feed seed 完成
stalebooleanyes上游 stale
chain_heightnumberyes热缓存链高度
book_updated_at_msnumberyes盘口最近更新时间(ms)

MarketRouteCounts

ExplorerStatus.markets

FieldTypeRequiredDescription
nativenumberyes路由计数(对接可忽略)
external_pegnumberyes路由计数(对接可忽略)

3. 枚举与常量

LeaderboardMetric

GET /api/v1/leaderboard?metric=…必填

Value说明
volume成交量
realized_pnl已实现盈亏
realized_roi已实现 ROI
balance余额
equity净值

LeaderboardPeriod

Value说明
24h24 小时窗口
7d7 天窗口
30d30 天窗口
all全量(默认)

OrderStatus

OrderRecord.status

Value说明
open挂单中(默认列表不包含;当前委托请查链 RPC)
filled完全成交
partial_cancelled部分成交后撤/过期
cancelled未成交撤单
expiredIOC/GTD/FOK 过期

EnvelopeStatus

Value说明
accepted执行成功
kept-reject保留但拒绝(见 reason

OrderSide

Value说明
Bid
Ask

FundFlowReason(常见)

TakerFee · MakerFee · RealizedPnl · BridgeDeposit · BridgeWithdrawDebit · BridgeWithdrawRefund · Liquidation · ImRelease · ImAutoAllocate · ImManualAllocate · MakerFeeRefund · FeeRecipientCredit · OracleTrade · Withdrawal · BankruptcyFloor · RebateToInviter · RebateToInvitee

BridgeEventType

DepositRecorded · DepositCredited · WithdrawRequested · WithdrawSettled · WithdrawRefunded

PositionEventType

Updated · Flattened · ForceClosedAtMark

EventKind(常见)

Exec · Core · Bridge · Trigger · Liquidation · Ops · Oco · Unknown

CandleInterval

1m · 3m · 5m · 15m · 30m · 1h · 2h · 4h · 8h · 12h · 1d · 3d · 1w · 1M(UTC 日历月)


4. 核心实体 Schema

BlockHeader

FieldTypeRequiredDescription
parentstringyes父区块 digest
heightnumberyes区块高度
timestamp_msnumberyes区块时间戳(ms)
digeststringyes区块 hash
envelope_countnumberyesenvelope 数量
event_countnumberyesevent 数量
state_rootstringyes状态根
envelopesEnvelopeView[]yes列表/仅头响应中恒为 []

EnvelopeView

FieldTypeRequiredDescription
heightnumberyes所在区块高度
envelope_idxnumberyes区块内 envelope 索引
tx_hashstringyes交易 hash
signerstringyes签名者地址
noncenumberyes账户 nonce
statusstringyes见 EnvelopeStatus
action_kindstringyesaction JSON 顶层 key,如 PlaceOrderAmendOrderAmendTriggerOrder
market_idnumberno从 action 提取的市场 ID
symbolstringno读取时从 market cache 解析
actionobjectyes原始 action JSON
reasonobjectnostatus == "kept-reject" 时的拒绝详情
timestamp_msnumberyes区块时间戳(读取时 join;缺省为 0

EventView

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyes区块内 event 序号
envelope_idxnumberyes产生该 event 的 envelope 索引
kindstringyes事件大类
sub_kindstringyes事件子类型
market_idnumberno关联市场 ID
symbolstringnomarket cache 解析
tx_hashstringnoL2 交易 hash(读取时 join)
accountstringno关联账户(尽力提取)
timestamp_msnumberyes区块时间戳(ms)
bodyobjectyes节点原始 event JSON(decimal 字符串)

MarketInfo

GET /api/v1/markets 响应 data 数组元素(热读包装,见 行情 — /markets

FieldTypeRequiredDescription
market_idnumberyes链上市场 ID
symbolstringyes交易对,如 BTC-USDT
price_decimalsnumberyes价格小数位
size_decimalsnumberyes数量小数位

做市商:本 schema 为读侧热读展示。交易接入请用 Chain getMarketsPOST /api/v1/query)——本路径为热读包装,见 做市商对接指南 §1.2

TxLocalResponse

GET /api/v1/tx/{hash}source == "local"

FieldTypeRequiredDescription
dataEnvelopeView + eventsyes见下
source"local"yes本地索引

dataEnvelopeView 全部字段基础上 额外 包含:

FieldTypeRequiredDescription
eventsEventView[]yes该 envelope 产生的全部 events

source == "node"data 为链节点 getTx 结构,不保证EnvelopeView 字段完全一致。


5. 账户历史 Schema

FillRecord

GET /api/v1/fills

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyesFilled event 序号
is_takerbooleanyes是否为 taker 侧
timestamp_msnumberyes区块时间戳(ms)
market_idnumberyes市场 ID
order_idnumberyes本参与者 order ID
accountstringyes本参与者地址
counterpartystringyes对手方地址
pricestringyes成交价
qtystringyes成交量
notionalstringyesprice × qty
feestringyes本参与者手续费
position_actionstringno开/平仓效果:open_long / open_short / close_long / close_short;无法判定时省略
realized_pnlstringno本笔成交 attributed 已实现盈亏(SCALE_6)
realized_pnl_pctstringno盈利率(百分比,两位小数,如 "1.64";开仓/加仓为 "0.00"
symbolstringnomarket cache 解析
envelope_idxnumberno源 event envelope 索引
tx_hashstringno源 event L2 tx hash
trigger_idnumberno触发单促成的成交关联的 trigger_id

每笔链上 Filled event 产生 2 行(taker + maker)。

derive worker 在同 envelope 内为每个 fill 关联 Exec::PositionUpdated(同 market_id、同 owner):优先 seq 在 fill 之后的最近一条,若无则取 之前 的最近一条(强平等场景 PositionUpdated 常先于 Filled)。关联成功后按仓位变化计算 position_actionopen_long / open_short / close_long / close_short)。

realized_pnl / realized_pnl_pct 来自匹配的 PositionUpdated.realized_pnl;盈利率按平仓 cost basis 计算(多仓 (realized / (notional - realized)) × 100;空仓 (realized / (notional + realized)) × 100);开仓/加仓时 realized_pnl_pct"0.00"。若无 PositionUpdated 但存在同 envelope 的 Liquidation::Liquidated(同 market_id、同 target),则取 total_realized_pnlposition_action 为 close 方向,realized_pnl_pct = "0.00"。均无匹配时 PnL 为 "0" / "0.00"position_action 省略。

变更:derive index v4 起以 position_action 取代 aggressor_side / position_old_size / position_new_size / is_close;需要 taker 方向请用 Chain getUserFills / WS userFills,需要持仓前后尺寸请用 GET /api/v1/positions

OrderRecord

GET /api/v1/orders历史委托(已关闭订单)。默认 status != open;未关闭挂单不在此接口,请通过链 RPC 查当前委托。显式 status=open 可单独查挂单(读侧索引用途,非产品主路径)。

FieldTypeRequiredDescription
order_idnumberyes链上 order ID
ownerstringyes订单 owner
market_idnumberyes市场 ID
sidestringyesBid / Ask
pricestringno限价(市价单可为 null/省略)
qtystringyes原始委托数量
filled_qtystringyes已成交量
avg_fill_pricestringno成交均价
statusstringyes见 OrderStatus
close_reasonstringno链上 DoneReason 等
placed_heightnumberyes下单区块高度
placed_at_msnumberyes下单时间(ms)
closed_heightnumberno终态区块高度
closed_at_msnumberno终态时间(ms);默认列表项必有(status != open
symbolstringnomarket cache 解析
placed_tx_hashstringno下单 L2 tx hash
closed_tx_hashstringno终态 L2 tx hash

derive 事件:OrderAccepted 建单;OrderResting 更新挂簿快照(改价/改量,刷新 price / qty / filled_qty,状态保持 open);Filled 累计成交量与均价;OrderDone 及 OCO/平仓等特殊 event 写终态。索引层仍物化 open 行,但 /orders 默认不返回。

FundFlowRecord

GET /api/v1/fund-flows

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyesBalanceChanged event 序号
timestamp_msnumberyes区块时间戳(ms)
accountstringyes账户地址
deltastringyes余额变动(可负)
new_balancestringyes变动后余额
reasonstringyes见 FundFlowReason
market_idnumberno部分 reason 带市场
envelope_idxnumberno源 event envelope 索引
tx_hashstringno源 event L2 tx hash

BridgeFlowRecord

GET /api/v1/bridge-flows

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyes源 bridge event 序号
timestamp_msnumberyes区块时间戳(ms)
event_typestringyes见 BridgeEventType
accountstringyes账户地址
amountstringyes金额
new_balancestringno变更后余额
deposit_seqnumberno充值序号
request_idnumberno提现 request ID
chain_idnumberno外链 chain ID
reason_codenumberno退款原因码
envelope_idxnumberno源 event envelope 索引
tx_hashstringnoL2 envelope tx hash
external_tx_hashstringnoL1 链上 tx hash

PositionHistoryRecord

GET /api/v1/positions

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyes源 position event 序号
timestamp_msnumberyes区块时间戳(ms)
ownerstringyes持仓 owner
market_idnumberyes市场 ID
event_typestringyes见 PositionEventType
old_sizestringno变动前仓位
new_sizestringno变动后仓位
new_entry_vwapstringno新 entry VWAP
realized_pnlstringno已实现 PnL
mark_pricestringno标记价格(强平等)
symbolstringnomarket cache 解析
envelope_idxnumberno源 event envelope 索引
tx_hashstringno源 event L2 tx hash

6. 推荐关系 Schema(Referral)

链事件源:Core::ReferrerRegisteredowner, code)、Core::ReferrerBoundowner, code)。 由 derive worker 写入 referral_event / referral_account / referral_code_index

ReferralSummary

GET /api/v1/referral?address=…

FieldTypeRequiredDescription
addressstringyes查询账户
referral_codestringno自有推荐码(未注册时省略)
referred_by_codestringno绑定的上级推荐码(未绑定时省略)
referrer_addressstringno上级码主地址(由 referred_by_code 解析)
n_referralsnumberyes绑定本账户推荐码的人数(链 getReferral.n_referrals
registered_heightnumberno注册推荐码区块高度
registered_at_msnumberno注册时间(ms)
bound_heightnumberno绑定推荐码区块高度
bound_at_msnumberno绑定时间(ms)

ReferralCodeView

GET /api/v1/referral?code=…

FieldTypeRequiredDescription
referral_codestringyes推荐码
ownerstringyes码主地址
n_referralsnumberyes邀请人数
last_bound_msnumberno最近一次被绑定时间(ms)

ReferralEventRecord

GET /api/v1/referral/events

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyes块内 event 序号
timestamp_msnumberyes区块时间(ms)
event_typestringyesReferrerRegistered | ReferrerBound
accountstringyesevent body owner
codestringyes推荐码
envelope_idxnumberno源 event envelope 索引
tx_hashstringno源 event L2 tx hash

ReferralReferee

GET /api/v1/referral/referees

FieldTypeRequiredDescription
addressstringyes被邀请账户
referred_by_codestringyes绑定的推荐码
bound_heightnumberyes绑定区块高度
bound_at_msnumberyes绑定时间(ms)
bound_tx_hashstringno绑定交易 hash

空结果: 使用 address 查询且该账户未注册 referral_code 时,HTTP 200data: []page.total: 0(不是 4xx/5xx)。

ReferralLeaderboardEntry

GET /api/v1/referral/leaderboard

FieldTypeRequiredDescription
ranknumberyes排名(1-based,随 offset 递增)
referral_codestringyes推荐码
ownerstringyes码主地址
n_referralsnumberyes邀请人数
last_bound_msnumberno最近绑定时间(ms)

7. 返佣 Schema(Rebate)

链事件源:Core::RebatePaidtrader, inviter, referral_code, total_amount, inviter_share, invitee_share)。 入账对应 Core::BalanceChanged{RebateToInviter/RebateToInvitee}(见 §5 FundFlowRecord.reason)。 由 derive worker 写入 rebate_event / rebate_account_stats

RebateSummary

GET /api/v1/rebate?address=…

FieldTypeRequiredDescription
addressstringyes查询账户
total_receivedstringyes累计已返佣(SCALE_6)
as_inviter_totalstringyes作为邀请者累计
as_invitee_totalstringyes作为交易者回分累计
event_countnumberyes参与返佣事件数
last_rebate_msnumberno最近一次返佣时间(ms)

RebateEventRecord

GET /api/v1/rebate/events

FieldTypeRequiredDescription
heightnumberyes区块高度
seqnumberyes块内 event 序号
timestamp_msnumberyes区块时间(ms)
traderstringyes产生 fee 的交易者
inviterstringyes邀请者
referral_codestringyes推荐码
total_amountstringyes返佣池总量
inviter_sharestringyes邀请者份额
invitee_sharestringyes交易者回分
rolestringyes查询账户角色:Inviter | Invitee
amountstringyes查询账户入账金额
envelope_idxnumberno源 event envelope 索引
tx_hashstringno源 event L2 tx hash

8. 账户累计统计 Schema(Account stats)

由 stats worker 从 derive 索引增量写入 account_trade_stats / account_pnl_stats / account_capital_stats(见 stats_agg_version)。

AccountStatsSummary

GET /api/v1/account-stats?account=…

FieldTypeRequiredDescription
accountstringyes查询账户
periodstringyesv1 固定 "all"
total_depositsstringyesDepositCredited 累计(SCALE_6)
total_withdrawalsstringyesWithdrawSettled 累计(SCALE_6)
net_depositsstringyes充值 − 提现申请 + 退款(ROI 分母)
total_volumestringyes账户成交额
trade_countnumberyes成交笔数
total_feesstringyes账户支付手续费
gross_profitstringyes已实现盈利(正 RealizedPnl 之和)
gross_lossstringyes已实现亏损(负 RealizedPnl 绝对值之和)
net_pnlstringyes净已实现盈亏;不含手续费
as_of_heightnumbernostats 截至高度
as_of_timestamp_msnumberno索引库最新区块时间(ms)
stalebooleannostats 滞后时为 true

8.5 Chain proxy Schema(链上实时只读)

ChainPosition

FieldTypeRequiredDescription
market_idnumberyes市场 ID
symbolstringyes交易对
sizestringyes仓位(signed decimal)
entry_vwapstringyes开仓均价
mark_pricestringyes标记价
margin_modestringyesCross / Isolated
leveragenumberyes杠杆
isolated_marginstringyes逐仓保证金
unrealized_pnlstringyes未实现盈亏
notionalstringyes名义值
liquidation_pricestringno强平价
margin_usedstringyes占用保证金
roestringnoROE

ChainAccountView

GET /api/v1/chain/account

FieldTypeRequiredDescription
addressstringyes账户地址
balancestringyes余额(SCALE_6)
noncenumberyesnonce
account_valuestringyes账户净值
total_margin_usedstringyes已用保证金
total_notionalstringyes总名义值
withdrawablestringyes展示用可提额
cross_cash_availablestringyes全仓 cash 可用
cross_trading_availablestringyes全仓交易可用
positionsChainPosition[]yes持仓列表(由链上 map 展开)

响应外层:{ "height": number, "data": ChainAccountView }

ChainOpenOrder

FieldTypeRequiredDescription
order_idnumberyes订单 ID
ownerstringyesowner
market_idnumberyes市场 ID
symbolstringyes交易对
sidestringyesBid / Ask
pricestringyes限价
qtystringyes原始数量
remainingstringyes剩余量
filledstringyes已成交量
tifstringyesTIF
reduce_onlybooleanyes仅减仓
client_order_idstringnocloid
placed_at_msnumberyes挂单时间
expires_at_msnumbernoGTD 过期
order_typestringyesLimit / Market

ChainOpenOrdersView

GET /api/v1/chain/open-orders

FieldTypeRequiredDescription
addressstringyes账户地址
ordersChainOpenOrder[]yes当前挂单

响应外层:{ "height": number, "data": ChainOpenOrdersView }


9. 排行榜 Schema

LeaderboardEntry

FieldTypeRequiredDescription
ranknumberyes排名(1-based)
accountstringyes账户地址
valuestringyes排行主指标
trade_countnumbernometric=volume
auxiliarystringnoROI 附带 PnL;balance/equity 附带余额等

LeaderboardMeta

FieldTypeRequiredDescription
metricstringyes请求的 metric
periodstringyes请求的 period
sourcestringyeslocalnode
as_of_heightnumberno数据截至高度
as_of_timestamp_msnumberno数据截至时间(ms)
stalebooleanyes热数据节点不可达时为 truefalse 时可能省略

LeaderboardResponse

{
"data": [ /* LeaderboardEntry[] */ ],
"meta": { /* LeaderboardMeta */ },
"page": { /* Page */ }
}

page.total 上限 500


10. K 线 Schema

:::info 与 §12 实时行情 Schema 的区别

  • §10(本节):K 线 Candle — OHLCV;SQLite + 内存当前根。
  • §12:实时行情 — 盘口 / 成交 / BBO / Mark;仅内存;见 实时行情

:::

CandleRecord(内部 / candle worker 内存态)

K 线 worker 内存中的开口 bucket;REST 响应通过 merge 转为 Candle。实时推送走 candles.{symbol}.{interval} 主题(见 WebSocket)。

FieldTypeRequiredDescription
market_idnumberyes市场 ID
interval_msnumberyesbucket 宽度(ms)
open_time_msnumberyesbucket 开盘时间
close_time_msnumberyesbucket 收盘时间
openstringyes开盘价
highstringyes最高价
lowstringyes最低价
closestringyes收盘价
volumestringyes成交量
tradesnumberyes成交笔数
symbolstringnomarket cache 解析

Candle(REST GET /api/v1/candlesPOST /info 响应)

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

FieldTypeRequiredDescription
tnumberyesbucket 开盘时间(ms)
Tnumberyesbucket 收盘时间(ms)
sstringyes市场 symbol
istringyesinterval 字符串
ostringyesopen
hstringyeshigh
lstringyeslow
cstringyesclose
vstringyesvolume
nnumberyestrades

11. WebSocket Schema(摘要)

统一协议(op / topics 订阅制)与完整帧见 统一 WebSocket · 实时行情 §6

BlocksLivePush(topic: "blocks.live"

FieldTypeRequiredDescription
topic"blocks.live"yes固定值
blockBlockHeaderyes新区块头(block.envelopes 为空)
envelopesEnvelopeView[]yes该块全部 envelope
watermarknumberyesingest watermark
block_countnumberyes区块总数
node_tipnumberno节点 tip
behindnumberno落后区块

需订阅 blocks.live 后才会推送(旧协议连接即推 block_ingested 已删除)。 与 K 线 / 行情主题 同一连接可并存

CandlesPush(topic: "candles.{symbol}.{interval}"

{ "topic": "candles.BTC-USDT.1h", "data": { /* Candle */ } }

BookPush / TradesPush / BboPush / MarksPush(行情主题)

统一主题帧(book.{symbol} / trades.{symbol} / bbo.{symbol} / marks)见 实时行情 §6.3统一 WebSocket


12. 实时行情 Schema

:::info 与 §10 K 线 Schema 的区别

  • §12(本节):实时盘口 / 成交 / BBO / Mark — 内存;未完成 seed 时 REST 503
  • §10:K 线 OHLCV — SQLite;就绪看 candle_watermark

:::

权威行为说明见 实时行情。以下为 REST / WS 字段契约。

HotReadResponse<T>

热读 REST 成功响应(metadata 扁平 于同一 JSON 对象):

FieldTypeRequiredDescription
chain_heightnumberyes热缓存链高度
book_updated_at_msnumberyes盘口最近更新时间(ms)
stalebooleanyes上游 stale;仍为 200
readybooleanyesFeed ready
dataTyes业务载荷

响应 Header(optional)X-Chain-Height · X-Book-Updated-At-Ms · X-Market-Data-Stale: true(当 stale)

OrderbookLevel

FieldTypeRequiredDescription
pricestringyes档位价格
qtystringyes档位数量
cumulative_qtystringno累计量;常为空字符串

OrderbookSnapshot

GET /api/v1/market/orderbook/{symbol}HotReadResponse.data

FieldTypeRequiredDescription
symbolstringyesZepto symbol
heightnumberyes关联链高度
state_hashstringyes链 state hash;无链关联时可为 ""
sourcestringyes内部来源字符串;不对调用方语义分流
bidsOrderbookLevel[]yes买盘,价降序
asksOrderbookLevel[]yes卖盘,价升序

每侧最多 50 档(部分市场服务端 cap 可能更低)。

RecentTrade

GET /api/v1/market/trades/{symbol}HotReadResponse.data 数组元素

FieldTypeRequiredDescription
block_heightnumberyes链区块高度;无链关联时可为 0
event_seqnumberyes链 event 序号
timestamp_msnumberyes成交时间(ms)
market_idnumberyesmarket ID
symbolstringyesZepto symbol
pricestringyes成交价
qtystringyes成交量
notionalstringyes名义值
sidestringyes"Bid" | "Ask"
hl_tidnumberno可选 trade id(dedup)

Ring cap 10_000 / market;REST 默认 limit=50,max 1000;排序 新→旧

BboItem

GET /api/v1/bbosHotReadResponse.data[]

FieldTypeRequiredDescription
symbolstringyesZepto symbol
bidstringno最优买价
askstringno最优卖价
spreadstringnoask − bid(可计算 omit)

MarksMap

GET /api/v1/marksHotReadResponse.data

JSON object:{ [symbol: string]: mark_price string }(BTreeMap 序列化,键按 symbol 排序)。

MarketSummary

GET /api/v1/markets/{symbol}/summaryHotReadResponse.data

FieldTypeRequiredDescription
symbolstringyesZepto symbol
mark_pricestringyes链 mark
best_bidstringnoorderbook 顶档
best_askstringnoorderbook 顶档
spreadstringno价差
open_intereststringnoOI
open_interest_notionalstringnoOI 名义值
fills_in_blocknumberno本块成交笔数
bid_levelsnumberyesbid 档数
ask_levelsnumberyesask 档数
open_ordersnumberyesresting 订单数
prev_day_pricestringno24h 前 mark
day_ntl_volumestringno24h 名义成交量
day_base_volumestringno24h 币本位成交量

WsBookLevel

FieldTypeRequiredDescription
pxstringyes价格
szstringyes数量
nnumberyes订单数(常为 1
cumulative_qtystringno可省略或 ""

WsL2BookData / WsL2BookPush

{ "channel": "l2Book", "data": { "coin": "BTC", "time": 0, "levels": [[/* bids */], [/* asks */]] } }

WsTrade / WsTradesPush

FieldTypeRequiredDescription
coinstringyesWS coin
sidestringyes"B" | "A"
pxstringyes价格
szstringyes数量
timenumberyesms
hashstringno常为 ""
tidnumberyestrade id
{ "channel": "trades", "data": [ /* WsTrade[] */ ] }

WsBboData / WsBboPush

data.bbo: [best_bid | null, best_ask | null],元素为 WsBookLevel

WsMarksData / WsMarksPush

FieldTypeRequiredDescription
heightnumberyes链高度
timestamp_msnumberyes更新时间
marksMarksMapyessymbol → mark

13. 端点 → Schema 映射

MethodPathSuccess HTTPResponse Schema
GET/health200HealthResponse
GET/api/v1/status200ExplorerStatus
GET/api/v1/blocks200Paged<BlockHeader>
GET/api/v1/blocks/{id}200 / 404DataOnly<BlockHeader>
GET/api/v1/blocks/{id}/events200 / 404Paged<EventView>
GET/api/v1/blocks/{id}/envelopes200 / 404DataOnly<EnvelopeView[]>
GET/api/v1/envelopes200Paged<EnvelopeView>
GET/api/v1/tx/{hash}200 / 404TxLocalResponse{ data: node, source: "node" }
GET/api/v1/markets200热读包装 { chain_height, book_updated_at_ms, stale, ready, data: MarketInfo[] }
GET/api/v1/chain/account200 / 400 / 502{ height, data: ChainAccountView }
GET/api/v1/chain/open-orders200 / 400 / 502{ height, data: ChainOpenOrdersView }
GET/api/v1/fills200Paged<FillRecord>
GET/api/v1/orders200Paged<OrderRecord>
GET/api/v1/fund-flows200Paged<FundFlowRecord>
GET/api/v1/bridge-flows200Paged<BridgeFlowRecord>
GET/api/v1/positions200Paged<PositionHistoryRecord>
GET/api/v1/account/events200Paged<EventView>
GET/api/v1/referral200 / 404DataOnly<ReferralSummary>DataOnly<ReferralCodeView>
GET/api/v1/referral/events200Paged<ReferralEventRecord>
GET/api/v1/referral/referees200Paged<ReferralReferee>
GET/api/v1/referral/leaderboard200Paged<ReferralLeaderboardEntry>
GET/api/v1/rebate200DataOnly<RebateSummary>
GET/api/v1/rebate/events200Paged<RebateEventRecord>
GET/api/v1/account-stats200DataOnly<AccountStatsSummary>
GET/api/v1/leaderboard200 / 400LeaderboardResponse
GET/api/v1/candles200 / 404Candle[]
POST/info200 / 400Candle[]candleSnapshot
GET/api/v1/market/orderbook/{symbol}200 / 404 / 503HotReadResponse<OrderbookSnapshot>
GET/api/v1/market/trades/{symbol}200 / 404 / 503HotReadResponse<RecentTrade[]>
GET/api/v1/bbos200 / 503HotReadResponse<BboItem[]>
GET/api/v1/marks200 / 503HotReadResponse<MarksMap>
GET/api/v1/markets/{symbol}/summary200 / 404 / 503HotReadResponse<MarketSummary>
GET/api/v1/ws101WebSocket,见 WebSocket

14. Query 参数速查(必填项)

PathRequired queryOptional query
/api/v1/fillsaccountmarket_id, from_block, to_block, offset, limit
/api/v1/ordersownermarket_id, status(默认排除 open), offset, limit
/api/v1/fund-flowsaccountreason, market_id, from_block, to_block, offset, limit
/api/v1/bridge-flowsaccountevent_type, from_block, to_block, offset, limit
/api/v1/positionsownermarket_id, event_type, from_block, to_block, offset, limit
/api/v1/account/eventsaccountkind, sub_kind, market_id, from_block, to_block, offset, limit
/api/v1/referraladdress code(二选一)
/api/v1/referral/eventsaccountevent_type, from_block, to_block, offset, limit
/api/v1/referral/refereescode address(二选一)offset, limit
/api/v1/referral/leaderboardoffset, limit
/api/v1/rebateaddress
/api/v1/rebate/eventsaccountroleInviter | Invitee,无效 → 400), from_block, to_block, offset, limit
/api/v1/account-statsaccount
/api/v1/chain/accountaddress
/api/v1/chain/open-ordersaddress
/api/v1/leaderboardmetricperiod, offset, limit
/api/v1/candlessymbolinterval, from, to, limit
/api/v1/market/orderbook/{symbol}depth
/api/v1/market/trades/{symbol}offset, limit
/api/v1/envelopessigner, action_kind, market_id, from_block, to_block, offset, limit

分页默认与上限见 分页契约


15. 对接清单

主题说明
总览做市接入 做市商对接指南(含 §1.2 重叠路径选型);签名 签名与鉴权
实时行情实时行情 — WS 主题 book.* / trades.* / bbo.* / marks
K 线§10 · K 线 — WS 主题 candles.{symbol}.{interval}
无认证所有接口公开只读;生产环境请自行加网关 / 限流
索引延迟statusderive_lag_blocks / stats_lag_blocks
实时行情 seedinghot_feed.* 均为 true 后再依赖实时 REST;否则 503
Chain proxy/api/v1/chain/account · /open-orders 透传链 RPC;写与 WS 仍走链读写
WebSocket 主题blocks.live · candles.* · book.* · trades.* · bbo.* · marks(统一 /api/v1/ws,订阅制)
版本当前无 URL 版本前缀变更策略;/api/v1/ 为稳定前缀