Binance-compatible API
panshi.io 原生 API 是 /v1/*,但如果你已经有基于 Binance 的代码 / 框架 / 回测系统,直接把 fapi* URL 指到 panshi-sim,不改代码就能把模拟撮合接上。
Base URL
Section titled “Base URL”https://api.panshi.io/fapi/*(推荐)https://panshi.io/api/sim/binance/fapi/*(legacy 等价,不会下线)
已支持的 endpoint
Section titled “已支持的 endpoint”公开(无需签名)
Section titled “公开(无需签名)”| Method | Path | Binance 原义 |
|---|---|---|
| GET | /fapi/v1/ping | 连通性探测 |
| GET | /fapi/v1/time | 服务端时间 |
| GET | /fapi/v1/exchangeInfo | symbols 元数据(panshi 支持的子集) |
| GET | /fapi/v1/ticker/price | 最新价 |
| GET | /fapi/v1/ticker/24hr | 24h 行情 |
| GET | /fapi/v1/premiumIndex | mark price + funding |
| GET | /fapi/v1/klines | K 线(透传上游数据源) |
签名(HMAC-SHA256 + X-MBX-APIKEY header)
Section titled “签名(HMAC-SHA256 + X-MBX-APIKEY header)”| Method | Path | Binance 原义 |
|---|---|---|
| GET | /fapi/v2/account | 账户 + 持仓摘要 |
| GET | /fapi/v2/positionRisk | 仓位风险明细 |
| GET | /fapi/v1/openOrders | 未成交订单 |
| GET | /fapi/v1/userTrades | 历史成交 |
| POST | /fapi/v1/order | 下单(MARKET / LIMIT) |
| DELETE | /fapi/v1/order | 撤单 |
| POST | /fapi/v1/leverage | 改杠杆 |
和 Binance 原版一致:
- Header:
X-MBX-APIKEY: <panshi_api_key> - 签名:
HMAC-SHA256(api_secret, <urlencoded-query-minus-signature>) → lowercase hex - 放哪:
GET/DELETE放 query;POST可放 body(application/x-www-form-urlencoded)或 query,两种都受 panshi 服务端兼容 timestamp必传;recvWindow容忍 ±60s
获取 api_key / api_secret
Section titled “获取 api_key / api_secret”不在 Binance,在 panshi.io 组合里生成:
- 登录 app.panshi.io → 目标组合详情页 → API Keys
- 新建 → 填写用途备注
- 系统返回
{ api_key, api_secret },secret 只展示这一次,关闭即不可再查看 - 这对 key 绑定在组合维度:调用
/fapi/v2/account返回的就是这个组合的持仓 / 余额
- MARKET → 即时撮合,按 mark price 瞬时成交
- LIMIT → 进挂单簿,被实时行情流匹配
- reduceOnly=true → 映射 panshi 的
action='close',强制减仓方向 - quantity 是 base-asset 数量(和 Binance 一致);服务端用 mark price 折算 size_usd
ccxt 示例
Section titled “ccxt 示例”import ccxt
ex = ccxt.binance({ 'apiKey': '<panshi_api_key>', 'secret': '<panshi_api_secret>', 'options': {'defaultType': 'future'}, 'urls': { 'api': { 'fapiPublic': 'https://api.panshi.io/fapi/v1', 'fapiPrivate': 'https://api.panshi.io/fapi/v1', 'fapiPrivateV2': 'https://api.panshi.io/fapi/v2', }, },})
print(ex.fetch_balance())order = ex.create_order('BTC/USDT:USDT', 'market', 'buy', 0.01)print(order)端到端已通过 ccxt 4.5 自动化回归:exchangeInfo → fetch_balance → market BUY → fetch_positions → fetch_my_trades → market SELL reduceOnly → limit create → fetch_open_orders → cancel_order。
与 Binance 的差异
Section titled “与 Binance 的差异”- 不支持:币本位合约(COIN-M)、期权、现货
- 不支持:
listenKey/ User Data Stream;实时推送走 panshi WebSocket - 部分罕用 endpoint 不兼容(如
POST /fapi/v1/batchOrders);如有需求欢迎提 Issue