assets について
Binanceの資産関連APIを利用するエージェント向けのスキルです。口座、資産、入出金、振替の情報をJSONで返し、一部のAPIには認証情報が必要です。
主な機能
- 01口座状態と権限の確認
- 02資産・残高・スナップショットの表示
- 03入金・出金履歴の取得
- 04入金アドレスの取得と出金申請
- 05資産振替の照会と実行
- 06少額残高のコンバート
活用シーン
- 01口座の資産と残高の確認
- 02入金や出金の状況追跡
- 03Binanceウォレット間の資産振替
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ binance/ binance-skills-hub --skill assetsインストール後、Claude Code で/assetsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdLICENSE.mdreferences/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) | type | startTime, 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, endTime | tranId, clientTranId, asset, current, size | はい |
/sapi/v1/asset/dust-convert/convert (POST) | ダストを変換(USER_DATA) | asset | clientId, targetAsset, thirdPartyClientId, dustQuotaAssetToTargetAssetPrice | はい |
/sapi/v1/asset/dust-convert/query-convertible-assets (POST) | 変換可能なダスト資産(USER_DATA) | targetAsset | dustQuotaAssetToTargetAssetPrice | はい |
/sapi/v1/asset/dribblet (GET) | ダストログ(USER_DATA) | なし | accountType, startTime, endTime, recvWindow | はい |
/sapi/v1/asset/dust (POST) | ダスト振替(USER_DATA) | asset | accountType, 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, endTime | type, asset, current, size, recvWindow | はい |
/sapi/v1/asset/transfer (GET) | ユーザーのユニバーサル振替履歴を照会(USER_DATA) | type | startTime, endTime, current, size, fromSymbol, toSymbol, recvWindow | はい |
/sapi/v1/asset/transfer (POST) | ユーザーのユニバーサル振替(USER_DATA) | type, asset, amount | fromSymbol, 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) | coin | network, 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) | coin | network | はい |
/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, amount | withdrawOrderId, 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, signature | network, coin, amount, address, addressTag | はい |
/sapi/v1/localentity/broker/withdraw/apply (POST) | ブローカー出金(トラベルルールが必要な現地法人のブローカー向け)(USER_DATA) | address, coin, amount, withdrawOrderId, questionnaire, originatorPii, signature | addressTag, 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, questionnaire | withdrawOrderId, 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:
- 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 .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
エージェントの動作
- 認証情報を求められた場合:シークレットをマスクします(末尾 5 文字のみを表示)
- アカウントの一覧表示:名前と環境を表示し、キーは決して表示しません
- アカウントの選択:曖昧な場合は尋ね、デフォルトは main とします
- Mainnet で取引を行う場合:「CONFIRM」と入力して続行するようユーザーに求め、事前に確認します
- 新しい認証情報:名前、環境、署名方式を尋ねます
新しいアカウントの追加
ユーザーがインラインファイルまたはメッセージで新しい認証情報を提供した場合:
- アカウント名を尋ねます
- マスクした表示で確認しながら、
TOOLS.mdに保存します
リクエストへの署名
署名が必要な取引エンドポイントの場合:
- 最初にキーの種類を判定し、署名する前にシークレットキーの形式を調べます。
- タイムスタンプ(Unix ms)を含むすべてのパラメーターでクエリー文字列を構築します。
- RFC 3986 に従い、UTF-8 を使用してパラメーターをパーセントエンコードします。
- アカウント設定に応じて、secretKey を使用し、HMAC SHA256、RSA、または Ed25519 でクエリー文字列に署名します。
- クエリー文字列に署名を追加します。
X-MBX-APIKEYヘッダーを含めます。
それ以外の場合は、手順 4~6 を実行しないでください。
ユーザーエージェントヘッダー
User-Agent ヘッダーに次の文字列を含めてください:binance-wallet/1.1.0 (Skill)
実装の詳細については、references/authentication.mdを参照してください。