mcpField
A
assets

assets

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

assets について

Binanceの資産関連APIを利用するエージェント向けのスキルです。口座、資産、入出金、振替の情報をJSONで返し、一部のAPIには認証情報が必要です。

主な機能

  1. 01口座状態と権限の確認
  2. 02資産・残高・スナップショットの表示
  3. 03入金・出金履歴の取得
  4. 04入金アドレスの取得と出金申請
  5. 05資産振替の照会と実行
  6. 06少額残高のコンバート

活用シーン

  1. 01口座の資産と残高の確認
  2. 02入金や出金の状況追跡
  3. 03Binanceウォレット間の資産振替

インストール

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

$npx skills add https://github.com/binance/binance-skills-hub --skill assets

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

同梱ファイル

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

CHANGELOG.md
LICENSE.md
references/
authentication.md

詳細

Binance 資産スキル

認証済み API エンドポイントを使用して Binance の資産をリクエストします。一部のエンドポイントでは API キーとシークレットキーが必要です。結果は JSON 形式で返されます。

クイックリファレンス

エンドポイント説明必須任意認証
/sapi/v1/account/apiTradingStatus (GET)アカウントの API 取引ステータス(USER_DATA)なしrecvWindowはい
/sapi/v1/account/info (GET)アカウント情報(USER_DATA)なしrecvWindowはい
/sapi/v1/account/status (GET)アカウントステータス(USER_DATA)なしrecvWindowはい
/sapi/v1/account/apiRestrictions (GET)API キーの権限を取得(USER_DATA)なしrecvWindowはい
/sapi/v1/accountSnapshot (GET)日次アカウントスナップショット(USER_DATA)typestartTime, endTime, limit, recvWindowはい
/sapi/v1/account/disableFastWithdrawSwitch (POST)高速出金スイッチを無効化(USER_DATA)なしrecvWindowはい
/sapi/v1/account/enableFastWithdrawSwitch (POST)高速出金スイッチを有効化(USER_DATA)なしrecvWindowはい
/sapi/v1/bnbBurn (POST)現物取引とマージン利息での BNB バーンを切り替え(USER_DATA)なしspotBNBBurn, interestBNBBurn, recvWindowはい
/sapi/v1/asset/assetDetail (GET)資産の詳細(USER_DATA)なしasset, recvWindowはい
/sapi/v1/asset/dust-btc (POST)BNB に変換可能な資産を取得(USER_DATA)なしaccountType, recvWindowはい
/sapi/v1/asset/assetDividend (GET)資産の配当記録(USER_DATA)なしasset, startTime, endTime, limit, recvWindowはい
/sapi/v1/asset/ledger-transfer/cloud-mining/queryByPage (GET)クラウドマイニングの支払いと返金の履歴を取得(USER_DATA)startTime, endTimetranId, clientTranId, asset, current, sizeはい
/sapi/v1/asset/dust-convert/convert (POST)ダストを変換(USER_DATA)assetclientId, targetAsset, thirdPartyClientId, dustQuotaAssetToTargetAssetPriceはい
/sapi/v1/asset/dust-convert/query-convertible-assets (POST)変換可能なダスト資産(USER_DATA)targetAssetdustQuotaAssetToTargetAssetPriceはい
/sapi/v1/asset/dribblet (GET)ダストログ(USER_DATA)なしaccountType, startTime, endTime, recvWindowはい
/sapi/v1/asset/dust (POST)ダスト振替(USER_DATA)assetaccountType, recvWindowはい
/sapi/v1/asset/get-funding-asset (POST)資金ウォレット(USER_DATA)なしasset, needBtcValuation, recvWindowはい
/sapi/v1/spot/open-symbol-list (GET)オープンシンボル一覧を取得(MARKET_DATA)なしなしいいえ
/sapi/v1/asset/custody/transfer-history (GET)ユーザーの委任履歴を照会(マスターアカウント向け)(USER_DATA)email, startTime, endTimetype, asset, current, size, recvWindowはい
/sapi/v1/asset/transfer (GET)ユーザーのユニバーサル振替履歴を照会(USER_DATA)typestartTime, endTime, current, size, fromSymbol, toSymbol, recvWindowはい
/sapi/v1/asset/transfer (POST)ユーザーのユニバーサル振替(USER_DATA)type, asset, amountfromSymbol, toSymbol, recvWindowはい
/sapi/v1/asset/wallet/balance (GET)ユーザーのウォレット残高を照会(USER_DATA)なしquoteAsset, recvWindowはい
/sapi/v1/spot/delist-schedule (GET)現物取引の上場廃止スケジュールを取得なしrecvWindowいいえ
/sapi/v1/asset/tradeFee (GET)取引手数料(USER_DATA)なしsymbol, recvWindowはい
/sapi/v3/asset/getUserAsset (POST)ユーザー資産(USER_DATA)なしasset, needBtcValuation, recvWindowはい
/sapi/v1/capital/config/getall (GET)全コインの情報(USER_DATA)なしrecvWindowはい
/sapi/v1/capital/deposit/address (GET)入金アドレス(ネットワーク対応)(USER_DATA)coinnetwork, amount, recvWindowはい
/sapi/v1/capital/deposit/hisrec (GET)入金履歴(ネットワーク対応)(USER_DATA)なしincludeSource, coin, status, startTime, endTime, offset, limit, recvWindow, txIdはい
/sapi/v1/capital/deposit/address/list (GET)ネットワーク付き入金アドレス一覧を取得(USER_DATA)coinnetworkはい
/sapi/v1/capital/withdraw/address/list (GET)出金アドレス一覧を取得(USER_DATA)なしなしはい
/sapi/v1/capital/withdraw/quota (GET)出金限度額を取得(USER_DATA)なしなしはい
/sapi/v1/capital/deposit/credit-apply (POST)ワンクリック入金反映申請(期限切れアドレスへの入金向け)(USER_DATA)なしdepositId, txId, subAccountId, subUserIdはい
/sapi/v1/capital/withdraw/history (GET)出金履歴(ネットワーク対応)(USER_DATA)なしcoin, withdrawOrderId, status, offset, limit, idList, startTime, endTime, recvWindowはい
/sapi/v1/capital/withdraw/apply (POST)出金(USER_DATA)coin, address, amountwithdrawOrderId, network, addressTag, transactionFeeFlag, name, walletType, recvWindowはい
/sapi/v1/system/status (GET)システムステータス(システム)なしなしいいえ
/sapi/v1/addressVerify/list (GET)アドレス認証リストを取得(USER_DATA)なしrecvWindowはい
/sapi/v1/localentity/broker/deposit/provide-info (PUT)入金アンケートを送信(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)subAccountId, depositId, questionnaire, beneficiaryPii, signaturenetwork, coin, amount, address, addressTagはい
/sapi/v1/localentity/broker/withdraw/apply (POST)ブローカー出金(トラベルルールが必要な現地法人のブローカー向け)(USER_DATA)address, coin, amount, withdrawOrderId, questionnaire, originatorPii, signatureaddressTag, network, addressName, transactionFeeFlag, walletTypeはい
/sapi/v2/localentity/deposit/history (GET)入金履歴 V2(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)なしdepositId, txId, network, coin, retrieveQuestionnaire, startTime, endTime, offset, limitはい
/sapi/v1/localentity/deposit/history (GET)入金履歴(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)なしtrId, txId, tranId, network, coin, travelRuleStatus, pendingQuestionnaire, startTime, endTime, offset, limitはい
/sapi/v2/localentity/deposit/provide-info (PUT)入金アンケート V2 を送信(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)depositId, questionnaireなしはい
/sapi/v1/localentity/deposit/provide-info (PUT)入金アンケートを送信(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)tranId, questionnaireなしはい
/sapi/v1/localentity/vasp (GET)VASP 一覧(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)なしrecvWindowはい
/sapi/v1/localentity/questionnaire-requirements (GET)アンケート要件を確認(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)なしrecvWindowはい
/sapi/v2/localentity/withdraw/history (GET)出金履歴 V2(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)なしtrId, txId, withdrawOrderId, network, coin, travelRuleStatus, offset, limit, startTime, endTime, recvWindowはい
/sapi/v1/localentity/withdraw/history (GET)出金履歴(トラベルルールが必要な現地法人向け)(ネットワーク対応)(USER_DATA)なしtrId, txId, withdrawOrderId, network, coin, travelRuleStatus, offset, limit, startTime, endTime, recvWindowはい
/sapi/v1/localentity/withdraw/apply (POST)出金(トラベルルールが必要な現地法人向け)(USER_DATA)coin, address, amount, questionnairewithdrawOrderId, network, addressTag, transactionFeeFlag, name, walletType, recvWindowはい

パラメーター

共通パラメーター
  • recvWindow: (例:5000)
  • type:
  • startTime: (例:1623319461670)
  • endTime: (例:1641782889000)
  • limit: 最小 7、最大 30、デフォルト 7(例:7)
  • spotBNBBurn: "true" または "false"。SPOT で取引手数料の支払いに BNB を使用するかどうかを指定します。
  • interestBNBBurn: "true" または "false"。マージンローンの利息の支払いに BNB を使用するかどうかを指定します。
  • asset: 資産が空欄の場合、ユーザーが保有するすべての正の残高の資産を照会します。
  • accountType: SPOT または MARGIN、デフォルトは SPOT(例:SPOT)
  • tranId: 取引 ID(例:1)
  • clientTranId: 一意のフラグ(例:1)
  • startTime: (例:1623319461670)
  • endTime: (例:1641782889000)
  • current: 現在のページ。デフォルトは 1、最小値は 1(例:1)
  • size: ページサイズ。デフォルトは 10、最大値は 100(例:10)
  • asset:
  • clientId: リクエストの一意の ID(例:1)
  • targetAsset:
  • thirdPartyClientId: (例:1)
  • dustQuotaAssetToTargetAssetPrice: (例:1.0)
  • targetAsset:
  • needBtcValuation: true または false
  • email:
  • type: Delegate/Undelegate
  • fromSymbol:
  • toSymbol:
  • quoteAsset: USDT、ETH、USDC、BNB など。デフォルトは BTC(例:BTC)
  • symbol:
  • needBtcValuation: BTC 評価が必要かどうか。
  • amount: (例:1.0)
  • coin:
  • network:
  • amount: (例:1.0)
  • includeSource: デフォルト:false。true に設定すると、sourceAddressフィールドを返します。
  • coin:
  • status: 0(0:メール送信済み、2:承認待ち、3:却下、4:処理中、6:完了)
  • offset: デフォルト:0
  • txId: (例:1)
  • depositId: 入金レコード ID。優先して使用します(例:1)
  • subAccountId: Cloud ユーザーのサブアカウント ID(例:1)
  • subUserId: 親ユーザーのサブユーザー ID(例:1)
  • withdrawOrderId: クライアント側の出金 ID。POST /sapi/v1/capital/withdraw/apply で指定した場合、ここで照会に使用できます。(例:1)
  • idList: POST /sapi/v1/capital/withdraw/apply のレスポンスで返される ID のリスト。, で区切ります。
  • address:
  • addressTag: XRP、XMR などのコインで使用するセカンダリアドレス識別子。
  • transactionFeeFlag: 内部振替時、送金先アカウントに手数料を返す場合は true、送金元アカウントに手数料を返す場合は false です。デフォルトは false です。
  • name: アドレスの説明です。アドレス帳の上限は 200 件です。名前に含まれるスペースは %20 にエンコードしてください。
  • walletType: 出金に使用するウォレットの種類です。0 は現物ウォレット、1 は資金調達ウォレットです。デフォルトの walletType は、wallet->Fiat and Spot/Funding->Deposit で現在「選択されているウォレット」です。
  • subAccountId: 外部ユーザー ID。(例:1)
  • depositId: ウォレットの入金 ID(例:1)
  • questionnaire: JSON 形式のアンケート回答。
  • beneficiaryPii: JSON 形式の受取人の Pii。
  • address:
  • signature: 最後のパラメーターでなければなりません。
  • addressName: アドレスの説明です。アドレス帳の上限は 200 件です。名前に含まれるスペースは %20 にエンコードしてください。
  • withdrawOrderId: クライアントが定義した出金 ID(クライアント内部の withdrawID)(例:1)
  • originatorPii: JSON 形式の送金人の Pii。下記の StandardPii セクションを参照してください。
  • depositId: ウォレットの取引 ID のカンマ(,)区切りリスト(例:1)
  • retrieveQuestionnaire: true:レスポンスに questionnaire を含めます。
  • trId: トラベルルールレコード ID のカンマ(,)区切りリスト(例:1)
  • tranId: ウォレットの取引 ID のカンマ(,)区切りリスト(例:1)
  • travelRuleStatus: 0:完了、1:保留中、2:失敗
  • pendingQuestionnaire: true:入金アンケートが保留中のレコードのみを返します。false/未指定:すべてのレコードを返します。
  • tranId: ウォレットの取引 ID(例:1)

認証

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

  • apiKey:ヘッダーに指定する Binance API キー
  • secretKey:署名に使用する Binance API シークレット

ベース URL:

セキュリティ

認証情報の共有

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

  1. 環境変数

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

許可された環境変数

  • 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 を参照)。

  1. シークレットファイル(.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 ファイルに保存したことを伝えることができます。その場合、そのファイルを再読み込みしてください。

  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

アカウントの一覧表示

アカウントを一覧表示する場合は、名前と環境のみを表示し、キーは決して表示しないでください。 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

エージェントの動作

  1. 認証情報を求められた場合:シークレットをマスクします(末尾 5 文字のみを表示)
  2. アカウントの一覧表示:名前と環境を表示し、キーは決して表示しません
  3. アカウントの選択:曖昧な場合は尋ね、デフォルトは main とします
  4. Mainnet で取引を行う場合:「CONFIRM」と入力して続行するようユーザーに求め、事前に確認します
  5. 新しい認証情報:名前、環境、署名方式を尋ねます

新しいアカウントの追加

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

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

リクエストへの署名

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

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

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

ユーザーエージェントヘッダー

User-Agent ヘッダーに次の文字列を含めてください:binance-wallet/1.1.0 (Skill)

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

コメント