跳到主要内容

快速开始

这一页带你完整跑通第一个 Rocky FAPI 调用。

1. 取得 API key

API key 由 gateway 的 mint_api_key 管理 binary 生成,hash 存入 auth.api_keys。开发环境下找管理员,或直接运行 bash rocky-bot/scripts/mint-30.sh 一次性 mint 30 个漏斗账户。

你会拿到:

  • API_KEY — 公开标识
  • API_SECRET — HMAC 签名用;永不入日志 / 不上线

2. 给请求签名

每个签名接口都需要 X-MBX-APIKEY + timestamp + signature

import hashlib, hmac, time, urllib.parse, requests

API_KEY = "your_key"
API_SECRET = "your_secret"
BASE = "https://demo.rocky.exchange"

params = {
"timestamp": int(time.time() * 1000),
"recvWindow": 5000,
}
canonical = urllib.parse.urlencode(params)
sig = hmac.new(API_SECRET.encode(), canonical.encode(), hashlib.sha256).hexdigest()

r = requests.get(
f"{BASE}/fapi/v2/balance?{canonical}&signature={sig}",
headers={"X-MBX-APIKEY": API_KEY},
)
print(r.status_code, r.json())

时间正确、secret 对、key 活着的话,应该看到 200 加你的余额。

3. 创建第一个订单

params = {
"symbol": "BTCUSDT",
"side": "BUY",
"type": "LIMIT",
"quantity": "0.001",
"price": "76500.00",
"timestamp": int(time.time() * 1000),
}
canonical = urllib.parse.urlencode(params)
sig = hmac.new(API_SECRET.encode(), canonical.encode(), hashlib.sha256).hexdigest()

r = requests.post(
f"{BASE}/fapi/v1/order?{canonical}&signature={sig}",
headers={"X-MBX-APIKEY": API_KEY},
)
print(r.status_code, r.json())

4. 常见错误

  • -1021 timestamp outside recvWindow — 时钟漂了,修 NTP。
  • -1022 signature not valid — secret 错,或签名 / 上线时的参数顺序不一致。
  • -2010 insufficient balance — 可用余额 < 所需保证金。devnet 上可走 POST /v1/deposits/seed 充值。
  • -2015 invalid API-key — key 已吊销或从未存在。

完整错误码表见 错误码