活用例
Bitnxs AI エージェントを使う最も簡単な方法は、アプリ内チャットに自然言語で依頼することです。自動化したい場合は、外部ボット(自作、または Claude や ChatGPT などの AI が作成したもの)から https://api.bitnxs.com の Bitnxs API を呼び出します。以下のプロンプトはアプリ内エージェントが実際にできることに、Python は実際の API に合わせています。
アプリ内エージェント用プロンプト
Section titled “アプリ内エージェント用プロンプト”明確な相場判断を得る
今 BTC は買い? 売り? 方向を明確に、エントリーと失効位も教えて口座を確認する
現在のポジションと最良気配は?指値注文を 1 件出す
先程の判断に従って 65000 で 0.01 BTC 買ってラダー注文(1 回のバッチで最大 20 件)
BTC に指値買いを 3 件:64000 で 0.01、63000 で 0.01、62000 で 0.02。内蔵スタイルを使う(「保守的」クイック指示、アプリ原文)
これから「保守的」なスタイルで取引してください:- BTC のみ取引する- 1 ポジションあたりウォレット残高の最大 15% まで- 同時に保有するポジションは最大 1 件- レバレッジは現在の設定のまま、変更しないチャンスを見つけたら、まず理由を説明し、注文前に私の確認を待ってください。Python:自作エージェント・ボット
Section titled “Python:自作エージェント・ボット”以下はドキュメント化された API(認証、エンドポイント一覧)を使います。pip install requests eth-account eth-utils を実行し、BITNXS_USER(メインウォレットのアドレス)と BITNXS_API_KEY(権限を絞った API キー)を環境変数に設定してください。
import os, requestsfrom eth_account import Accountfrom eth_utils import keccak
BASE = "https://api.bitnxs.com"USER = os.environ["BITNXS_USER"] # main wallet addressAPI_KEY = os.environ["BITNXS_API_KEY"] # never hard-code or paste into a prompt
def info(body): return requests.post(f"{BASE}/info", json=body).json()
def open_session(): chal = requests.post(f"{BASE}/session/start", json={"user": USER}).json() sig = Account.unsafe_sign_hash(keccak(chal["challenge"].encode()), private_key=API_KEY) return requests.post(f"{BASE}/session/complete", json={ "challengeId": chal["challengeId"], "signature": {"r": hex(sig.r), "s": hex(sig.s), "v": sig.v - 27}, }).json()["sessionId"]
meta = info({"type": "meta"}) # asset ids, decimals, max leverage定時エントリー:1 時間ごとに指値買い
Section titled “定時エントリー:1 時間ごとに指値買い”import timeSID = open_session() # refresh before the 1-hour session TTLBTC = 1 # numeric asset id from meta
for i in range(3): r = requests.post(f"{BASE}/session/order", json={ "sessionId": SID, "requestId": int(time.time() * 1000), # idempotency key "asset": BTC, "isBuy": True, "limitPx": "65000", "sz": "0.001", "reduceOnly": False, "orderType": {"type": "limit", "tif": "Gtc"}, }).json() print(r) time.sleep(3600)ロングポジションの TP/SL 管理
Section titled “ロングポジションの TP/SL 管理”set_triggers 権限が必要です。オラクル価格が triggerPx を越えると、トリガーは reduce-only の成行注文として発動します(ルール)。TP と SL は別々に呼び出します。
for is_tp, px in [(True, "72000"), (False, "61000")]: print(requests.post(f"{BASE}/session/trigger", json={ "sessionId": SID, "asset": BTC, "isTp": is_tp, "triggerPx": px, "sz": "0.001", "positionSide": 1, # 1 = long, -1 = short }).json())シンプルな戦略ループ:判断は LLM、上限はあなた
Section titled “シンプルな戦略ループ:判断は LLM、上限はあなた”Claude、ChatGPT などの LLM でエージェントを作る際の安全なパターン:
info({"type": "clearinghouseState", "user": USER})とinfo({"type": "allMids"})で状態を取得。- 状態を LLM に渡し、JSON の判断(
long/short/wait、価格、数量)を求める。 - 送信前にコードで検証:最大数量、1 時間あたりの最大注文数、許可マーケット、価格がミッド付近の範囲内か。
- 指値注文を出し、TP と SL のトリガーを付ける。
- すべて記録し、エラーが続いたら停止する。