跳转到内容

Binance-compatible API

panshi.io 原生 API 是 /v1/*,但如果你已经有基于 Binance 的代码 / 框架 / 回测系统,直接把 fapi* URL 指到 panshi-sim,不改代码就能把模拟撮合接上。

  • https://api.panshi.io/fapi/* (推荐)
  • https://panshi.io/api/sim/binance/fapi/* (legacy 等价,不会下线)
MethodPathBinance 原义
GET/fapi/v1/ping连通性探测
GET/fapi/v1/time服务端时间
GET/fapi/v1/exchangeInfosymbols 元数据(panshi 支持的子集)
GET/fapi/v1/ticker/price最新价
GET/fapi/v1/ticker/24hr24h 行情
GET/fapi/v1/premiumIndexmark price + funding
GET/fapi/v1/klinesK 线(透传上游数据源)

签名(HMAC-SHA256 + X-MBX-APIKEY header)

Section titled “签名(HMAC-SHA256 + X-MBX-APIKEY header)”
MethodPathBinance 原义
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

不在 Binance,在 panshi.io 组合里生成:

  1. 登录 app.panshi.io → 目标组合详情页 → API Keys
  2. 新建 → 填写用途备注
  3. 系统返回 { api_key, api_secret }secret 只展示这一次,关闭即不可再查看
  4. 这对 key 绑定在组合维度:调用 /fapi/v2/account 返回的就是这个组合的持仓 / 余额
  • MARKET → 即时撮合,按 mark price 瞬时成交
  • LIMIT → 进挂单簿,被实时行情流匹配
  • reduceOnly=true → 映射 panshi 的 action='close',强制减仓方向
  • quantity 是 base-asset 数量(和 Binance 一致);服务端用 mark price 折算 size_usd
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

  • 不支持:币本位合约(COIN-M)、期权、现货
  • 不支持:listenKey / User Data Stream;实时推送走 panshi WebSocket
  • 部分罕用 endpoint 不兼容(如 POST /fapi/v1/batchOrders);如有需求欢迎提 Issue