更新日志
Rocky 永续合约 API 与 现货 API 的重大变更日志,最新在前。
2026-09-18
- Epoch 承诺(ADR-005): 交易所上的每个订单事件和每笔成交——含自营账户——现在都会在与事件同一个数据库事务里写入 append-only 日志,并每 60 秒一个 epoch 以
RockyEpochCommitment合约承诺到 Canton(日志的 Merkle 根加当期成交记录;prev_root成链;绝不跳过)。新增公开接口GET /v1/chain/status、/v1/chain/epochs、/v1/chain/epochs/{id}和/v1/chain/proof?seq=|ref_id=,返回任何人都能对照链上根验证的包含证明。见 Epoch 承诺。 - 流量透明:
GET /v1/traffic公布交易所按预算 lane 实测的 Canton 流量与免费额度的对比,GET /v1/traffic/mm是 Rocky 自营做市舰队据以自适应的单字状态;自营成交量现在有预算(约每天 2 万笔)而不再无上限。 - 净额结算: 同一对 party 之间的成交按对手方对归批,以一笔原子多腿 DvP 按资产净额交割(60 秒窗口,敞口小时自适应延长至最多 15 分钟;成交达 500 笔或敞口大时立即结算)。批内所有成交共享一个
cantonUpdateId;净为零的批次不产生账本交易即确认。见 链上结算。 - 结算通道: DvP 结算器现在以同一笔原子交易里的两笔 Token Standard 直接转账完成结算(rocky-clob-v8 0.6.0;主网实测每笔 DvP 14 KB,原 32 KB),receiver 缺少
directpreapproval 时回退到 allocate + execute;每条腿选最少的输入 holding,用一小组并发 worker(SPOT_CHAIN_WORKERS,默认 2)结算且绝不花同一个 holding,生产环境每 2 秒轮询一次。 - 市场:
ACC-USDCB下架(挂单已撤销退款,历史仍可查询)。活跃现货市场:CBTC-USX、CBTC-USDCB、CBTC-USDCX、CETH-USDCB、CETH-CBTC。
2026-09-02
- 现货 WebSocket 推送(Phase C): Binance 风格的行情流,位于
wss://api.rocky.exchange/ws/<stream>与/stream?streams=…——<symbol>@depth5|depth10|depth20(250 ms 快照)、<symbol>@trade、<symbol>@kline_1m、<symbol>@ticker(1 秒)。流名为小写且保留交易对中的连字符(cbtc-usdcb@trade)。治理:每连接 32 个流,每 IP 16 个连接(RATE_LIMIT_WS_CONNS_PER_IP,在 upgrade 阶段返回 HTTP 429),服务端 20 秒 ping,60 秒 pong 超时,非法流列表以关闭码 1008 并附可读原因拒绝。没有订阅/取消订阅协议、没有用户数据流、没有增量深度。见 WebSocket 行情推送、有限档深度信息、逐笔交易、K 线与 Ticker、增量深度信息(空缺)。 - 边缘: nginx 现在以 WebSocket upgrade header 和 300 秒读超时代理
/ws/与/stream;转发X-Real-IP,使按 IP 的连接上限以真实客户端为键。 - 文档: 新增 现货 API 章节——总览、基本信息(HMAC-SHA256 与 Ed25519 签名及参考向量、限流档位与权重、错误码、汇总的 与 Binance 的差异)、每一个
/api/v3端点、链上结算(DvP 模型、状态机、按updateId在 Canton 上验证、零手续费、minNotional、STP)、机构接入 与 集成包模板。
2026-08-31
- 链上现货结算(Phase A): 客户账户之间的每一笔现货成交现在都由
spot-chain-settlerworker 以两腿原子 DvP 的形式在 Canton 上交割(串行 FIFO、带退避的重试、终态failed/skipped审计行),按交易场所通过结算水位线启用。绑定到 Canton party 并完成 MemberAuth 的账户成为钱包出资账户:ledger.spot_balances作为钱包的镜像维护(30 秒对账,带钳制、撤单及缺口时冻结);该分段的内部 funding→spot 转账与托管提现被禁用;链上分段以零手续费结算;按交易对的minNotional(USD 计价市场:10)在下单时以-1013强制执行;新的网关门槛返回-2010 Account is frozen…与-2012 Complete wallet enrollment (MemberAuth) before trading.。自成交防护(撮合器跳过同账户挂单)已由回归测试固定并公开披露。见 链上结算。 - 现货 REST 新增(Phase B):
GET /api/v3/exchangeInfo(交易对、PRICE_FILTER/LOT_SIZE/NOTIONAL过滤器、实际执行的rateLimits)、GET /api/v3/ping、GET /api/v3/time。GET /api/v3/myTrades新增settlementStatus(pending|processing|retry|confirmed|failed|skipped|internal)与cantonUpdateId。见 交易规范信息、账户成交历史。 - 限流(Phase B): 所有
/api/v3/*与/fapi/*路由启用 Binance 形态的固定窗口限流器——按 key 的请求权重及 10 秒 / 1 分钟订单计数,按档位区分(standard1200/50/200,ext-mm2400/100/600,house6000/200/1200),按 IP 的公开权重 6000/分钟与鉴权前签名刹车 24000/分钟,响应 headerX-MBX-USED-WEIGHT-1M、X-MBX-ORDER-COUNT-10S、X-MBX-ORDER-COUNT-1M,拒绝时返回429 {"code":-1003}。没有 418 升级,也没有Retry-After。见 限流。 - API 密钥(Phase B): 新增
ED25519密钥类型——Rocky 只存储 base64 公钥,并对与 HMAC 相同的规范化载荷验证 base64 Ed25519 签名;mint_api_key --ed25519 --pubkey <b64>。auth.api_keys新增rate_tier列(默认standard;外部做市商为ext-mm;Rocky 自有集群为house,须在部署限流器前显式设置)。见 鉴权。 - FAPI: 永续合约接口面共用同一限流器、header、错误码与密钥类型;现有 HMAC 密钥不受影响。
2026-07-01
- 后端: 上线可变杠杆支持——实现
POST /fapi/v1/leverage(按用户+交易对设置偏好,1~100 倍),POST /v1/orders的leverage字段不再被静默限制为系统统一的 10 倍,GET /fapi/v2/positionRisk、GET /v1/positions/*返回真实的持仓杠杆。保证金计算(ledger.orders_open.leverage、ledger.positions.leverage)在开仓/加仓/反手时使用该笔订单实际选择的杠杆,在减仓/平仓时使用持仓自身已有的杠杆(而非平仓单填写的杠杆),详见 设置杠杆、下单、下单(Web v1)。 - 后端: 确认交易对列表本就只有 BTC-PERP/ETH-PERP/CC-PERP——
ledger.markets、symbol_map、撮合引擎、oracle-poller 中均未发现其他交易对。 - 后端: 上线积分(Points)与推荐返佣(Referral)的自动累积流水线(
services/api-gateway/src/accrual.rs)——每 5 秒从真实成交(ledger.trades)按文档中的档位表计算 Trading Points 与推荐佣金。GET /v1/referral/dashboard的total_referred_volume/active_referrals/pending_earnings/tier及POST /v1/referral/claim均已改为真实数据,不再是硬编码的 0。PnL Points、Holding Points、Staking Points 及赛季分配引擎仍未实现,具体状态见 积分总览 与 推荐总览。 - 后端:
ledger.trades新增is_maker字段(供累积流水线区分 maker/taker 费率)。 - 后端: 实现
GET /fapi/v1/openInterest(基于ledger.positions聚合),见 持仓量。 - Bot: 修复一起生产事故——
rocky-bot的 taker 循环因config.py的默认值意外覆盖了TakerLoop自身正确的默认值,实际下单频率超出设计值约 60 倍、单笔数量超出设计值 10~200 倍,导致撮合引擎的 NATS 订阅过载,BTC-PERP 订单簿与数据库失步长达 6 小时以上、完全无成交。同时修复了flatten-positions.sh/funnel-auto-reset.sh提交时未带可执行权限,导致生产环境定期清仓任务静默失败的问题。 - 文档: 用户账户 API 与 CC 充值流程 标注为描述已被替代的
mtc-exchange时代架构(邮箱密码登录、已不存在的 BFF),并补充了当前实际使用的钱包鉴权与充值接口说明。MTC 挖矿奖励 标注为未实现并说明原因。Bot 文档(下单数量、风控上限、交易对数量)已与 bot 实际的(刻意放大过的)配置对齐。
2026-05-26
- 文档: 重构 API 参考结构,对齐行业通用永续合约分类。每个端点都有对应页面;未支持的标 空缺。
- 后端:
apply.rs引入LEVERAGE_V1=10常量,关闭长期的 margin-leak 类 bug。
2026-05-25
- FAPI: 首版上线。HMAC-SHA256 签名、
X-MBX-APIKEYheader、recvWindow 上限 60s。订单 CRUD + openOrders +/fapi/v2/balance+/fapi/v2/positionRisk。 - 行情:
GET /v1/markets/{symbol}/{ticker,orderbook,recent-trades,candles,funding-rate}与GET /fapi/v1/{exchangeInfo,ticker/price}。
2026-05-22
- Web v1: 历史成交相关接口(
/v1/{positions,orders,trades,fees,funding}/me)。 - Web v1:
POST /v1/orders、DELETE /v1/orders/{order_id}用于浏览器端下单。
2026-05-19
- Web v1: CC 提现流程(
POST /v1/withdrawals、GET /v1/withdrawals/{wid})。 - 开发工具:
POST /v1/deposits/seed、POST /v1/funding/tick(仅 devnet)。