mcpField
D
derivatives-trading-usds-futures

derivatives-trading-usds-futures

github.com/binanceその他1.1k2.3k 回インストール3 日前に更新
リポジトリ

derivatives-trading-usds-futures について

Binance USDⓈ-M Futures APIを扱うエージェント向けのスキルです。市場データ、口座情報、ポジション、注文操作に対応し、結果をJSONで返します。

主な機能

  1. 01先物市場データの取得
  2. 02口座・残高・ポジションの確認
  3. 03注文の作成・変更・キャンセル
  4. 04証拠金とポジションモードの管理
  5. 05資金調達率と取引履歴の取得

活用シーン

  1. 01先物口座とポジションの確認
  2. 02価格データを使った先物市場の分析
  3. 03先物注文の発注や管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/binance/binance-skills-hub --skill derivatives-trading-usds-futures

インストール後、Claude Code で/derivatives-trading-usds-futuresを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
LICENSE.md
references/
authentication.md

詳細

Binance デリバティブ取引(USDS 先物)スキル

認証済み API エンドポイントを使用して、Binance でデリバティブ取引(USDS 先物)をリクエストします。一部のエンドポイントでは API キーとシークレットキーが必要です。結果は JSON 形式で返します。

クイックリファレンス

エンドポイント説明必須任意認証
/fapi/v1/accountConfig (GET)先物アカウント設定(USER_DATA)NonerecvWindowYes
/fapi/v2/account (GET)アカウント情報 V2(USER_DATA)NonerecvWindowYes
/fapi/v3/account (GET)アカウント情報 V3(USER_DATA)NonerecvWindowYes
/fapi/v2/balance (GET)先物アカウント残高 V2(USER_DATA)NonerecvWindowYes
/fapi/v3/balance (GET)先物アカウント残高 V3(USER_DATA)NonerecvWindowYes
/fapi/v1/apiTradingStatus (GET)先物取引の定量ルール指標(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v1/feeBurn (GET)BNB バーン状況を取得(USER_DATA)NonerecvWindowYes
/fapi/v1/feeBurn (POST)先物取引での BNB バーンを切り替え(TRADE)feeBurnrecvWindowYes
/fapi/v1/multiAssetsMargin (GET)現在のマルチアセットモードを取得(USER_DATA)NonerecvWindowYes
/fapi/v1/multiAssetsMargin (POST)マルチアセットモードを変更(TRADE)multiAssetsMarginrecvWindowYes
/fapi/v1/positionSide/dual (GET)現在のポジションモードを取得(USER_DATA)NonerecvWindowYes
/fapi/v1/positionSide/dual (POST)ポジションモードを変更(TRADE)dualSidePositionrecvWindowYes
/fapi/v1/order/asyn (GET)先物注文履歴のダウンロード ID を取得(USER_DATA)startTime, endTimerecvWindowYes
/fapi/v1/trade/asyn (GET)先物取引履歴のダウンロード ID を取得(USER_DATA)startTime, endTimerecvWindowYes
/fapi/v1/income/asyn (GET)先物取引履歴のダウンロード ID を取得(USER_DATA)startTime, endTimerecvWindowYes
/fapi/v1/order/asyn/id (GET)ID による先物注文履歴のダウンロードリンクを取得(USER_DATA)downloadIdrecvWindowYes
/fapi/v1/trade/asyn/id (GET)ID による先物取引履歴のダウンロードリンクを取得(USER_DATA)downloadIdrecvWindowYes
/fapi/v1/income/asyn/id (GET)ID による先物取引履歴のダウンロードリンクを取得(USER_DATA)downloadIdrecvWindowYes
/fapi/v1/income (GET)収入履歴を取得(USER_DATA)Nonesymbol, incomeType, startTime, endTime, page, limit, recvWindowYes
/fapi/v1/leverageBracket (GET)想定元本とレバレッジの段階を取得(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v1/rateLimit/order (GET)ユーザーのレート制限を照会(USER_DATA)NonerecvWindowYes
/fapi/v1/symbolConfig (GET)シンボル設定(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v1/commissionRate (GET)ユーザーの手数料率(USER_DATA)symbolrecvWindowYes
/fapi/v1/convert/acceptQuote (POST)提示された見積もりを承認(USER_DATA)quoteIdrecvWindowYes
/fapi/v1/convert/exchangeInfo (GET)すべての交換ペアを一覧表示NonefromAsset, toAssetNo
/fapi/v1/convert/orderStatus (GET)注文状況(USER_DATA)NoneorderId, quoteIdYes
/fapi/v1/convert/getQuote (POST)見積もりリクエストを送信(USER_DATA)fromAsset, toAssetfromAmount, toAmount, validTime, recvWindowYes
/fapi/v1/ticker/24hr (GET)24 時間のティッカー価格変動統計NonesymbolNo
/fapi/v1/symbolAdlRisk (GET)ADL リスクNonesymbolNo
/futures/data/basis (GET)ベーシスpair, contractType, period, limitstartTime, endTimeNo
/fapi/v1/time (GET)サーバー時刻を確認NoneNoneNo
/fapi/v1/indexInfo (GET)複合インデックスのシンボル情報NonesymbolNo
/fapi/v1/aggTrades (GET)圧縮/集約取引一覧symbolfromId, startTime, endTime, limitNo
/fapi/v1/continuousKlines (GET)継続契約の Kline/ローソク足データpair, contractType, intervalstartTime, endTime, limitNo
/futures/data/delivery-price (GET)四半期契約の決済価格pairNoneNo
/fapi/v1/exchangeInfo (GET)取引所情報NoneNoneNo
/fapi/v1/fundingRate (GET)資金調達率の履歴を取得Nonesymbol, startTime, endTime, limitNo
/fapi/v1/fundingInfo (GET)資金調達率情報を取得NoneNoneNo
/fapi/v1/constituents (GET)インデックス価格の構成銘柄を照会symbolNoneNo
/fapi/v1/indexPriceKlines (GET)インデックス価格の Kline/ローソク足データpair, intervalstartTime, endTime, limitNo
/fapi/v1/insuranceBalance (GET)保険基金残高のスナップショットを照会NonesymbolNo
/fapi/v1/klines (GET)Kline/ローソク足データsymbol, intervalstartTime, endTime, limitNo
/futures/data/globalLongShortAccountRatio (GET)ロング/ショート比率symbol, periodlimit, startTime, endTimeNo
/fapi/v1/markPriceKlines (GET)マーク価格の Kline/ローソク足データsymbol, intervalstartTime, endTime, limitNo
/fapi/v1/premiumIndex (GET)マーク価格NonesymbolNo
/fapi/v1/assetIndex (GET)マルチアセットモードの資産インデックスNonesymbolNo
/fapi/v1/historicalTrades (GET)過去の取引を検索(MARKET_DATA)symbollimit, fromIdNo
/futures/data/openInterestHist (GET)未決済建玉の統計symbol, periodlimit, startTime, endTimeNo
/fapi/v1/openInterest (GET)未決済建玉symbolNoneNo
/fapi/v1/rpiDepth (GET)RPI 注文板symbollimitNo
/fapi/v1/depth (GET)注文板symbollimitNo
/fapi/v1/premiumIndexKlines (GET)プレミアムインデックスの Kline データsymbol, intervalstartTime, endTime, limitNo
/fapi/v1/trades (GET)最近の取引一覧symbollimitNo
/fapi/v1/ticker/bookTicker (GET)シンボルの注文板ティッカーNonesymbolNo
/fapi/v2/ticker/price (GET)シンボル価格ティッカー V2NonesymbolNo
/fapi/v1/ticker/price (GET)シンボル価格ティッカーNonesymbolNo
/futures/data/takerlongshortRatio (GET)テイカーの買い/売り数量symbol, periodlimit, startTime, endTimeNo
/fapi/v1/ping (GET)接続をテストNoneNoneNo
/futures/data/topLongShortAccountRatio (GET)トップトレーダーのロング/ショート比率(アカウント)symbol, periodlimit, startTime, endTimeNo
/futures/data/topLongShortPositionRatio (GET)トップトレーダーのロング/ショート比率(ポジション)symbol, periodlimit, startTime, endTimeNo
/fapi/v1/tradingSchedule (GET)取引スケジュールNoneNoneNo
/fapi/v1/pmAccountInfo (GET)従来型ポートフォリオマージンアカウント情報(USER_DATA)assetrecvWindowYes
/fapi/v1/userTrades (GET)アカウント取引一覧(USER_DATA)symbolorderId, startTime, endTime, fromId, limit, recvWindowYes
/fapi/v1/allOrders (GET)すべての注文(USER_DATA)symbolorderId, startTime, endTime, limit, recvWindowYes
/fapi/v1/countdownCancelAll (POST)すべての未決済注文を自動キャンセル(TRADE)symbol, countdownTimerecvWindowYes
/fapi/v1/algoOrder (DELETE)アルゴ注文をキャンセル(TRADE)NonealgoId, clientAlgoId, recvWindowYes
/fapi/v1/algoOrder (POST)新しいアルゴ注文(TRADE)algoType, symbol, side, typepositionSide, timeInForce, quantity, price, triggerPrice, workingType, priceMatch, closePosition, priceProtect, reduceOnly, activatePrice, callbackRate, clientAlgoId, newOrderRespType, selfTradePreventionMode, goodTillDate, recvWindowYes
/fapi/v1/algoOrder (GET)アルゴ注文を照会(USER_DATA)NonealgoId, clientAlgoId, recvWindowYes
/fapi/v1/algoOpenOrders (DELETE)すべての未決済アルゴ注文をキャンセル(TRADE)symbolrecvWindowYes
/fapi/v1/allOpenOrders (DELETE)すべての未決済注文をキャンセル(TRADE)symbolrecvWindowYes
/fapi/v1/batchOrders (DELETE)複数の注文をキャンセル(TRADE)symbolorderIdList, origClientOrderIdList, recvWindowYes
/fapi/v1/batchOrders (PUT)複数の注文を変更(TRADE)batchOrdersrecvWindowYes
/fapi/v1/batchOrders (POST)複数の注文を発注(TRADE)batchOrdersrecvWindowYes
/fapi/v1/order (DELETE)注文をキャンセル(TRADE)symbolorderId, origClientOrderId, recvWindowYes
/fapi/v1/order (PUT)注文を変更(TRADE)symbol, side, quantity, priceorderId, origClientOrderId, priceMatch, recvWindowYes
/fapi/v1/order (POST)新規注文(TRADE)symbol, side, typepositionSide, timeInForce, quantity, reduceOnly, price, newClientOrderId, newOrderRespType, priceMatch, selfTradePreventionMode, goodTillDate, recvWindowYes
/fapi/v1/order (GET)注文を照会(USER_DATA)symbolorderId, origClientOrderId, recvWindowYes
/fapi/v1/leverage (POST)初期レバレッジを変更(TRADE)symbol, leveragerecvWindowYes
/fapi/v1/marginType (POST)マージンタイプを変更(TRADE)symbol, marginTyperecvWindowYes
/fapi/v1/openAlgoOrders (GET)現在のすべての未決済アルゴ注文(USER_DATA)NonealgoType, symbol, algoId, recvWindowYes
/fapi/v1/openOrders (GET)現在のすべての未決済注文(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v1/orderAmendment (GET)注文変更履歴を取得(USER_DATA)symbolorderId, origClientOrderId, startTime, endTime, limit, recvWindowYes
/fapi/v1/positionMargin/history (GET)ポジションマージン変更履歴を取得(TRADE)symboltype, startTime, endTime, limit, recvWindowYes
/fapi/v1/positionMargin (POST)分離ポジションのマージンを変更(TRADE)symbol, amount, typepositionSide, recvWindowYes
/fapi/v1/order/test (POST)注文をテスト(TRADE)symbol, side, typepositionSide, timeInForce, quantity, reduceOnly, price, newClientOrderId, stopPrice, closePosition, activationPrice, callbackRate, workingType, priceProtect, newOrderRespType, priceMatch, selfTradePreventionMode, goodTillDate, recvWindowYes
/fapi/v1/adlQuantile (GET)ポジション ADL 分位推定(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v2/positionRisk (GET)ポジション情報 V2(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v3/positionRisk (GET)ポジション情報 V3(USER_DATA)Nonesymbol, recvWindowYes
/fapi/v1/allAlgoOrders (GET)すべてのアルゴ注文を照会(USER_DATA)symbolalgoId, startTime, endTime, page, limit, recvWindowYes
/fapi/v1/openOrder (GET)現在の未決済注文を照会(USER_DATA)symbolorderId, origClientOrderId, recvWindowYes
/fapi/v1/stock/contract (POST)先物 TradFi 無期限契約(USER_DATA)NonerecvWindowYes
/fapi/v1/forceOrders (GET)ユーザーの強制注文(USER_DATA)Nonesymbol, autoCloseType, startTime, endTime, limit, recvWindowYes
/fapi/v1/listenKey (DELETE)ユーザーデータストリームを終了(USER_STREAM)NoneNoneNo
/fapi/v1/listenKey (PUT)ユーザーデータストリームを維持(USER_STREAM)NoneNoneNo
/fapi/v1/listenKey (POST)ユーザーデータストリームを開始(USER_STREAM)NoneNoneNo

パラメーター

共通パラメーター
  • recvWindow: (例:5000)
  • symbol:
  • startTime: ミリ秒単位のタイムスタンプ(例:1623319461670)
  • endTime: ミリ秒単位のタイムスタンプ(例:1641782889000)
  • downloadId: download id API で取得します(例:1)
  • incomeType: TRANSFER、WELCOME_BONUS、REALIZED_PNL、FUNDING_FEE、COMMISSION、INSURANCE_CLEAR、REFERRAL_KICKBACK、COMMISSION_REBATE、API_REBATE、CONTEST_REWARD、CROSS_COLLATERAL_TRANSFER、OPTIONS_PREMIUM_FEE、OPTIONS_SETTLE_PROFIT、INTERNAL_TRANSFER、AUTO_EXCHANGE、DELIVERED_SETTELMENT、COIN_SWAP_DEPOSIT、COIN_SWAP_WITHDRAW、POSITION_LIMIT_INCREASE_FEE、STRATEGY_UMFUTURES_TRANSFER,FEE_RETURN,BFUSD_REWARD
  • startTime: (例:1623319461670)
  • endTime: (例:1641782889000)
  • page:
  • limit: デフォルトは100、最大1000(例:100)
  • feeBurn: 「true」:手数料割引オン、「false」:手数料割引オフ
  • symbol:
  • quoteId: (例:1)
  • fromAsset: ユーザーが支払うコイン
  • toAsset: ユーザーが受け取るコイン
  • orderId: orderId または quoteId のいずれかが必要です(例:1)
  • quoteId: orderId または quoteId のいずれかが必要です(例:1)
  • fromAsset:
  • toAsset:
  • fromAmount: 指定した場合、変換後に引き落とされる金額です(例:1.0)
  • toAmount: 指定した場合、変換後に入金される金額です(例:1.0)
  • validTime: 10s、デフォルトは10s(例:10s)
  • pair:
  • limit: デフォルトは30、最大500(例:30)
  • fromId: 集約取引を取得する開始ID(指定したIDを含みます)。(例:1)
  • asset:
  • orderId: (例:1)
  • countdownTime: カウントダウン時間。1000は1秒です。0を指定するとタイマーをキャンセルします
  • algoId: (例:1)
  • clientAlgoId: (例:1)
  • orderIdList: 最大長10 例:[1234567,2345678]
  • origClientOrderIdList: 最大長10 例:["my_id_1","my_id_2"]。二重引用符をエンコードしてください。コンマの後にスペースを入れないでください。
  • origClientOrderId: (例:1)
  • leverage: 目標初期レバレッジ:1~125の整数
  • multiAssetsMargin: 「true」:マルチアセットモード、「false」:シングルアセットモード
  • dualSidePosition: 「true」:ヘッジモード、「false」:ワンウェイモード
  • algoType:
  • type: 1:ポジション証拠金を追加、2:ポジション証拠金を減額
  • amount: (例:1.0)
  • type:
  • batchOrders: 注文リスト。最大5件の注文
  • quantity: 注文数量。closePosition=true と同時に指定できません(例:1.0)
  • price: (例:1.0)
  • algoType: CONDITIONAL のみサポート
  • quantity: (例:1.0)
  • price: (例:1.0)
  • triggerPrice: (例:1.0)
  • closePosition: true、false;全決済。STOP_MARKET または TAKE_PROFIT_MARKET と併用します。
  • priceProtect: 「TRUE」または「FALSE」。デフォルトは「FALSE」です。STOP/STOP_MARKET または TAKE_PROFIT/TAKE_PROFIT_MARKET 注文で使用します。
  • reduceOnly: 「true」または「false」。デフォルトは「false」です。ヘッジモードでは指定できません
  • activatePrice: TRAILING_STOP_MARKET 注文で使用します。デフォルトは最新価格です(異なる workingType をサポート)(例:1.0)
  • callbackRate: TRAILING_STOP_MARKET 注文で使用します。最小値は0.1、最大値は5で、1は1%を表します(例:1.0)
  • goodTillDate: GTD の timeInForce における注文のキャンセル時刻です。timeInforce に GTD を設定した場合は必須です。注文のタイムスタンプは秒単位の精度でのみ保持され、ミリ秒部分は無視されます。goodTillDate のタイムスタンプは現在時刻に600秒を加えた値より大きく、253402300799000より小さくなければなりません
  • newClientOrderId: 未約定注文の中で一意のIDです。指定しない場合は自動生成されます。^[\.A-Z\:/a-z0-9_-]{1,36}$ のルールに従う文字列のみ指定できます(例:1)
  • stopPrice: STOP/STOP_MARKET または TAKE_PROFIT/TAKE_PROFIT_MARKET 注文で使用します。(例:1.0)
  • activationPrice: TRAILING_STOP_MARKET 注文で使用します。デフォルトは最新価格です(異なる workingType をサポート)(例:1.0)
  • batchOrders: 注文リスト。最大5件の注文
列挙型
  • contractType: PERPETUAL | CURRENT_MONTH | NEXT_MONTH | CURRENT_QUARTER | NEXT_QUARTER | PERPETUAL_DELIVERING
  • period: 5m | 15m | 30m | 1h | 2h | 4h | 6h | 12h | 1d
  • interval: 1m | 3m | 5m | 15m | 30m | 1h | 2h | 4h | 6h | 8h | 12h | 1d | 3d | 1w | 1M
  • marginType: ISOLATED | CROSSED
  • positionSide: BOTH | LONG | SHORT
  • side: BUY | SELL
  • priceMatch: NONE | OPPONENT | OPPONENT_5 | OPPONENT_10 | OPPONENT_20 | QUEUE | QUEUE_5 | QUEUE_10 | QUEUE_20
  • timeInForce: GTC | IOC | FOK | GTX | GTD | RPI
  • workingType: MARK_PRICE | CONTRACT_PRICE
  • newOrderRespType: ACK | RESULT
  • selfTradePreventionMode: EXPIRE_TAKER | EXPIRE_BOTH | EXPIRE_MAKER
  • autoCloseType: LIQUIDATION | ADL

認証

認証が必要なエンドポイントでは、Binance API の認証情報を指定する必要があります。 必要な認証情報:

  • apiKey: Binance API キー(ヘッダー用)
  • secretKey: Binance API シークレット(署名用)

ベース URL:

セキュリティ

認証情報の共有

ユーザーは、さまざまな方法で Binance API の認証情報を提供できます。エージェントは最初の 2 つの方法で認証情報の自動取得を試みますが、ユーザーが認証情報を設定した、または .env ファイルに保存したと明示的に伝えることもできます。その場合、エージェントはそのファイルを再読み込みする必要があります。また、エージェントは最初の 2 つの方法を使って、ユーザーの確認なしに HTTP リクエストを実行できます。

  1. 環境変数

次の特定の変数のみを検索します(環境変数全体を決して出力しないでください)。

許可された環境変数

  • Mainnet: BINANCE_API_KEY と BINANCE_SECRET_KEY
  • Testnet: BINANCE_TESTNET_API_KEY と BINANCE_TESTNET_SECRET_KEY

生のキーがエージェントのコンテキストに入らないよう、1 回の exec 呼び出しで読み取りと使用を行います。

KEY="$BINANCE_API_KEY"
SECRET="$BINANCE_SECRET_KEY"

response=$(curl -s -X GET "$URL" \
  -H "X-MBX-APIKEY: $KEY" \
  --data-urlencode "param1=value1")

echo "$response"

環境変数は OpenClaw の起動前に設定する必要があります。プロセスの起動時に継承されるため、実行中のインスタンスに注入することはできません。再起動せずに認証情報を追加または更新する必要がある場合は、シークレットファイルを使用してください(オプション 2 を参照)。

  1. シークレットファイル(.env)

~/.openclaw/secrets.env、~/.env、またはワークスペース内の .env ファイルを確認します。個々のキーは grep で読み取り、ファイル全体を読み込まないでください。

# Try all credential locations in order
API_KEY=$(grep '^BINANCE_API_KEY=' ~/.openclaw/secrets.env 2>/dev/null | cut -d= -f2-)
SECRET_KEY=$(grep '^BINANCE_SECRET_KEY=' ~/.openclaw/secrets.env 2>/dev/null | cut -d= -f2-)

# Fallback: search .env in known directories (KEY=VALUE then raw line format)
for dir in ~/.openclaw ~; do
  [ -n "$API_KEY" ] && break
  env_file="$dir/.env"
  [ -f "$env_file" ] || continue

  # Read first two lines
  line1=$(sed -n '1p' "$env_file")
  line2=$(sed -n '2p' "$env_file")

  # Check if lines contain '=' indicating KEY=VALUE format
  if [[ "$line1" == *=* && "$line2" == *=* ]]; then
    API_KEY=$(grep '^BINANCE_API_KEY=' "$env_file" 2>/dev/null | cut -d= -f2-)
    SECRET_KEY=$(grep '^BINANCE_SECRET_KEY=' "$env_file" 2>/dev/null | cut -d= -f2-)
  else
    # Treat lines as raw values
    API_KEY="$line1"
    SECRET_KEY="$line2"
  fi
done

このファイルは OpenClaw を再起動せずにいつでも更新できます。キーは呼び出しのたびに最新のものが読み込まれます。ユーザーが変数を設定した、または .env ファイルに保存したと伝えた場合は、そのファイルを再読み込みしてください。

  1. ファイルを直接指定

次の形式で内容を記述したファイルを送信します。

abc123...xyz
secret123...key
  • 特定の変数名を指定せずに printenv、env、export、または set を実行しないでください
  • 特定のキー('^VARNAME=')にアンカーを設定せずに、env ファイルに対して grep を実行しないでください
  • シークレットファイルをシェル環境に読み込まないでください(source .env または . .env)
  • 現在のタスクに明示的に必要な認証情報のみを読み取ってください
  • 生の認証情報を出力や返信に表示または記録しないでください
  • 実際の認証情報が含まれる場合は、TOOLS.md をバージョン管理にコミットしないでください。.gitignore に追加してください
API キーとシークレットを決して開示しない

API キーとシークレットのファイルの場所を決して開示しないでください。

API キーとシークレットを Mainnet および Testnet 以外のウェブサイトに決して送信しないでください。

シークレット全体を決して表示しない

認証情報をユーザーに表示する場合:

  • API キー: 最初の 5 文字と最後の 4 文字を表示します:su1Qc...8akf
  • シークレットキー: 常にマスクし、最後の 5 文字のみ表示します:***...aws1

認証情報を求められた場合の応答例: アカウント:main API キー:su1Qc...8akf シークレット:***...aws1 環境:Mainnet

アカウントの一覧表示

アカウントを一覧表示する際は、名前と環境のみを表示し、キーは決して表示しないでください: Binance アカウント:

  • main(Mainnet/Testnet)
  • testnet-dev(Testnet)
  • futures-keys(Mainnet)
Mainnet での取引

Mainnet で取引を実行する際は、続行する前に必ずユーザーに「CONFIRM」と入力するよう求めて確認してください。


Binance アカウント

main
  • API キー:your_mainnet_api_key
  • シークレット:your_mainnet_secret
  • テストネット:false
testnet-dev
  • API キー:your_testnet_api_key
  • シークレット:your_testnet_secret
  • テストネット:true
TOOLS.md の構成
## Binance Accounts

### main
- API Key: abc123...xyz
- Secret: secret123...key
- Testnet: false
- Description: Primary trading account

### testnet-dev
- API Key: test456...abc
- Secret: testsecret...xyz
- Testnet: true
- Description: Development/testing

### futures-keys
- API Key: futures789...def
- Secret: futuressecret...uvw
- Testnet: false
- Description: Futures trading account

エージェントの動作

  1. 認証情報を求められた場合:シークレットはマスクし、末尾の5文字のみ表示します
  2. アカウントを一覧表示する場合:名前と環境を表示し、キーは決して表示しません
  3. アカウントの選択:曖昧な場合はユーザーに確認し、デフォルトでは main を選択します
  4. mainnet で取引を行う場合:続行するには「CONFIRM」と入力するようユーザーに確認します
  5. 新しい認証情報の場合:名前、環境、署名モードを尋ねます
  6. リクエストに署名が必要で、注文ではなく、API キーが mainnet または testnet キーとして記述されていない場合は、ユーザーに確認せず、異なるベース URL にリクエストを送信して動作するか試します。動作した場合は、対応する環境とともにキーを保存します。

新しいアカウントの追加

ユーザーがインラインファイルまたはメッセージで新しい認証情報を提供した場合:

  • アカウント名を尋ねます
  • Mainnet か Testnet かを尋ねます
  • マスクされた表示を確認しながら、TOOLS.md に保存します

リクエストへの署名

署名が必要な取引エンドポイントの場合:

  1. まずキーの種類を検出します。署名する前にシークレットキーの形式を確認します。
  2. タイムスタンプ(Unix ミリ秒)を含むすべてのパラメーターを使って、クエリ文字列を構築します。
  3. RFC 3986 に従い、UTF-8 を使用してパラメーターをパーセントエンコードします。
  4. アカウント設定に応じて、secretKey を使用し、HMAC SHA256、RSA、または Ed25519 でクエリ文字列に署名します。
  5. クエリ文字列に署名を追加します。
  6. X-MBX-APIKEY ヘッダーを含めます。

それ以外の場合は、手順4~6を実行しないでください。

新しいクライアント注文 ID

newClientOrderId パラメーターを含むエンドポイントでは、値は必ず agent- で始める必要があります。パラメーターが指定されていない場合は、agent- に続けて18文字のランダムな英数字を自動生成します。値が指定されている場合は、その先頭に agent- を付けます。

例:agent-1a2b3c4d5e6f7g8h9i

User-Agent ヘッダー

次の文字列を含む User-Agent ヘッダーを設定します:binance-derivatives-trading-usds-futures/1.1.0 (Skill)

実装の詳細については、references/authentication.md を参照してください。

コメント