集成包模板
状态:已实现。 这是 Rocky 为每个机构参与者填写的模板。方括号中的值由 Rocky 运营为贵公司填写;其余内容按原文适用。
1. 环境
| 沙盒 | 生产 | |
|---|---|---|
| REST base URL | https://[sandbox-api-host] | https://api.rocky.exchange |
| WebSocket base URL | wss://[sandbox-api-host] | wss://api.rocky.exchange |
| Canton 网络 | 测试网络([sandbox synchronizer id]) | Canton 主网 |
cantonUpdateId 的浏览器 | [sandbox scan URL] | [production scan URL] |
| Rocky 托管 party(与自有流动性成交时的对手方) | [sandbox custody party] | [production custody party] |
| 你绑定的 party | [your sandbox party] | [your production party] |
| 你的 API key id | [sandbox key] | [production key] |
| 密钥类型 | ED25519(默认)/ HMAC | ED25519(默认)/ HMAC |
| 限流档位 | ext-mm | ext-mm |
| 登记的出口 IP(仅用于监控;不豁免 IP 桶) | [list] | [list] |
两个环境的路径完全相同:REST 为 /api/v3/*,WebSocket 为 /ws/<stream> 与 /stream?streams=…。见 基本信息 与 WebSocket 行情推送。
与 Binance 不同且第一天就要注意的请求规范:所有参数——GET、POST、DELETE 均如此——都放在 query string 中,signature 最后;交易对为 CBTC-USDCB 形式;流名保留连字符(cbtc-usdcb@trade);orderId 与成交 id 为 UUID 字符串。完整清单:与 Binance 的差异。
2. 密钥登记
- 生成 Ed25519 密钥对(见 机构接入 §3)。
- 把 base64 公钥发送到
[secure channel]。 - 通过
[second channel]向 Rocky 复述公钥的 SHA-256 指纹;Rocky 再向你复述一遍。 - Rocky 登记密钥并回复 API key id 及其有效的环境。沙盒与生产密钥各自独立。
- 先用 参考向量 验证,再用签名的
GET /api/v3/account验证。
轮换与吊销:通过 [secure channel] 提出请求;吊销立即生效,轮换安排在你指定的时间。绝不要把私钥或 seed 发给 Rocky;Rocky 也绝不会索要。
3. 你所在档位的限流
| 桶 | ext-mm 上限 | Header |
|---|---|---|
| 请求权重 | 2400 / 分钟 | X-MBX-USED-WEIGHT-1M |
| 订单数 | 100 / 10 秒 | X-MBX-ORDER-COUNT-10S |
| 订单数 | 600 / 分钟 | X-MBX-ORDER-COUNT-1M |
| 公开行情(按 IP) | 6000 权重 / 分钟 | X-MBX-USED-WEIGHT-1M |
| 签名鉴权前刹车(按 IP) | 24000 权重 / 分钟 | — |
| WebSocket 连接数(按 IP) | 16 个并发 | — |
权重:exchangeInfo / allOrders / myTrades = 10;depth / klines / trades / ticker/24hr = 5;其余全部 = 1。撤单不计入订单数。超限时:429 {"code":-1003};没有 418,也没有 Retry-After——请退避到下一个固定窗口。详情:限流。如果你的实测用量需要,可以协商更高的上限。
4. 支持与事件报告
| 集成支持渠道 | [shared channel / mailbox] |
| 事件升级(结算与交易中断 24×7) | [phone / pager address] |
| Rocky 运营联系人 | [name, role] |
| 你的技术联系人 | [name, role] |
| 你的商务联系人 | [name, role] |
事件报告格式 —— 每个事件向支持渠道发送一条消息,包含以下字段;这能让 Rocky 立即与网关和结算日志进行关联:
Subject: [SEV1|SEV2|SEV3] <one-line summary>
Environment: sandbox | production
Detected at: <UTC timestamp>
API key id: <id> (never the secret or seed)
Party: <party id>
Endpoint/stream: <e.g. POST /api/v3/order, cbtc-usdcb@depth5>
Symbols: <list>
Symptom: <HTTP status + {code,msg} body, close code + reason, or observed behaviour>
Identifiers: <orderId(s), trade id(s), cantonUpdateId(s)>
Sample request: <method, path, query with signature redacted>
Frequency: <once | intermittent (rate) | continuous since <time>>
Impact: <e.g. cannot cancel quotes; fills stuck pending > 10 min>
Your actions: <what you have already tried>
严重级别指南:SEV1 —— 无法撤单或下单,或结算 failed/卡住超过 10 分钟且存在未平敞口;SEV2 —— 降级(延迟升高、间歇性 429/500、流缺口);SEV3 —— 咨询、文档、非紧急差异。
对于结算差异,请务必附上 cantonUpdateId 与 trade id;Rocky 依据账本而非 API 响应进行对账。
5. 服务等级与维护
- 可用性按尽力而为提供;现阶段沙盒与生产 API 均无合同层面的正常运行时间保证。Rocky 对结算失败、镜像漂移和卡住的结算进行监控,并全天候响应 SEV1 事件。
- 计划维护(网关、撮合引擎或结算部署)会在
[maintenance notice channel]上至少提前[notice period]公告,并说明预期影响(例如「WebSocket 重连」、「下单暂停 N 分钟」)。只允许撤单的时段也以同样方式公告。 - 非计划事件及其处理结果发布在同一渠道;SEV1 事件会随后提供事后总结。
- 结算是异步且乐观的;适用的风险披露见 链上结算。约束成交与交割之间敞口的信用条款在另行签署的协议中。