binance-wallet-tracker について
baw CLIを使ってオンチェーンのウォレットを追跡するスキルです。プライベートグループや公開されているSmart Money、KOLのトークン・取引データを監視し、複数チェーンの照会や管理、9種類の分析シナリオに対応します。
主な機能
- 01トークンと取引の動向監視
- 02グループ内および公開データの分析
- 03グループ・アドレス・フォローの管理
- 04複数のブロックチェーンに対応
- 059種類のリプレイ分析シナリオ
- 06JSON形式での構造化出力
活用シーン
- 01コンセンサストークンとリスクの確認
- 02特定トークンの購入アドレスの特定
- 03ウォレットグループの取引傾向分析
- 04大口注文や取引パターンの検出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ binance/ binance-skills-hub --skill binance-wallet-trackerインストール後、Claude Code で/binance-wallet-trackerを入力して読み込まれたか確認します。
同梱ファイルreferences/analytics.mdreferences/cli.md
詳細
Binance Wallet Tracker Skill
オンチェーンウォレットの追跡と監視を行います。プライベートグループまたは公開のスマートマネー/KOL データを対象に、トークン単位および取引単位のアクティビティを監視します。リプレイとパターン検出のための分析シナリオを9つ標準搭載しています。
前提条件
このスキルには baw CLI(@binance/agentic-wallet npm パッケージ)が必要です。baw が見つからない場合:
npm install -g @binance/agentic-wallet
確認方法:baw --version を実行すると、1.6.2 以降が表示されるはずです。インストールに失敗する場合、またはユーザーが Node.js を利用できない場合は、Node.js >= 18 が必要であることを伝えてください。
使用する場面
検索
| ユーザーの意図 | コマンド |
|---|---|
| コンセンサストークン(買い手が多い) | tracker token query → consensusCount で並べ替え |
| パイオニアトークン(トレーダーが2人以下) | tracker token query → launchTime と consensusCount ≤ 2 で絞り込み |
| ランキングの差分(未追跡ウォレット) | leaderboard query(leaderboard skill)+ tracker address list → 差分を取得 |
| トークンベースの買い手検索 | tracker tx query → クライアント側で ca を使って絞り込み |
| 時間枠の概要 | tracker token query --period 4h + tracker tx query |
| 類似ウォレットの検索 | leaderboard analyze(leaderboard skill)→ アーキタイプを照合 |
評価
| ユーザーの意図 | コマンド |
|---|---|
| トークンのリスクスクリーニング | tracker token query → tokenRiskLevel ≥ 3 + consensusCount ≥ 3 で絞り込み |
| グループの売買リズム分析 | tracker tx query → アドレスごとのリズムを分析 |
| フォローリストの評価 | tracker follow + leaderboard analyze(複数スキルにまたがる操作) |
| トークンの注目度分析 | tracker tx query → ca ごとに集計 |
リプレイ
| ユーザーの意図 | コマンド |
|---|---|
| 4時間の包括的な概要 | tracker token query --period 4h + tracker tx query |
| 蓄積と分配(Accumulation/Distribution) | tracker token query → アドレスごとの buyCount/sellCount |
| セクターローテーション | tracker tx query → 時間枠ごとにトークン上位を比較 |
| 異常な大口注文 | tracker tx query → anomaly を検出 |
| 往復取引(Round-Trip) | tracker tx query → round-trip を検出 |
| 先行者とリーダー・フォロワー | tracker tx query → first-mover + leader-follower |
| 取引再開の検出 | tracker tx query → wake-up を検出 |
| ボットのような行動 | tracker tx query → bot-like を検出 |
9つの分析シナリオの詳細なルール:references/analytics.md
管理
| ユーザーの意図 | コマンド |
|---|---|
| グループの作成/名前変更 | tracker group create/update |
| アドレスの一括インポート | tracker address batch |
| アドレスの追加 | tracker address add |
| ラベルの更新/グループへのリンク | |
| アドレスの削除 | tracker address delete |
| アドレスのフォロー/フォロー解除 | tracker address follow/unfollow |
| フォローリストの表示 | tracker follow |
| アドレスの検索(あいまい検索) | tracker address search |
対応チェーン
| チェーン | chainId |
|---|---|
| BSC | 56 |
| Solana | CT_501 |
| Base | 8453 |
| Ethereum | 1 |
| Robinhood | 4663 |
この表には、トラッカーでの使用が確認されたチェーンを記載しています。baw wallet chains(ウォレットが対応するすべてのチェーンを返します。例:Arbitrum 42161、Polygon 137)の一部です。トラッキングに未対応と判断する前に、まずそのチェーンを試してください。ウォレットのチェーン一覧は動的に変化します。
コマンドツリー
baw tracker
token query # Token dimension monitor (private + --tag-type for public)
tx query # Trade dimension monitor (private + --tag-type for public)
follow # Query current user follow list (read-only, chainId only)
ws # WebSocket real-time push (--smy/--kol/--wallet/--address/--following)
group
list # Group list
create # Create group
update # Rename group
address
search # Fuzzy search address
list # Paginated address list
add # Add single address (wraps import)
batch # Batch import
update # Update label (label only)
link # Link to group (group/link)
delete # Delete (supports batch)
follow # Follow address
unfollow # Unfollow
すべてのコマンドで、構造化出力用の --json を指定できます。
token query と tx query には、--group-id(プライベートグループ)または --tag-type(公開 KOL/SMY)のいずれかが必須です。どちらも指定しない場合、エラーが返されます。
--tag-type に指定できる値:kol(KOL)、smy(Smart Money)。
トークンモニター(A2)
# Private — own group data (must specify --group-id or --tag-type)
baw tracker token query -c 56 --group-id 1 --json
baw tracker token query -c 56 --group-id 1 --period 4h --json
# Public — SMY/KOL data
baw tracker token query -c 56 --tag-type kol --json # KOL
baw tracker token query -c CT_501 --tag-type smy --json # Smart Money
トークンごとに集計されたデータを返します。トークン名、CA、価格、時価総額、出来高、addressList[](アドレスごとの買い/売り/流入)、launchTime、tokenRiskLevel、tokenTag が含まれます。
コンセンサスの計算:API はトップレベルの traderNum や inFlow を返しません。CLI は consensusCount = addressList.length、netInflow = Σ addressList[].inflow、countBuy/countSell = Σ 買い/売りの回数を集計します。これらのフィールドをそのまま使用してください。
アドレスごとのフィールド:address、label、buyCount、sellCount、inflow、tokenQty、latestTxTime、lastTrade、addressLogoUrl。
パラメーターと戻り値フィールドの詳細については、references/cli.mdを参照してください。
トランザクションモニター(A3)
# Private — own group trade flow
baw tracker tx query -c 56 --group-id 1 --json
# Public — SMY/KOL trade flow
baw tracker tx query -c 56 --tag-type smy --json
# Filter by trade side (19=buy, 11=first-buy, 29=sell, 21=clear)
baw tracker tx query -c 56 --group-id 1 --trade-side 19 --json
トレードごとのレコードを返します。txHash、logId、address、ts、tradeSideCategory、txUsdValue、tokenPrice、currentPrice、ca、tokenName、marketCap、tokenRiskLevel、tokenTagに加え、任意でtoAddress、toLabel、nativePrice、txNativeTokenQty、tokenDecimals、tokenSupply、launchTime、rwaTypeが含まれます。
⚠️ 重要:tsの単位は秒(ミリ秒ではありません)です — 10桁のUnixタイムスタンプです。すべての時間枠の計算(1時間未満の往復取引、72時間超の再開、10分間の共同購入)では秒を使用してください。A2のlatestTxTime/launchTimeはミリ秒(13桁)です。
ページネーションなし — 一致するレコードをすべて1つのレスポンスで返します。
ca/addressによるフィルタリング(スキルの責任):A3 APIはcaやaddressをフィルターパラメーターとして受け付けません。スキルがこのフィルタリングを処理します。tx queryからすべてのレコードを取得し、結果内のca(コントラクトアドレス)またはaddress(ウォレット)と一致するものを絞り込みます。これにより、「グループ内で特定のトークンを購入しているのは誰か」という主要なシナリオに対応できます。グループの全取引フローを取得してから、caで絞り込みます。
フォローのクエリ(A4)
# Query current user's follow list (chainId only)
baw tracker follow -c 56 --json
キーがフォロー中のアドレス、値が{label}のマップを返します。
制限事項:クエリできるのは現在のユーザーのフォローリストのみです。他のユーザーのフォローリストはクエリできません。「フォローリストの評価」シナリオでは、binance-leaderboardスキルのleaderboard analyzeと組み合わせて、フォロー中の各アドレスをスコアリングしてください。
グループ管理(B1)
# List groups (displayOrder: All=-1, Default=0, others sequential)
baw tracker group list -c 56 --json
# Create group
baw tracker group create -c 56 -n "Base-Sniper" --json
# Rename group
baw tracker group update -c 56 -g 1 -n "NewName" --json
# Note: group delete is not available in the CLI. Groups can only be created and renamed.
グループのフィールド:groupId、groupName、addressCount、displayOrder。グループはdisplayOrderで並べ替えます。All=-1、Default=0、その他は連番です。
アドレス管理(B2)
# Fuzzy search
baw tracker address search -c 56 -g 1 -a 0xabc --json
# Paginated list
baw tracker address list -c 56 -g 1 --page 1 --size 20 --json
# Single add (wraps import with enforce=false)
baw tracker address add -c 56 -g 1 -a 0xabc --label "Whale1" --json
# Batch import (comma-separated addresses or JSON array of {address,label})
baw tracker address batch -c 56 -g 1 -a 0xabc,0xdef --json
# Or with labels: -a '[{"address":"0xabc","label":"Whale1"},{"address":"0xdef"}]'
# Update label only (groupId is deprecated for update)
baw tracker address update -c 56 -a 0xabc --label "NewLabel" --json
# Link to another group
baw tracker address link -c 56 -a 0xabc -g 2 --json
# Delete (comma-separated addresses)
baw tracker address delete -c 56 -g 1 -a 0xabc,0xdef -y --json
# Follow / unfollow
baw tracker address follow -c 56 -g 1 -a 0xabc --label "Follow1" --json
baw tracker address unfollow -c 56 -a 0xabc --json
インポートのデフォルト値:allowOverwriteのデフォルト値はtrue(既存のラベルを上書き)です。enforceのデフォルト値はfalseです。上書きを無効にするには--no-overwriteを使用してください。
フォローのレスポンス:{address, followed: true}を返します。groupIdフィールドはありません。followedはブール値のステータスフラグです。
アドレス検索/一覧のフィールド:address、label、emoji、color、groupId、groupName、isFollowed、addressLogoUrl、genericAddressTagList、lastActiveTime、nativeTokenQtyを返します。
パラメーターと戻り値フィールドの詳細については、references/cli.mdを参照してください。
基本ルール
コンセンサスと流入の計算(A2)
APIはトップレベルのtraderNum、inFlow、countBuy、countSellフィールドを返しません。CLIはこれらをaddressList[]から集計し、次のように公開します。
consensusCount(コンセンサス)=addressList.lengthnetInflow(純流入)= ΣaddressList[].inflowcountBuy(蓄積回数)= ΣaddressList[].buyCountcountSell(分配回数)= ΣaddressList[].sellCount
CLIで集計済みのこれらのフィールドをそのまま使用してください。addressListから再計算する必要はありません。
蓄積と分配
buyCountとsellCountはアドレスごとに直接返されます。tradeSideCategoryを集計する必要はありません。蓄積/分配の分析には、これらのフィールドをそのまま使用してください。
クライアント側のフィルタリング(スキルの責務)
A2/A3 API は、フィルターパラメーターとして ca や address を受け付けません。A2 の token/query にある caList パラメーターは受け付けられますが、バックエンドでは無視されます。このフィルタリングはスキルが処理します。
token queryまたはtx queryですべてのレコードを取得します(ca/address フィルターなし)。- 結果内で
ca(コントラクトアドレス)またはaddress(ウォレット)が一致するものをフィルタリングします。
これにより、「グループ内で特定のトークンを買っているのは誰か」といった主要なシナリオに対応できます。グループの取引フロー全体を取得してから、ca でフィルタリングします。
これは、「トークン別の買い手を検索」(共同購入)、トークンベースの買い手検索、および単一トークンや単一アドレスに焦点を当てる必要があるあらゆるシナリオに影響します。
フォローリストの制限(A4)
tracker follow が照会するのは、現在のユーザーのフォローリストのみです(chainId のみで、address パラメーターはありません)。別のユーザーのフォローリストを評価することはできません。「フォローリストを評価する」シナリオでは、binance-leaderboard スキルの analyze コマンドと組み合わせてください。
グループのフィールド名
group list は displayOrder を返します。グループは displayOrder で並べ替えます。All=-1、Default=0、その他は順番に続きます。
フォロー応答のフィールド
address follow の応答は {address, followed: true} を返します。followed はブール値のステータスフラグです。
書き込み後の確認
書き込み操作(create/update/delete/import/follow/unfollow/link)の後は、必ず変更対象のリソースを再取得し、操作が成功したことを確認してください。これにより、agentSessionId の予期しない期限切れや、バックエンドでの予期しない失敗を検知できます。
再取得に失敗した場合の処理:再取得した結果、操作が反映されていない場合(例:削除後もアドレスが残っている、作成後もグループが見つからない)は、「操作が反映されていない可能性があります。後でもう一度お試しください」とユーザーに伝えてください。バックエンドのバグ、予期しない失敗、エラーコードには決して言及しないでください。
破壊的操作の安全性
削除、リンク、フォロー解除の操作には、実行前に -y フラグ(または対話型の確認)が必要です。破壊的操作を実行する前に、必ずユーザーに確認してください。
EVM アドレスの大文字・小文字の正規化(削除のみ)
バックエンドは EVM アドレスを小文字で保存します(import API が小文字に変換します)が、address/delete は大文字・小文字を区別して照合します。ユーザーが EIP-55 形式の大文字・小文字が混在したアドレス(例:0x52908400098527886E0F7030069857D03E3248B4)を指定すると、削除は予期せず失敗し、実際には削除されていないのに success:true が返されます。CLI は正規化を行わず、そのまま渡します。
スキルの責務:baw tracker address delete を呼び出す前に、EVM アドレスを小文字に正規化します。
- EVM(
0x+ 40 桁の 16 進数):address.toLowerCase() - Solana(Base58、大文字・小文字を区別):そのまま渡します。小文字に変換しないでください。
これは QA で検証済みです。大文字・小文字が混在した形式でインポートすると小文字で保存され、小文字で削除すると成功します。大文字・小文字が混在した形式で削除すると success:true が返されますが、アドレスは残ります。
一括インポートの動作
address batch / address add:
allowOverwriteのデフォルトはtrueです。既存のラベルは上書きされます。enforceのデフォルトはfalseです。検証の強制はスキップされます。- チェーンは
-cで指定します。CLI はアドレス形式を自動判定しません。 - チェーンをまたぐ自動振り分け(スキルの責務):ユーザーから EVM と Solana のアドレスが混在したリストを受け取った場合、スキルは次の処理を行う必要があります。
- アドレス形式ごとに分類します。
- EVM:
^0x[a-fA-F0-9]{40}$に一致 → chainId56(BSC)または8453(Base)。ユーザーのコンテキストに基づいて判断するか、ユーザーに確認します。 - Solana:Base58、32~44 文字、
0xプレフィックスなし → chainIdCT_501
- EVM:
- チェーンごとにアドレスをグループ化します。
- グループごとに
baw tracker address batch -c <chainId>を 1 回呼び出します。 - 全チェーンの結果(新規/既存/上書きの件数)を集計します。
- アドレス形式ごとに分類します。
リアルタイム監視(WebSocket)
| ユーザーの意図 | コマンド |
|---|---|
| スマートマネーの買い/売りシグナルをリアルタイムで確認する | tracker ws --smy --duration 15 |
| チェーン上の KOL の活動をリアルタイムで確認する | tracker ws --kol -c <chainId> --duration 15 |
| チェーンレベルのウォレット活動を確認する(マルチチェーン) | tracker ws --wallet BSC,SOL --duration 15 |
| 特定のアドレスの取引を監視する | tracker ws --address <addr> -c <chainId> --duration 15 |
| アドレスを一括監視する(ファイル) | tracker ws --address-list <file> -c <chainId> --duration 15 |
| フォロー中のアドレスの活動を監視する | tracker ws --following -c <chainId> --duration 15 |
tracker ws は WSP WebSocket プッシュイベントを購読します。選択した範囲の取引データ(買い、売り、価格変動)をリアルタイムでストリーミングします。--json モードでは、プッシュメッセージのみが標準出力に書き込まれ(メタ情報は出力されません)、| jq によるパイプライン処理が可能です。
ユーザーが無制限のストリームを明示的に希望しない限り、--duration は必須です。 ユーザーの指示に期間が含まれている場合は、その期間を指定してください(例:「60 秒間監視する」→ --duration 60)。期間が指定されていない場合は、--duration 15 を指定してください。
--followingのヒント:フォロー中のアドレスが多い場合、CLI はより広範なチェーンレベルのストリームにフォールバックすることがあります。ユーザーがフォロー中のアドレスのイベントのみを希望する場合は、プッシュメッセージのaddressをフォローリストと照合してフィルタリングしてください(tracker follow -c <chainId> --json)。
制限事項
- トークン価格の変動:
token/queryは、すべてのトークンについてpriceChangeRateを確実に返すとは限りません。信頼性の高い価格データを得るには、時価総額+リスク+パイオニアのタイミングを代替指標として使用してください。 - 時間範囲によるフィルタリング:
token/queryにはperiodパラメーター(1m/5m/1h/4h/24h)がありますが、細かな時間範囲のクエリ(例:「過去 4 時間」)には、tx/queryのtsフィールドをクライアント側で集計する必要があります。 - A4 フォローの読み取り専用:
tracker followは、現在のユーザー自身のフォローリストのみを照会します。フォロー/フォロー解除の書き込みには、address follow/unfollowコマンドを使用してください(B2)。
9 つの分析シナリオ(A3)
tracker tx query データ用の組み込み分析パターンです。ルールとアルゴリズムの全文については、references/analytics.md を参照してください。
| シナリオ | 検出ルール |
|---|---|
| rhythm | アドレスごとの件数/買い/売り/mean_usd/活動時間 |
| anomaly | txUsdValue > 3×mean かつ > 500 |
| co-buy | 同じ ca で、10 分以内に 3 人以上の買い手 |
| round-trip | 同じアドレス、同じ ca で、買いから売りまで 1 時間未満 |
| rotation | 時間範囲ごとのトークン上位差分 |
| first-mover | ca の最初の買い手 |
| leader-follower | first-mover 後の遅延の中央値 |
| wake-up | 72 時間超の空白後の新たな活動 |
| bot-like | 間隔の分散が小さい+夜間比率が高い+金額のばらつきが小さい |
エラーコード
エラーコードは内部照会専用です。数値コードや内部名をユーザーに表示してはいけません。自然な言葉でメッセージを伝えてください。
| コード | 内部名 | ユーザー向けメッセージ |
|---|---|---|
| 70001001 | TRACKER_API_ERROR | クエリに失敗しました。後でもう一度お試しください |
| 70002001 | TRACKER_GROUP_NOT_FOUND | グループが見つかりません |
| 70002002 | TRACKER_GROUP_EXISTS | グループはすでに存在します |
| 70002003 | TRACKER_GROUP_LIMIT | グループの上限に達しました |
| 70003001 | TRACKER_ADDRESS_NOT_FOUND | アドレスが見つかりません |
| 70003002 | TRACKER_ADDRESS_EXISTS | アドレスはすでに存在します |
| 70003003 | TRACKER_ADDRESS_INVALID | アドレスの形式が無効です |
表示テンプレート
コンセンサストークン:
📊 Consensus Tokens Top 5
{tokenName} | Consensus: {consensusCount} | Net Inflow: ${netInflow} | Accumulation: {countBuy} | Distribution: {countSell} | Liquidity: {volume} | Risk: {riskLevel}
取引フローエントリー:
{ts} | {label} | {tradeSideLabel} {tokenName} | ${txUsdValue} | Price: {tokenPrice} → {currentPrice}
グループ情報:
{groupName} ({addressCount}addresses)
ユーザー向けの表示
このスキルの対象は開発者ではなく、エンドユーザーです。内部フィールド名、エラーコード、CLI の内部情報は、ユーザー向けの出力に決して表示してはいけません。
1. 用語の対応(内部値 → ユーザー向け用語)
| 内部値 | ユーザー向け用語 | 備考 |
|---|---|---|
tradeSideCategory: 11 | 初回購入 | |
tradeSideCategory: 19 | 購入 | |
tradeSideCategory: 21 | ポジション解消 | |
tradeSideCategory: 29 | 売却 | |
tradeSideCategory: other | 不明な取引タイプ | 文書化されていない値が含まれる場合があります |
tokenRiskLevel: 0-2 | 低リスク | |
tokenRiskLevel: 3-5 | 高リスク | ≥3 = 高リスク |
groupId | (省略) | ユーザー向けの出力には決して表示しません |
displayOrder | (省略) | ユーザー向けの出力には決して表示しません |
ca(表示時) | (質問された場合を除き省略) | 主要な識別子には {tokenName} を使用します |
address(表示時) | {label} | 生のアドレスではなくラベルを使用します |
生の列挙値(19、11 など)は、CLI 構文の例や内部ルックアップテーブルには表示できますが、ユーザーへの回答には決して表示しません。
2. 内部識別子を決して公開しない
groupId、displayOrder— 内部 ID のため、ユーザーには決して表示しません- エラーコード(
70001001など)— 自然な言葉によるメッセージにのみ置き換えます - バックエンドの動作の詳細(例:大文字小文字の不一致により削除が失敗しても通知されない、プリセットの保存が永続化されない)— 「バックエンドのバグ」や「サイレントな失敗」には言及せず、読み戻しで適切に対処します
3. 表示テンプレートのガイドライン
すべての出力でユーザー向け用語を使用します。tradeSideCategory フィールドは、表示用語(購入、売却など)に置き換え、生の数値は決して表示しません。tokenRiskLevel は数値ではなく、低リスク/高リスクとして表示します。表示テンプレートには groupId と displayOrder を含めないでください。
CLI リファレンス全文
references/cli.md— パラメータテーブル、戻り値フィールドのテーブル、例を含むすべてのコマンドreferences/analytics.md— 検出ルールとアルゴリズムを含む 9 つの分析シナリオ