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 参考”Nexus 链的 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())