margin-trading について
Binance のマージン取引向けエージェントスキルです。口座操作、借入、注文、資金フローの照会に対応し、一部の API には認証情報が必要です。結果は JSON で返します。
主な機能
- 01マージン口座と手数料情報の照会
- 02借入・返済と履歴の確認
- 03注文の作成・照会・キャンセル
- 04分離マージン口座とレバレッジの管理
- 05資金フロー・利息・清算記録の確認
活用シーン
- 01クロスマージンまたは分離マージン口座の状態確認
- 02マージンでの資産借入や返済
- 03マージン注文の発注やキャンセル
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ binance/ binance-skills-hub --skill margin-tradingインストール後、Claude Code で/margin-tradingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdLICENSE.mdreferences/authentication.md詳細
Binance マージン取引スキル
認証済み API エンドポイントを使用して、Binance でマージン取引をリクエストします。一部のエンドポイントでは API キーとシークレットキーが必要です。結果は JSON 形式で返します。
クイックリファレンス
| Endpoint | 説明 | 必須 | 任意 | 認証 |
|---|---|---|---|---|
/sapi/v1/margin/max-leverage (POST) | クロスマージンの最大レバレッジを調整(USER_DATA) | maxLeverage | なし | はい |
/sapi/v1/margin/isolated/account (DELETE) | 分離マージンアカウントを無効化(TRADE) | symbol | recvWindow | はい |
/sapi/v1/margin/isolated/account (POST) | 分離マージンアカウントを有効化(TRADE) | symbol | recvWindow | はい |
/sapi/v1/margin/isolated/account (GET) | 分離マージンアカウント情報を照会(USER_DATA) | なし | symbols, recvWindow | はい |
/sapi/v1/bnbBurn (GET) | BNBバーンのステータスを取得(USER_DATA) | なし | recvWindow | はい |
/sapi/v1/margin/tradeCoeff (GET) | マージンアカウントの概要を取得(USER_DATA) | なし | recvWindow | はい |
/sapi/v1/margin/capital-flow (GET) | クロス/分離マージンの資金フローを照会(USER_DATA) | なし | asset, symbol, type, startTime, endTime, fromId, limit, recvWindow | はい |
/sapi/v1/margin/account (GET) | クロスマージンアカウントの詳細を照会(USER_DATA) | なし | recvWindow | はい |
/sapi/v1/margin/crossMarginData (GET) | クロスマージン手数料データを照会(USER_DATA) | なし | vipLevel, coin, recvWindow | はい |
/sapi/v1/margin/isolated/accountLimit (GET) | 有効化済みの分離マージンアカウント上限を照会(USER_DATA) | なし | recvWindow | はい |
/sapi/v1/margin/isolatedMarginData (GET) | 分離マージン手数料データを照会(USER_DATA) | なし | vipLevel, symbol, recvWindow | はい |
/sapi/v1/margin/interestHistory (GET) | 利息履歴を取得(USER_DATA) | なし | asset, isolatedSymbol, startTime, endTime, current, size, recvWindow | はい |
/sapi/v1/margin/next-hourly-interest-rate (GET) | 今後の時間単位の金利を取得(USER_DATA) | assets, isIsolated | なし | はい |
/sapi/v1/margin/borrow-repay (POST) | マージンアカウントで借入/返済(MARGIN) | asset, isIsolated, symbol, amount, type | recvWindow | はい |
/sapi/v1/margin/borrow-repay (GET) | マージンアカウントの借入/返済記録を照会(USER_DATA) | type | asset, isolatedSymbol, txId, startTime, endTime, current, size, recvWindow | はい |
/sapi/v1/margin/interestRateHistory (GET) | マージン金利履歴を照会(USER_DATA) | asset | vipLevel, startTime, endTime, recvWindow | はい |
/sapi/v1/margin/maxBorrowable (GET) | 最大借入可能額を照会(USER_DATA) | asset | isolatedSymbol, recvWindow | はい |
/sapi/v1/margin/crossMarginCollateralRatio (GET) | クロスマージン担保比率(MARKET_DATA) | なし | なし | いいえ |
/sapi/v1/margin/allPairs (GET) | すべてのクロスマージンペアを取得(MARKET_DATA) | なし | symbol | いいえ |
/sapi/v1/margin/isolated/allPairs (GET) | すべての分離マージンシンボルを取得(MARKET_DATA) | なし | symbol, recvWindow | いいえ |
/sapi/v1/margin/allAssets (GET) | すべてのマージン資産を取得(MARKET_DATA) | なし | asset | いいえ |
/sapi/v1/margin/delist-schedule (GET) | 上場廃止スケジュールを取得(MARKET_DATA) | なし | recvWindow | いいえ |
/sapi/v1/margin/limit-price-pairs (GET) | 指値価格ペアを取得(MARKET_DATA) | なし | なし | いいえ |
/sapi/v1/margin/list-schedule (GET) | 上場スケジュールを取得(MARKET_DATA) | なし | recvWindow | いいえ |
/sapi/v1/margin/risk-based-liquidation-ratio (GET) | マージン資産のリスクベース清算比率を取得(MARKET_DATA) | なし | なし | いいえ |
/sapi/v1/margin/restricted-asset (GET) | マージン制限資産を取得(MARKET_DATA) | なし | なし | いいえ |
/sapi/v1/margin/isolatedMarginTier (GET) | 分離マージンのティアデータを照会(USER_DATA) | symbol | tier, recvWindow | はい |
/sapi/v1/margin/leverageBracket (GET) | クロスマージンProモードの負債コインのレバレッジ段階を照会(MARKET_DATA) | なし | なし | いいえ |
/sapi/v1/margin/priceIndex (GET) | マージン価格指数を照会(MARKET_DATA) | symbol | なし | いいえ |
/sapi/v1/margin/available-inventory (GET) | マージンの利用可能な在庫を照会(USER_DATA) | type | なし | はい |
/sapi/v1/margin/listen-key (DELETE) | ユーザーデータストリームを終了(USER_STREAM) | なし | なし | いいえ |
/sapi/v1/margin/listen-key (PUT) | ユーザーデータストリームのキープアライブ(USER_STREAM) | listenKey | なし | いいえ |
/sapi/v1/margin/listen-key (POST) | ユーザーデータストリームを開始(USER_STREAM) | なし | なし | いいえ |
/sapi/v1/margin/apiKey (POST) | 特別なキーを作成(低レイテンシ取引)(TRADE) | apiName | symbol, ip, publicKey, permissionMode, recvWindow | はい |
/sapi/v1/margin/apiKey (DELETE) | 特別なキーを削除(低レイテンシ取引)(TRADE) | なし | apiName, symbol, recvWindow | はい |
/sapi/v1/margin/apiKey (GET) | 特別なキーを照会(低レイテンシ取引)(TRADE) | なし | symbol, recvWindow | はい |
/sapi/v1/margin/apiKey/ip (PUT) | 特別なキーのIPを編集(低レイテンシ取引)(TRADE) | ip | symbol, recvWindow | はい |
/sapi/v1/margin/forceLiquidationRec (GET) | 強制清算記録を取得(USER_DATA) | なし | startTime, endTime, isolatedSymbol, current, size, recvWindow | はい |
/sapi/v1/margin/exchange-small-liability (GET) | 少額負債交換コインのリストを取得(USER_DATA) | なし | recvWindow | はい |
/sapi/v1/margin/exchange-small-liability (POST) | 少額負債の交換(MARGIN) | assetNames | recvWindow | はい |
/sapi/v1/margin/exchange-small-liability-history (GET) | 少額負債交換履歴を取得(USER_DATA) | current, size | startTime, endTime, recvWindow | はい |
/sapi/v1/margin/openOrders (DELETE) | マージンアカウントの指定シンボルのすべての未約定注文をキャンセル(TRADE) | symbol | isIsolated, recvWindow | はい |
/sapi/v1/margin/openOrders (GET) | マージンアカウントの未約定注文を照会(USER_DATA) | なし | symbol, isIsolated, recvWindow | はい |
/sapi/v1/margin/orderList (DELETE) | マージンアカウントのOCOをキャンセル(TRADE) | symbol | isIsolated, orderListId, listClientOrderId, newClientOrderId, recvWindow | はい |
/sapi/v1/margin/orderList (GET) | マージンアカウントのOCOを照会(USER_DATA) | なし | isIsolated, symbol, orderListId, origClientOrderId, recvWindow | はい |
/sapi/v1/margin/order (DELETE) | マージンアカウントの注文をキャンセル(TRADE) | symbol | isIsolated, orderId, origClientOrderId, newClientOrderId, recvWindow | はい |
/sapi/v1/margin/order (POST) | マージンアカウントに新規注文(TRADE) | symbol, side, type | isIsolated, quantity, quoteOrderQty, price, stopPrice, newClientOrderId, icebergQty, newOrderRespType, sideEffectType, timeInForce, selfTradePreventionMode, autoRepayAtCancel, recvWindow | はい |
/sapi/v1/margin/order (GET) | マージンアカウントの注文を照会(USER_DATA) | symbol | isIsolated, orderId, origClientOrderId, recvWindow | はい |
/sapi/v1/margin/order/oco (POST) | マージンアカウントに新規OCO注文(TRADE) | symbol, side, quantity, price, stopPrice | isIsolated, listClientOrderId, limitClientOrderId, limitIcebergQty, stopClientOrderId, stopLimitPrice, stopIcebergQty, stopLimitTimeInForce, newOrderRespType, sideEffectType, selfTradePreventionMode, autoRepayAtCancel, recvWindow | はい |
/sapi/v1/margin/order/oto (POST) | マージンアカウントに新規OTO注文(TRADE) | symbol, workingType, workingSide, workingPrice, workingQuantity, workingIcebergQty, pendingType, pendingSide, pendingQuantity | isIsolated, listClientOrderId, newOrderRespType, sideEffectType, selfTradePreventionMode, autoRepayAtCancel, workingClientOrderId, workingTimeInForce, pendingClientOrderId, pendingPrice, pendingStopPrice, pendingTrailingDelta, pendingIcebergQty, pendingTimeInForce | はい |
/sapi/v1/margin/order/otoco (POST) | マージンアカウントに新規OTOCO注文(TRADE) | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingSide, pendingQuantity, pendingAboveType | isIsolated, sideEffectType, autoRepayAtCancel, listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, pendingAboveClientOrderId, pendingAbovePrice, pendingAboveStopPrice, pendingAboveTrailingDelta, pendingAboveIcebergQty, pendingAboveTimeInForce, pendingBelowType, pendingBelowClientOrderId, pendingBelowPrice, pendingBelowStopPrice, pendingBelowTrailingDelta, pendingBelowIcebergQty, pendingBelowTimeInForce | はい |
/sapi/v1/margin/manual-liquidation (POST) | マージンの手動清算(MARGIN) | type | symbol, recvWindow | はい |
/sapi/v1/margin/rateLimit/order (GET) | 現在のマージン注文数の使用状況を照会(TRADE) | なし | isIsolated, symbol, recvWindow | はい |
/sapi/v1/margin/allOrderList (GET) | マージンアカウントのすべてのOCOを照会(USER_DATA) | なし | isIsolated, symbol, fromId, startTime, endTime, limit, recvWindow | はい |
/sapi/v1/margin/allOrders (GET) | マージンアカウントのすべての注文を照会(USER_DATA) | symbol | isIsolated, orderId, startTime, endTime, limit, recvWindow | はい |
/sapi/v1/margin/openOrderList (GET) | マージンアカウントの未約定OCOを照会(USER_DATA) | なし | isIsolated, symbol, recvWindow | はい |
/sapi/v1/margin/myTrades (GET) | マージンアカウントの取引リストを照会(USER_DATA) | symbol | isIsolated, orderId, startTime, endTime, fromId, limit, recvWindow | はい |
/sapi/v1/margin/myPreventedMatches (GET) | 防止されたマッチを照会(USER_DATA) | symbol | preventedMatchId, orderId, fromPreventedMatchId, recvWindow, isIsolated | はい |
/sapi/v1/margin/api-key-list (GET) | 特別なキーのリストを照会(低レイテンシ取引)(TRADE) | なし | symbol, recvWindow | はい |
/sapi/v1/margin/transfer (GET) | クロスマージンの振替履歴を取得(USER_DATA) | なし | asset, type, startTime, endTime, current, size, isolatedSymbol, recvWindow | はい |
/sapi/v1/margin/maxTransferable (GET) | 最大振替可能額を照会(USER_DATA) | asset | isolatedSymbol, recvWindow | はい |
Parameters
Common Parameters
- maxLeverage: 3、5、または10のみ設定できます。例:Cross Margin ClassicではmaxLeverage = 5または3、Cross Margin Proでは10倍のレバレッジとしてmaxLeverage=10、コンプライアンス上許可される場合は20倍です。
- symbol:
- recvWindow: 60000以下(例:5000)
- asset:
- symbol: 分離マージンのペア
- type: 振替タイプ:ROLL_IN、ROLL_OUT
- startTime: 過去90日分のデータのみ照会できます。(例:1623319461670)
- endTime: (例:1641782889000)
- fromId:
fromIdが設定されている場合、idがfromIdより大きいデータが返されます。それ以外の場合は、最新のデータが返されます。(例:1) - limit: 1回のリクエストで返されるデータレコード数の上限。デフォルト:500、最大:1000。(例:500)
- vipLevel: vipLevelが省略された場合、ユーザーの現在の該当するマージンデータが返されます(例:1)
- coin:
- symbols: 最大5個のシンボルを送信できます。「,」で区切ります。例:"BTCUSDT,BNBUSDT,ADAUSDT"
- isolatedSymbol: 分離シンボル
- current: 照会するページ。1から開始します。デフォルト:1(例:1)
- size: デフォルト:10、最大:100(例:10)
- assets: 資産のリスト。カンマ区切りで、最大20個まで指定できます
- isIsolated: 分離マージンかどうか。"TRUE"または"FALSE"
- asset:
- isIsolated: 分離マージンの場合は
TRUE、クロスマージンの場合はFALSE。デフォルトはFALSEです(例:FALSE) - amount:
- type:
MARGIN、ISOLATED - txId:
POST /sapi/v1/margin/loanのtranId(例:1) - tier: tierが省略された場合、すべてのマージン階層データが返されます
- listenKey:
- apiName:
- ip: カンマ区切りで一括追加できます。APIキーあたり最大30個です
- publicKey: 1. publicKeyを入力すると、RSAまたはEd25519キーが作成されます。 2. URLエンコード形式に変換する必要があります
- permissionMode: このパラメーターはEd25519 APIキー専用であり、他の暗号化方式には影響しません。値にはTRADE(すべての権限に対するTRADE)またはREAD(USER_DATA、FIX_API_READ_ONLYに対するREAD)を指定できます。デフォルト値はTRADEです。(例:value)
- apiName:
- ip: カンマ区切りで一括追加できます。APIキーあたり最大30個です
- current: 照会するページ。1から開始します。デフォルト:1(例:1)
- size: デフォルト:10、最大:100(例:10)
- isIsolated: 分離マージンかどうか。"TRUE"または"FALSE"。デフォルトは"FALSE"です
- orderListId:
orderListIdまたはlistClientOrderIdのいずれかを指定する必要があります(例:1) - listClientOrderId:
orderListIdまたはlistClientOrderIdのいずれかを指定する必要があります(例:1) - newClientOrderId: このキャンセルを一意に識別するために使用します。デフォルトで自動生成されます(例:1)
- orderId: (例:1)
- origClientOrderId: (例:1)
- quantity: (例:1.0)
- limitClientOrderId: 指値注文の一意のID(例:1)
- price: (例:1.0)
- limitIcebergQty: (例:1.0)
- stopClientOrderId: ストップロス/ストップロス指値レッグの一意のID(例:1)
- stopPrice: (例:1.0)
- stopLimitPrice: 指定する場合は、
stopLimitTimeInForceが必須です。(例:1.0) - stopIcebergQty: (例:1.0)
- stopLimitTimeInForce: 有効な値は
GTC/FOK/IOCです - sideEffectType: NO_SIDE_EFFECT、MARGIN_BUY、AUTO_REPAY、AUTO_BORROW_REPAY。デフォルトはNO_SIDE_EFFECTです。詳細はFAQを参照してください(例:NO_SIDE_EFFECT)
- selfTradePreventionMode: 使用できる列挙値は、シンボルに設定されている内容によって異なります。サポートされる値はEXPIRE_TAKER、EXPIRE_MAKER、EXPIRE_BOTH、NONEです(例:NONE)
- autoRepayAtCancel: MARGIN_BUYまたはAUTO_BORROW_REPAY注文が有効になった場合に限り、trueは注文のキャンセル後に注文によって発生した負債を返済する必要があることを意味します。デフォルトはtrueです(例:true)
- workingType: サポートされる値:
LIMIT、LIMIT_MAKER - workingSide: BUY、SELL
- workingClientOrderId: working注文の未約定注文間で一意となる任意のIDです。送信されない場合は自動生成されます。(例:1)
- workingPrice: (例:1.0)
- workingQuantity: (例:1.0)
- workingIcebergQty:
workingTimeInForceがGTCの場合にのみ使用できます。(例:1.0) - workingTimeInForce: GTC、IOC、FOK
- pendingType: サポートされる値:Order Types。
quoteOrderQtyを使用するMARKET注文はサポートされないことに注意してください。(例:Order Types) - pendingSide: BUY、SELL
- pendingClientOrderId: pending注文の未約定注文間で一意となる任意のIDです。送信されない場合は自動生成されます。(例:1)
- pendingPrice: (例:1.0)
- pendingStopPrice: (例:1.0)
- pendingTrailingDelta: (例:1.0)
- pendingQuantity: (例:1.0)
- pendingIcebergQty:
pendingTimeInForceがGTCの場合にのみ使用できます。(例:1.0) - pendingTimeInForce: GTC、IOC、FOK
- workingIcebergQty:
workingTimeInForceがGTCの場合にのみ使用できます。(例:1.0) - pendingAboveType: サポートされる値:
LIMIT_MAKER、STOP_LOSS、STOP_LOSS_LIMIT - pendingAboveClientOrderId: pending above注文の未約定注文間で一意となる任意のIDです。送信されない場合は自動生成されます。(例:1)
- pendingAbovePrice: (例:1.0)
- pendingAboveStopPrice: (例:1.0)
- pendingAboveTrailingDelta: (例:1.0)
- pendingAboveIcebergQty:
pendingAboveTimeInForceがGTCの場合にのみ使用できます。(例:1.0) - pendingAboveTimeInForce:
- pendingBelowType: サポートされる値:
LIMIT_MAKER、STOP_LOSS、STOP_LOSS_LIMIT - pendingBelowClientOrderId: pending below注文の未約定注文間で一意となる任意のIDです。送信されない場合は自動生成されます。(例:1)
- pendingBelowPrice: (例:1.0)
- pendingBelowStopPrice: (例:1.0)
- pendingBelowTrailingDelta: (例:1.0)
- pendingBelowIcebergQty:
pendingBelowTimeInForceがGTCの場合にのみ使用できます。(例:1.0) - pendingBelowTimeInForce:
- quantity: (例:1.0)
- quoteOrderQty: (例:1.0)
- price: (例:1.0)
- stopPrice:
STOP_LOSS、STOP_LOSS_LIMIT、TAKE_PROFIT、TAKE_PROFIT_LIMIT注文で使用します。(例:1.0) - icebergQty:
LIMIT、STOP_LOSS_LIMIT、TAKE_PROFIT_LIMIT注文でアイスバーグ注文を作成するために使用します。(例:1.0) - preventedMatchId: (例:1)
- fromPreventedMatchId: (例:1)
- assetNames: 少額負債交換の資産リスト。例:assetNames = BTC,ETH
列挙型
- side:BUY | SELL
- newOrderRespType:ACK | RESULT | FULL
- timeInForce:GTC | IOC | FOK
認証
認証が必要なエンドポイントでは、Binance API 認証情報を提供する必要があります。 必須の認証情報:
- apiKey:Binance API キー(ヘッダー用)
- secretKey:Binance API シークレット(署名用)
ベース URL:
- Mainnet:https://api.binance.com
セキュリティ
認証情報の共有
ユーザーは、さまざまな方法で Binance API 認証情報を提供できます。エージェントは最初の 2 つの方法で認証情報を自動的に取得しますが、ユーザーは認証情報を設定した、または .env ファイルに保存したと明示的にエージェントに伝えることもできます。その場合、エージェントはそのファイルを再読み込みする必要があります。エージェントは、最初の 2 つの方法ではユーザーの確認なしに HTTP リクエストを実行することもできます。
- 環境変数
次の指定された変数のみを検索してください(環境変数全体を出力してはいけません)。
許可された環境変数
- Mainnet:
BINANCE_API_KEYとBINANCE_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 を参照)を使用してください。
- シークレットファイル(.env)
~/.openclaw/secrets.env、~/.env、またはワークスペース内の .env ファイルを確認してください。個別のキーは grep で読み込み、ファイル全体を source してはいけません:
# 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 ファイルに保存したと伝えた場合は、そのファイルを再読み込みしてください。
- インラインファイル
内容が次の形式のファイルを送信します:
abc123...xyz
secret123...key
- 特定の変数名を指定せずに
printenv、env、export、またはsetを実行してはいけません - 特定のキー('
^VARNAME=')を指定せずに、envファイルに対してgrepを実行してはいけません - シークレットファイルをシェル環境に source してはいけません(
source .envまたは. .env) - 現在のタスクで明示的に必要な認証情報のみを読み込んでください
- 生の認証情報を出力や返信に表示したり、ログに記録したりしてはいけません
- 実際の認証情報が含まれている場合、
TOOLS.mdをバージョン管理にコミットしてはいけません。.gitignoreに追加してください
API キーとシークレットを開示しない
API キーとシークレットファイルの場所を開示してはいけません。
Mainnet と Testnet 以外のウェブサイトに API キーやシークレットを送信してはいけません。
シークレット全体を表示しない
ユーザーに認証情報を表示する場合:
- API キー: 先頭 5 文字と末尾 4 文字を表示します:
su1Qc...8akf - シークレットキー: 常にマスクし、末尾 5 文字のみを表示します:
***...aws1
認証情報を尋ねられた場合の応答例: アカウント:main API キー:su1Qc...8akf シークレット:***...aws1
アカウントの一覧表示
アカウントを一覧表示する際は、名前と環境のみを表示し、キーは決して表示しないでください: Binance アカウント:
- main(Mainnet)
- futures-keys(Mainnet)
Mainnet での取引
Mainnet で取引を行う場合は、必ずユーザーに「CONFIRM」と入力して続行するよう求め、実行前に確認を得てください。
Binance アカウント
main
- API キー:your_mainnet_api_key
- シークレット:your_mainnet_secret
TOOLS.md の構成
## Binance Accounts
### main
- API Key: abc123...xyz
- Secret: secret123...key
- Description: Primary trading account
### futures-keys
- API Key: futures789...def
- Secret: futuressecret...uvw
- Description: Futures trading account
エージェントの動作
- 認証情報を求められた場合:シークレットをマスクします(末尾 5 文字のみを表示)
- アカウントの一覧表示:名前と環境を表示し、キーは決して表示しません
- アカウントの選択:曖昧な場合は確認し、デフォルトは main とします
- Mainnet で取引を行う場合は、実行前にユーザーに「CONFIRM」と入力して続行するよう求め、確認を得てください
- 新しい認証情報:名前、環境、署名モードを尋ねます
新しいアカウントの追加
ユーザーがインラインファイルまたはメッセージで新しい認証情報を提供した場合:
- アカウント名を尋ねます
- マスクされた表示で確認しながら、
TOOLS.mdに保存します
リクエストへの署名
署名が必要な取引エンドポイントでは、以下の手順に従ってください。
- 最初にキーの種類を検出します。署名する前に、シークレットキーの形式を確認してください。
- タイムスタンプ(Unix ミリ秒)を含むすべてのパラメーターを使って、クエリ文字列を作成します。
- RFC 3986 に従って、パラメーターを UTF-8 でパーセントエンコードします。
- アカウント設定に応じて、secretKey を使用し、HMAC SHA256、RSA、または Ed25519 でクエリ文字列に署名します。
- クエリ文字列に署名を追加します。
X-MBX-APIKEYヘッダーを含めます。
それ以外の場合は、手順 4~6 を実行しないでください。
新しいクライアント注文 ID
newClientOrderId パラメーターを含むエンドポイントでは、値は必ず agent- で始まる必要があります。パラメーターが指定されていない場合は、agent- の後にランダムな英数字 18 文字を付けた値が自動生成されます。値が指定されている場合は、その値の先頭に agent- が付加されます。
例:agent-1a2b3c4d5e6f7g8h9i
User Agent ヘッダー
次の文字列を指定した User-Agent ヘッダーを含めてください:binance-margin-trading/1.1.0 (Skill)
実装の詳細については、references/authentication.md を参照してください。