Bitnxs API 参考
API key
Section titled “API key”Info 查询
Section titled “Info 查询”止盈止损触发单
Section titled “止盈止损触发单”TypeScript SDK
Section titled “TypeScript SDK”Bitnxs API 参考
Section titled “Bitnxs API 参考”Bitnxs Chain 的 HTTP / WebSocket 接口。Session 由主钱包直接签名,或——程序化交易场景下——由 API key(从主钱包一次性签名派生出的委托签名凭据)签名。不使用 Bearer token、共享密钥或 HMAC。Web 前端、程序化做市机器人、indexer、管理工具共用同一套接口。
Base URL: https://api.bitnxs.com · WebSocket: wss://api.bitnxs.com/ws
- 在 Web UI 连接钱包(MetaMask 或任意 EIP-1193 钱包)以拿到链上地址(0xABC)。
- 打开「更多 → API Keys」页面创建一把 API key,把弹窗里只显示一次的值复制下来。
- 开 session:POST /session/start → 用 API key 签 challenge → POST /session/complete → 拿到 sessionId。
- 后续所有交易接口(下单、改单、撤单、调杠杆、TP/SL)都带上 sessionId。
最小 Python 流程
Section titled “最小 Python 流程”import requestsfrom eth_account import Accountfrom eth_utils import keccak
USER = "0xABC..." # 主钱包地址 — session 绑到这个地址API_KEY = "0x..." # API key(「更多 → API Keys」弹窗只显示一次)BASE = "https://api.bitnxs.com"
# 1. 开 sessionchal = requests.post(f"{BASE}/session/start", json={"user": USER}).json()
# 2. 用 API key 签 challenge(裸 keccak,**不能用** EIP-191 / personal_sign)sig = Account.unsafe_sign_hash( keccak(chal["challenge"].encode()), private_key=API_KEY,)
ses = requests.post(f"{BASE}/session/complete", json={ "challengeId": chal["challengeId"], "signature": {"r": hex(sig.r), "s": hex(sig.s), "v": sig.v - 27},}).json()SESSION_ID = ses["sessionId"]
# 3. 下一笔限价单print(requests.post(f"{BASE}/session/order", json={ "sessionId": SESSION_ID, "asset": 1, "isBuy": True, "limitPx": "65000.00", "sz": "0.01", "reduceOnly": False, "orderType": {"type": "limit", "tif": "Gtc"},}).json())