跳到主要内容

API Key(自助管理)

状态:已上线。 可在网页端 app.rocky.exchange/keys 管理密钥,或直接调用下方接口。

GET /v1/api-keys · POST /v1/api-keys · DELETE /v1/api-keys/{id}

在钱包会话下创建、列出、吊销用于签名 /api/v3 和 /fapi 请求的 API key。网页端的 API Keys 页面就是这三个接口的薄封装。

鉴权:Authorization: Bearer <session_token>,来自 POST /v1/wallet/verify。key 属于会话对应的用户;浏览器为现货交易临时铸造的会话 key(spot-session:<party>)不会在这里列出,也不能在这里吊销。

规则

  • 新 key 一律在 standard 限流档位。做市商档位(ext-mm)由 Rocky 运维在 接入 时分配,不能自助获取。
  • 每个账户最多 10 把有效 key(超出返回 409)。
  • label 可选,最多 64 个字符,不能含控制字符。前缀 spot-session:、mm-、taker- 为保留前缀(400)。
  • key_type 为 HMAC(默认)或 ED25519。HMAC 的 secret 只在创建响应中返回一次。Ed25519 只存储你的公钥,你用自己生成的私钥签名。
  • key 的类型不能更改;请创建新 key 并吊销旧 key。

列表 — GET /v1/api-keys​

查询参数默认说明
include_revokedfalse为 true 时同时返回已吊销的 key,带 revoked_at。
{
"keys": [
{
"id": "8a0c1d2e-…",
"key": "3f9b…c2e1",
"label": "quoter-prod",
"key_type": "ED25519",
"rate_tier": "ext-mm",
"created_at": "2026-09-07T10:00:00Z",
"public_key": "6kpsY+KcUgq+9VB7Ey7F+ZVHdq6+vnuSQh7qaRRG0iw="
},
{
"id": "1b2c3d4e-…",
"key": "a71d…08ff",
"label": null,
"key_type": "HMAC",
"rate_tier": "standard",
"created_at": "2026-09-01T08:30:00Z"
}
]
}

key 就是放在 X-MBX-APIKEY 里的值。此接口永远不返回 HMAC 的 secret。

创建 — POST /v1/api-keys​

{ "label": "quoter-prod", "key_type": "HMAC" }
{ "label": "quoter-prod", "key_type": "ED25519", "public_key": "6kpsY+KcUgq+9VB7Ey7F+ZVHdq6+vnuSQh7qaRRG0iw=" }
字段必填说明
label否见上面的规则。
key_type否HMAC(默认)或 ED25519,不区分大小写。
public_keyED25519 时必填32 字节 Ed25519 验证公钥的 base64(标准或 URL-safe 均可),必须是合法的点。存储时重新编码为标准 base64。

响应 — 200(HMAC):key 对象加 secret

{
"id": "1b2c3d4e-…",
"key": "a71d…08ff",
"label": "quoter-prod",
"key_type": "HMAC",
"rate_tier": "standard",
"created_at": "2026-09-07T10:00:00Z",
"secret": "9c4e…77b0"
}

ED25519 的响应带 public_key,没有 secret。

HTTP原因
400label 不合法、key_type 未知、public_key 缺失或无效。
401会话缺失或已过期。
409已有 10 把有效 key。

吊销 — DELETE /v1/api-keys/{id}​

{ "id": "1b2c3d4e-…", "revoked_at": "2026-09-07T11:00:00Z" }

吊销立即生效:下一次用该 key 的签名请求返回 -2015。id 不属于你、已吊销或是会话 key 时返回 404。

两种 key 的签名方法见 鉴权,代码见 快速上手。