콘텐츠로 이동
거래하기

Bitnxs API 레퍼런스

Nexus 체인의 HTTP 및 WebSocket 인터페이스입니다. 세션은 메인 지갑으로 직접 서명하거나, 프로그래매틱 트레이딩의 경우 API key(메인 지갑의 일회성 서명으로 파생되는 위임 서명 자격증명)로 서명할 수 있습니다. Bearer 토큰, 공유 시크릿, HMAC은 사용하지 않습니다. 동일한 인터페이스가 웹 UI, 프로그래매틱 트레이딩 봇, 인덱서, 관리 도구를 모두 지원합니다.

Base URL: https://api.bitnxs.com · WebSocket: wss://api.bitnxs.com/ws

  1. 웹 UI에서 지갑(MetaMask 또는 모든 EIP-1193 프로바이더)을 연결하여 온체인 주소(0xABC)를 가져옵니다.
  2. “More → API Keys” 페이지에서 API key를 발급하고 모달에 한 번만 표시되는 값을 복사합니다.
  3. 세션을 엽니다: POST /session/start → 반환된 challenge에 서명 → POST /session/complete → sessionId 수신.
  4. sessionId를 사용해 주문, 취소, 레버리지 변경, TP/SL 트리거를 전송합니다.
import requests
from eth_account import Account
from eth_utils import keccak
USER = "0xABC..." # MAIN wallet address — the session is bound to this
API_KEY = "0x..." # API key from "More → API Keys" (shown once)
BASE = "https://api.bitnxs.com"
# 1. Open session
chal = requests.post(f"{BASE}/session/start", json={"user": USER}).json()
# 2. Sign challenge with the API key (raw keccak, NOT 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. Submit a limit order
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())