spot について
Binance Spotの公開市場データと、認証が必要なアカウント・取引エンドポイントを照会し、結果をJSONで返すスキルです。価格、注文板、取引、アカウント情報、注文操作を扱い、一部のエンドポイントにはAPI認証が必要です。
主な機能
- 01市場価格とティッカー統計
- 02注文板と取引履歴の照会
- 03アカウント情報と手数料の照会
- 04注文の作成・照会・キャンセル
- 05注文リストの操作
活用シーン
- 01銘柄の現在価格を確認
- 02注文板の深さと直近取引を調べる
- 03残高と手数料を確認
- 04Spot注文を発注または管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ binance/ binance-skills-hub --skill spotインストール後、Claude Code で/spotを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdLICENSE.mdreferences/authentication.md詳細
Binance Spot Skill
認証済み API エンドポイントを使用して Binance で現物取引のリクエストを行います。一部のエンドポイントでは API キーとシークレットキーが必要です。結果は JSON 形式で返されます。
クイックリファレンス
| エンドポイント | 説明 | 必須 | 任意 | 認証 |
|---|---|---|---|---|
/api/v3/exchangeInfo (GET) | 取引所情報 | なし | symbol, symbols, permissions, showPermissionSets, symbolStatus | いいえ |
/api/v3/ping (GET) | 接続のテスト | なし | なし | いいえ |
/api/v3/time (GET) | サーバー時刻の確認 | なし | なし | いいえ |
/api/v3/aggTrades (GET) | 圧縮/集約取引の一覧 | symbol | fromId, startTime, endTime, limit | いいえ |
/api/v3/avgPrice (GET) | 現在の平均価格 | symbol | なし | いいえ |
/api/v3/depth (GET) | オーダーブック | symbol | limit, symbolStatus | いいえ |
/api/v3/historicalTrades (GET) | 過去の取引の照会 | symbol | limit, fromId | いいえ |
/api/v3/klines (GET) | Kline/ローソク足データ | symbol, interval | startTime, endTime, timeZone, limit | いいえ |
/api/v3/ticker (GET) | ローリングウィンドウ価格変動統計 | なし | symbol, symbols, windowSize, type, symbolStatus | いいえ |
/api/v3/ticker/24hr (GET) | 24時間ティッカー価格変動統計 | なし | symbol, symbols, type, symbolStatus | いいえ |
/api/v3/ticker/bookTicker (GET) | 銘柄のオーダーブックティッカー | なし | symbol, symbols, symbolStatus | いいえ |
/api/v3/ticker/price (GET) | 銘柄価格ティッカー | なし | symbol, symbols, symbolStatus | いいえ |
/api/v3/ticker/tradingDay (GET) | 取引日ティッカー | なし | symbol, symbols, timeZone, type, symbolStatus | いいえ |
/api/v3/trades (GET) | 最近の取引一覧 | symbol | limit | いいえ |
/api/v3/uiKlines (GET) | UIKlines | symbol, interval | startTime, endTime, timeZone, limit | いいえ |
/api/v3/openOrders (DELETE) | 銘柄のすべての未約定注文をキャンセル | symbol | recvWindow | はい |
/api/v3/openOrders (GET) | 現在の未約定注文 | なし | symbol, recvWindow | はい |
/api/v3/order (POST) | 新規注文 | symbol, side, type | timeInForce, quantity, quoteOrderQty, price, newClientOrderId, strategyId, strategyType, stopPrice, trailingDelta, icebergQty, newOrderRespType, selfTradePreventionMode, pegPriceType, pegOffsetValue, pegOffsetType, recvWindow | はい |
/api/v3/order (DELETE) | 注文をキャンセル | symbol | orderId, origClientOrderId, newClientOrderId, cancelRestrictions, recvWindow | はい |
/api/v3/order (GET) | 注文を照会 | symbol | orderId, origClientOrderId, recvWindow | はい |
/api/v3/order/amend/keepPriority (PUT) | 優先順位を維持して注文を変更 | symbol, newQty | orderId, origClientOrderId, newClientOrderId, recvWindow | はい |
/api/v3/order/cancelReplace (POST) | 既存の注文をキャンセルして新規注文を送信 | symbol, side, type, cancelReplaceMode | timeInForce, quantity, quoteOrderQty, price, cancelNewClientOrderId, cancelOrigClientOrderId, cancelOrderId, newClientOrderId, strategyId, strategyType, stopPrice, trailingDelta, icebergQty, newOrderRespType, selfTradePreventionMode, cancelRestrictions, orderRateLimitExceededMode, pegPriceType, pegOffsetValue, pegOffsetType, recvWindow | はい |
/api/v3/order/oco (POST) | 新規OCO - 非推奨 | symbol, side, quantity, price, stopPrice | listClientOrderId, limitClientOrderId, limitStrategyId, limitStrategyType, limitIcebergQty, trailingDelta, stopClientOrderId, stopStrategyId, stopStrategyType, stopLimitPrice, stopIcebergQty, stopLimitTimeInForce, newOrderRespType, selfTradePreventionMode, recvWindow | はい |
/api/v3/order/test (POST) | 新規注文をテスト | symbol, side, type | computeCommissionRates, timeInForce, quantity, quoteOrderQty, price, newClientOrderId, strategyId, strategyType, stopPrice, trailingDelta, icebergQty, newOrderRespType, selfTradePreventionMode, pegPriceType, pegOffsetValue, pegOffsetType, recvWindow | はい |
/api/v3/orderList (DELETE) | 注文リストをキャンセル | symbol | orderListId, listClientOrderId, newClientOrderId, recvWindow | はい |
/api/v3/orderList (GET) | 注文リストを照会 | なし | orderListId, origClientOrderId, recvWindow | はい |
/api/v3/orderList/oco (POST) | 新規注文リスト - OCO | symbol, side, quantity, aboveType, belowType | listClientOrderId, aboveClientOrderId, aboveIcebergQty, abovePrice, aboveStopPrice, aboveTrailingDelta, aboveTimeInForce, aboveStrategyId, aboveStrategyType, abovePegPriceType, abovePegOffsetType, abovePegOffsetValue, belowClientOrderId, belowIcebergQty, belowPrice, belowStopPrice, belowTrailingDelta, belowTimeInForce, belowStrategyId, belowStrategyType, belowPegPriceType, belowPegOffsetType, belowPegOffsetValue, newOrderRespType, selfTradePreventionMode, recvWindow | はい |
/api/v3/orderList/opo (POST) | 新規注文リスト - OPO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingType, pendingSide | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingClientOrderId, pendingPrice, pendingStopPrice, pendingTrailingDelta, pendingIcebergQty, pendingTimeInForce, pendingStrategyId, pendingStrategyType, pendingPegPriceType, pendingPegOffsetType, pendingPegOffsetValue, recvWindow | はい |
/api/v3/orderList/opoco (POST) | 新規注文リスト - OPOCO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingSide, pendingAboveType | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingAboveClientOrderId, pendingAbovePrice, pendingAboveStopPrice, pendingAboveTrailingDelta, pendingAboveIcebergQty, pendingAboveTimeInForce, pendingAboveStrategyId, pendingAboveStrategyType, pendingAbovePegPriceType, pendingAbovePegOffsetType, pendingAbovePegOffsetValue, pendingBelowType, pendingBelowClientOrderId, pendingBelowPrice, pendingBelowStopPrice, pendingBelowTrailingDelta, pendingBelowIcebergQty, pendingBelowTimeInForce, pendingBelowStrategyId, pendingBelowStrategyType, pendingBelowPegPriceType, pendingBelowPegOffsetType, pendingBelowPegOffsetValue, recvWindow | はい |
/api/v3/orderList/oto (POST) | 新規注文リスト - OTO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingType, pendingSide, pendingQuantity | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingClientOrderId, pendingPrice, pendingStopPrice, pendingTrailingDelta, pendingIcebergQty, pendingTimeInForce, pendingStrategyId, pendingStrategyType, pendingPegPriceType, pendingPegOffsetType, pendingPegOffsetValue, recvWindow | はい |
/api/v3/orderList/otoco (POST) | 新規注文リスト - OTOCO | symbol, workingType, workingSide, workingPrice, workingQuantity, pendingSide, pendingQuantity, pendingAboveType | listClientOrderId, newOrderRespType, selfTradePreventionMode, workingClientOrderId, workingIcebergQty, workingTimeInForce, workingStrategyId, workingStrategyType, workingPegPriceType, workingPegOffsetType, workingPegOffsetValue, pendingAboveClientOrderId, pendingAbovePrice, pendingAboveStopPrice, pendingAboveTrailingDelta, pendingAboveIcebergQty, pendingAboveTimeInForce, pendingAboveStrategyId, pendingAboveStrategyType, pendingAbovePegPriceType, pendingAbovePegOffsetType, pendingAbovePegOffsetValue, pendingBelowType, pendingBelowClientOrderId, pendingBelowPrice, pendingBelowStopPrice, pendingBelowTrailingDelta, pendingBelowIcebergQty, pendingBelowTimeInForce, pendingBelowStrategyId, pendingBelowStrategyType, pendingBelowPegPriceType, pendingBelowPegOffsetType, pendingBelowPegOffsetValue, recvWindow | はい |
/api/v3/sor/order (POST) | SORを使用した新規注文 | symbol, side, type, quantity | timeInForce, price, newClientOrderId, strategyId, strategyType, icebergQty, newOrderRespType, selfTradePreventionMode, recvWindow | はい |
/api/v3/sor/order/test (POST) | SORを使用した新規注文のテスト | symbol, side, type, quantity | computeCommissionRates, timeInForce, price, newClientOrderId, strategyId, strategyType, icebergQty, newOrderRespType, selfTradePreventionMode, recvWindow | はい |
/api/v3/account (GET) | アカウント情報 | なし | omitZeroBalances, recvWindow | はい |
/api/v3/account/commission (GET) | 手数料率を照会 | symbol | なし | はい |
/api/v3/allOrderList (GET) | すべての注文リストを照会 | なし | fromId, startTime, endTime, limit, recvWindow | はい |
/api/v3/allOrders (GET) | すべての注文 | symbol | orderId, startTime, endTime, limit, recvWindow | はい |
/api/v3/myAllocations (GET) | 割り当てを照会 | symbol | startTime, endTime, fromAllocationId, limit, orderId, recvWindow | はい |
/api/v3/myFilters (GET) | 関連するフィルターを照会 | symbol | recvWindow | はい |
/api/v3/myPreventedMatches (GET) | 防止されたマッチを照会 | symbol | preventedMatchId, orderId, fromPreventedMatchId, limit, recvWindow | はい |
/api/v3/myTrades (GET) | アカウントの取引一覧 | symbol | orderId, startTime, endTime, fromId, limit, recvWindow | はい |
/api/v3/openOrderList (GET) | 未約定の注文リストを照会 | なし | recvWindow | はい |
/api/v3/order/amendments (GET) | 注文の変更履歴を照会 | symbol, orderId | fromExecutionId, limit, recvWindow | はい |
/api/v3/rateLimit/order (GET) | 未約定注文数を照会 | なし | recvWindow | はい |
Parameters
Common Parameters
- symbol:照会するシンボル(例:BNBUSDT)
- symbols:照会するシンボルのリスト
- permissions:照会する権限のリスト
- showPermissionSets:
permissionSetsフィールドの内容を設定するかどうかを制御します。デフォルトはtrueです(例:true) - symbol:(例:BNBUSDT)
- fromId:集約取引の取得開始 ID(この ID を含みます)。(例:1)
- startTime:集約取引の取得開始時刻(ミリ秒単位のタイムスタンプ。この時刻を含みます)。(例:1735693200000)
- endTime:集約取引の取得終了時刻(ミリ秒単位のタイムスタンプ。この時刻を含みます)。(例:1735693200000)
- limit:デフォルト:500、最大:1000。(例:500)
- timeZone:デフォルト:0(UTC)
- recvWindow:値は
60000を超えることはできません。小数点以下3桁まで指定できるため、マイクロ秒単位で指定できます(例:6000.346)。(例:5000) - timestamp:(例:1)
- quantity:(例:1)
- quoteOrderQty:(例:1)
- price:(例:400)
- newClientOrderId:未約定注文の中で一意の ID です。指定されていない場合は自動生成されます。同じ
newClientOrderIDを持つ注文は、前の注文が約定済みの場合にのみ受け付けられます。それ以外の場合、注文は拒否されます。 - strategyId:(例:1)
- strategyType:値は
1000000未満にできません。(例:1) - stopPrice:
STOP_LOSS、STOP_LOSS_LIMIT、TAKE_PROFIT、TAKE_PROFIT_LIMIT注文で使用します。(例:1) - trailingDelta:トレーリングストップ注文の FAQ を参照してください。(例:1)
- icebergQty:
LIMIT、STOP_LOSS_LIMIT、TAKE_PROFIT_LIMITとともに使用して、アイスバーグ注文を作成します。(例:1) - pegOffsetValue:価格をペッグする価格レベル(最大:100)。PeggedOrdersInfo を参照してください(例:1)
- orderId:(例:1)
- origClientOrderId:
- newQty:
newQtyは 0 より大きく、注文数量未満である必要があります。(例:1) - cancelNewClientOrderId:このキャンセルを一意に識別するために使用します。デフォルトでは自動生成されます。
- cancelOrigClientOrderId:
cancelOrderIdまたはcancelOrigClientOrderIdのいずれかを送信する必要があります。
cancelOrderIdとcancelOrigClientOrderIdの両方のパラメーターが指定された場合、まずcancelOrderIdが検索され、その結果のcancelOrigClientOrderIdが該当注文と照合されます。
両方の条件を満たさない場合、リクエストは拒否されます。 - cancelOrderId:
cancelOrderIdまたはcancelOrigClientOrderIdのいずれかを送信する必要があります。cancelOrderIdとcancelOrigClientOrderIdの両方のパラメーターが指定された場合、まずcancelOrderIdが検索され、その結果のcancelOrigClientOrderIdが該当注文と照合されます。
両方の条件を満たさない場合、リクエストは拒否されます。(例:1) - listClientOrderId:注文リスト全体に対する一意の ID
- quantity:(例:1)
- limitClientOrderId:指値注文の一意の ID
- price:(例:1)
- limitStrategyId:(例:1)
- limitStrategyType:値は
1000000未満にできません。(例:1) - limitIcebergQty:
LIMIT_MAKERのレッグをアイスバーグ注文にするために使用します。(例:1) - stopClientOrderId:ストップロス/ストップロス指値レッグの一意の ID
- stopPrice:(例:1)
- stopStrategyId:(例:1)
- stopStrategyType:値は
1000000未満にできません。(例:1) - stopLimitPrice:指定する場合は、
stopLimitTimeInForceが必須です。(例:1) - stopIcebergQty:
STOP_LOSS_LIMITレッグをアイスバーグ注文にするために使用します。(例:1) - computeCommissionRates:デフォルト:
false。詳細については、手数料に関する FAQ を参照してください。 - orderListId:
orderListIdまたはlistClientOrderIdのいずれかを指定する必要があります(例:1) - aboveClientOrderId:above 注文に対する、未約定注文の中で任意に指定できる一意の ID です。指定されていない場合は自動生成されます
- aboveIcebergQty:
aboveTimeInForceがGTCの場合にのみ使用できます。(例:1) - abovePrice:
aboveTypeがSTOP_LOSS_LIMIT、LIMIT_MAKER、TAKE_PROFIT_LIMITの場合に、指値価格を指定するために使用できます。(例:1) - aboveStopPrice:
aboveTypeがSTOP_LOSS、STOP_LOSS_LIMIT、TAKE_PROFIT、TAKE_PROFIT_LIMITの場合に使用できます。aboveStopPrice、aboveTrailingDelta、またはその両方を指定する必要があります。(例:1) - aboveTrailingDelta:トレーリングストップ注文の FAQ を参照してください。(例:1)
- aboveStrategyId:注文ストラテジー内で above 注文を識別する任意の数値です。(例:1)
- aboveStrategyType:above 注文のストラテジーを識別する任意の数値です。1000000 未満の値は予約済みのため使用できません。(例:1)
- abovePegOffsetValue:(例:1)
- belowClientOrderId:below 注文に対する、未約定注文の中で任意に指定できる一意の ID です。指定されていない場合は自動生成されます
- belowIcebergQty:
belowTimeInForceがGTCの場合にのみ使用できます。(例:1) - belowPrice:
belowTypeがSTOP_LOSS_LIMIT、LIMIT_MAKER、TAKE_PROFIT_LIMITの場合に、指値価格を指定するために使用できます。(例:1) - belowStopPrice:
belowTypeがSTOP_LOSS、STOP_LOSS_LIMIT, TAKE_PROFIT、TAKE_PROFIT_LIMITの場合に使用できます。belowStopPrice、belowTrailingDelta、またはその両方を指定する必要があります。(例:1) - belowTrailingDelta:トレーリングストップ注文の FAQ を参照してください。(例:1)
- belowStrategyId:注文ストラテジー内で below 注文を識別する任意の数値です。(例:1)
- belowStrategyType:below 注文のストラテジーを識別する任意の数値です。1000000 未満の値は予約済みのため使用できません。(例:1)
- belowPegOffsetValue:(例:1)
- workingClientOrderId:working 注文に対する、未約定注文の中で任意に指定できる一意の ID です。指定されていない場合は自動生成されます。
- workingPrice:(例:1)
- workingQuantity:working 注文の数量を設定します。(例:1)
- workingIcebergQty:
workingTimeInForceがGTCの場合、またはworkingTypeがLIMIT_MAKERの場合にのみ使用できます。(例:1) - workingStrategyId:注文ストラテジー内で working 注文を識別する任意の数値です。(例:1)
- workingStrategyType:working 注文のストラテジーを識別する任意の数値です。1000000 未満の値は予約済みのため使用できません。(例:1)
- workingPegOffsetValue:(例:1)
- pendingClientOrderId:pending 注文に対する、未約定注文の中で任意に指定できる一意の ID です。指定されていない場合は自動生成されます。
- pendingPrice:(例:1)
- pendingStopPrice:(例:1)
- pendingTrailingDelta:(例:1)
- pendingIcebergQty:
pendingTimeInForceがGTCの場合、またはpendingTypeがLIMIT_MAKERの場合にのみ使用できます。(例:1) - pendingStrategyId:注文ストラテジー内で pending 注文を識別する任意の数値です。(例:1)
- pendingStrategyType:pending 注文のストラテジーを識別する任意の数値です。1000000 未満の値は予約済みのため使用できません。(例:1)
- pendingPegOffsetValue:(例:1)
- pendingAboveClientOrderId:pending above 注文に対する、未約定注文の中で任意に指定できる一意の ID です。指定されていない場合は自動生成されます。
- pendingAbovePrice:
pendingAboveTypeがSTOP_LOSS_LIMIT、LIMIT_MAKER、TAKE_PROFIT_LIMITの場合に、指値価格を指定するために使用できます。(例:1) - pendingAboveStopPrice:
pendingAboveTypeがSTOP_LOSS、STOP_LOSS_LIMIT、TAKE_PROFIT、TAKE_PROFIT_LIMITの場合に使用できます(例:1) - pendingAboveTrailingDelta:トレーリングストップの FAQ を参照してください(例:1)
- pendingAboveIcebergQty:
pendingAboveTimeInForceがGTCの場合、またはpendingAboveTypeがLIMIT_MAKERの場合にのみ使用できます。(例:1) - pendingAboveStrategyId:注文ストラテジー内で pending above 注文を識別する任意の数値です。(例:1)
- pendingAboveStrategyType:pending above 注文のストラテジーを識別する任意の数値です。1000000 未満の値は予約済みのため使用できません。(例:1)
- pendingAbovePegOffsetValue:(例:1)
- pendingBelowClientOrderId:pending below 注文に対する、未約定注文の中で任意に指定できる一意の ID です。指定されていない場合は自動生成されます。
- pendingBelowPrice:
pendingBelowTypeがSTOP_LOSS_LIMITまたはTAKE_PROFIT_LIMITの場合に、指値価格を指定するために使用できます(例:1) - pendingBelowStopPrice:
pendingBelowTypeがSTOP_LOSS、STOP_LOSS_LIMIT, TAKE_PROFIT、またはTAKE_PROFIT_LIMITの場合に使用できます。pendingBelowStopPrice、pendingBelowTrailingDelta、またはその両方を指定する必要があります。(例:1) - pendingBelowTrailingDelta:(例:1)
- pendingBelowIcebergQty:
pendingBelowTimeInForceがGTCの場合、またはpendingBelowTypeがLIMIT_MAKERの場合にのみ使用できます。(例:1) - pendingBelowStrategyId:注文ストラテジー内で pending below 注文を識別する任意の数値です。(例:1)
- pendingBelowStrategyType:pending below 注文のストラテジーを識別する任意の数値です。1000000 未満の値は予約済みのため使用できません。(例:1)
- pendingBelowPegOffsetValue:(例:1)
- pendingQuantity:pending 注文の数量を設定します。(例:1)
- omitZeroBalances:
trueに設定すると、アカウントの残高のうちゼロ以外のもののみを返します。デフォルト値:false - fromAllocationId:(例:1)
- timestamp:(例:1)
- preventedMatchId:(例:1)
- fromPreventedMatchId:(例:1)
- orderId:(例:1)
- fromExecutionId:(例:1)
- limit:デフォルト:500、最大:1000(例:500)
列挙型
- interval: 1s | 1m | 3m | 5m | 15m | 30m | 1h | 2h | 4h | 6h | 8h | 12h | 1d | 3d | 1w | 1M
- windowSize: 1m | 2m | 3m | 4m | 5m | 6m | 7m | 8m | 9m | 10m | 11m | 12m | 13m | 14m | 15m | 16m | 17m | 18m | 19m | 20m | 21m | 22m | 23m | 24m | 25m | 26m | 27m | 28m | 29m | 30m | 31m | 32m | 33m | 34m | 35m | 36m | 37m | 38m | 39m | 40m | 41m | 42m | 43m | 44m | 45m | 46m | 47m | 48m | 49m | 50m | 51m | 52m | 53m | 54m | 55m | 56m | 57m | 58m | 59m | 1h | 2h | 3h | 4h | 5h | 6h | 7h | 8h | 9h | 10h | 11h | 12h | 13h | 14h | 15h | 16h | 17h | 18h | 19h | 20h | 21h | 22h | 23h | 1d | 2d | 3d | 4d | 5d | 6d
- type: FULL | MINI
- type: MARKET | LIMIT | STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT | LIMIT_MAKER | NON_REPRESENTABLE
- selfTradePreventionMode: NONE | EXPIRE_TAKER | EXPIRE_MAKER | EXPIRE_BOTH | DECREMENT | NON_REPRESENTABLE
- symbolStatus: TRADING | END_OF_DAY | HALT | BREAK | NON_REPRESENTABLE
- timeInForce: GTC | IOC | FOK | NON_REPRESENTABLE
- pegPriceType: PRIMARY_PEG | MARKET_PEG | NON_REPRESENTABLE
- pegOffsetType: PRICE_LEVEL | NON_REPRESENTABLE
- newOrderRespType: ACK | RESULT | FULL | MARKET | LIMIT
- cancelRestrictions: ONLY_NEW | NEW | ONLY_PARTIALLY_FILLED | PARTIALLY_FILLED
- cancelReplaceMode: STOP_ON_FAILURE | ALLOW_FAILURE
- orderRateLimitExceededMode: DO_NOTHING | CANCEL_ONLY
- stopLimitTimeInForce: GTC | IOC | FOK
- side: BUY | SELL
- aboveType: STOP_LOSS_LIMIT | STOP_LOSS | LIMIT_MAKER | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- aboveTimeInForce: GTC | IOC | FOK
- abovePegPriceType: PRIMARY_PEG | MARKET_PEG
- abovePegOffsetType: PRICE_LEVEL
- belowType: STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- belowTimeInForce: GTC | IOC | FOK
- belowPegPriceType: PRIMARY_PEG | MARKET_PEG
- belowPegOffsetType: PRICE_LEVEL
- workingType: LIMIT | LIMIT_MAKER
- workingPegPriceType: PRIMARY_PEG | MARKET_PEG
- workingPegOffsetType: PRICE_LEVEL
- pendingPegPriceType: PRIMARY_PEG | MARKET_PEG
- pendingPegOffsetType: PRICE_LEVEL
- pendingAboveType: STOP_LOSS_LIMIT | STOP_LOSS | LIMIT_MAKER | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- pendingAbovePegPriceType: PRIMARY_PEG | MARKET_PEG
- pendingAbovePegOffsetType: PRICE_LEVEL
- pendingBelowType: STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT
- pendingBelowPegPriceType: PRIMARY_PEG | MARKET_PEG
- pendingBelowPegOffsetType: PRICE_LEVEL
- workingSide: BUY | SELL
- workingTimeInForce: GTC | IOC | FOK
- pendingType: LIMIT | MARKET | STOP_LOSS | STOP_LOSS_LIMIT | TAKE_PROFIT | TAKE_PROFIT_LIMIT | LIMIT_MAKER
- pendingSide: BUY | SELL
- pendingTimeInForce: GTC | IOC | FOK
- pendingAboveTimeInForce: GTC | IOC | FOK
- pendingBelowTimeInForce: GTC | IOC | FOK
認証
認証が必要なエンドポイントでは、Binance API の認証情報を指定する必要があります。 必要な認証情報:
- apiKey: Binance API キー (ヘッダー用)
- secretKey: Binance API シークレット (署名用)
ベース URL:
- メインネット: https://api.binance.com
- テストネット: https://testnet.binance.vision
- デモ: https://demo-api.binance.com
セキュリティ
認証情報の共有
ユーザーは、さまざまな方法で Binance API 認証情報を提供できます。エージェントは最初の 2 つの方法で認証情報を自動的に取得しようとしますが、ユーザーは認証情報を設定した、または .env ファイルに保存したことをエージェントに明示することもできます。その場合、エージェントはそのファイルを再読み込みする必要があります。エージェントは最初の 2 つの方法を使って、ユーザーの確認なしで HTTP リクエストを行うこともできます。
- 環境変数
次の特定の変数のみを検索します(環境変数全体を出力しないでください)。
許可されている環境変数
- Mainnet:
BINANCE_API_KEYおよびBINANCE_SECRET_KEY - Testnet:
BINANCE_TESTNET_API_KEYおよびBINANCE_TESTNET_SECRET_KEY - Demo:
BINANCE_DEMO_API_KEYおよびBINANCE_DEMO_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 で個別のキーを読み取ってください。
# 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 .envまたは. .env) - 現在のタスクで明示的に必要な認証情報のみを読み取ってください
- 出力や返信で生の認証情報を表示またはログに記録しないでください
- 実際の認証情報が含まれている場合は、
TOOLS.mdをバージョン管理にコミットしないでください。.gitignoreに追加してください
API キーとシークレットを決して開示しない
API キーとシークレットのファイルの場所を決して開示しないでください。
Mainnet と Testnet 以外のウェブサイトに、API キーとシークレットを決して送信しないでください。
シークレット全体を決して表示しない
ユーザーに認証情報を表示する場合:
- 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
- Testnet:false
testnet-dev
- API キー:your_testnet_api_key
- シークレット:your_testnet_secret
- Testnet: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
エージェントの動作
- 認証情報を求められた場合:シークレットをマスクします(末尾 5 文字のみ表示)
- アカウントを一覧表示する場合:名前と環境を表示し、キーは決して表示しません
- アカウントの選択:曖昧な場合は尋ね、デフォルトでは main を選択します
- Mainnet で取引を行う場合は、続行する前に「CONFIRM」と入力するようユーザーに求めて確認します
- 新しい認証情報:名前、環境、署名モードを尋ねます
- リクエストに署名が必要で、そのリクエストが注文ではなく、API キーが
mainnet、testnet、またはdemoのキーとして説明されていない場合は、ユーザーに尋ねずに、異なるベース URL でリクエストを試し、動作するか確認してください。動作した場合は、対応する環境とともにキーを保存してください。
新しいアカウントの追加
ユーザーがインラインファイルまたはメッセージで新しい認証情報を提供した場合:
- アカウント名を尋ねます
- メインネット、テストネット、デモのいずれかを尋ねます
- 表示をマスキングした確認メッセージとともに
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-spot/1.1.0 (Skill)
実装の詳細については、references/authentication.mdを参照してください。