whale-tracking について
whale-trackingは、Polymarketと複数の暗号資産チェーンにおける大口取引やポジションを監視するスキルです。市場を動かす活動を追うトレーダー向けに、リアルタイム監視、ウォレット追跡、分析、データ出力を提供します。
主な機能
- 01Polymarketの大口取引をリアルタイム監視
- 02対応チェーンのオンチェーン活動を追跡
- 03ウォレットを追跡し取引・ポジションを確認
- 04期間別に上位・高収益トレーダーを抽出
- 05アラート設定とCSVデータ出力
活用シーン
- 01Polymarket市場の大口取引の発見
- 02指定ウォレットの複数チェーン上の送金・取引監視
- 03クジラの動向分析と取引記録の出力
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alsk1992/ cloddsbot --skill whale-trackingインストール後、Claude Code で/whale-trackingを入力して読み込まれたか確認します。
同梱ファイルindex.ts
詳細
クジラ追跡 - API 完全リファレンス
Polymarket と暗号資産チェーンで大口取引やポジションを監視し、市場を動かす活動を特定します。
対応プラットフォーム
予測市場
- Polymarket - WebSocket によるリアルタイムの取引監視
暗号資産チェーン
| チェーン | プロバイダー | 機能 |
|---|---|---|
| Solana | Birdeye WebSocket | トークン送金、スワップ、NFT |
| Ethereum | Alchemy WebSocket | ERC-20、ETH 送金 |
| Polygon | Alchemy WebSocket | MATIC、トークン |
| Arbitrum | Alchemy WebSocket | L2 アクティビティ |
| Base | Alchemy WebSocket | Coinbase L2 |
| Optimism | Alchemy WebSocket | OP エコシステム |
チャットコマンド
一般
/whale # Active whale alerts summary
/whale start # Start whale monitoring
/whale stop # Stop monitoring
/whale config # Tracking configuration
/whale list # List tracked wallets
ウォレットの追跡
/whale track <address> # Follow specific wallet
/whale untrack <address> # Stop following wallet
/whale watch <address> [--chain c] # Track an address (same as track)
/whale unwatch <address> # Stop tracking (same as untrack)
Polymarket のクジラの活動
/whale polymarket [n] # Recent Polymarket whale trades
/whale polymarket market <id> # Whale activity for a market
/whale activity <market> # Whale activity for market
/whale recent [n] [--min-size N] # Last N whale trades
/whale top [n] # Top Polymarket whales
/whale profitable [wr%] [min-n] # Profitable whales
/whale profile <address> # Whale profile + positions
/whale positions [market-id] # Active whale positions
暗号資産のクジラの追跡
/whale crypto [chain] [n] # On-chain whale txs
/whale top crypto [chain] [n] # Top on-chain whales
注記:/whales も /whale のエイリアスとして使用できます。
TypeScript API リファレンス
Polymarket クジラトラッカー
import { createWhaleTracker, isWhaleAddress, getMarketWhaleActivity } from 'clodds/feeds/polymarket/whale-tracker';
// Create tracker
const tracker = createWhaleTracker({
minTradeSize: 10000, // $10k+ trades
minPositionSize: 50000, // $50k+ positions
enableRealtime: true, // WebSocket streaming
});
// Event handlers
tracker.on('trade', (trade) => {
console.log(`🐋 Whale ${trade.side} $${trade.usdValue.toLocaleString()}`);
console.log(` Market: ${trade.marketQuestion}`);
console.log(` Address: ${trade.address}`);
console.log(` Price: ${trade.price}`);
});
tracker.on('positionOpened', (position) => {
console.log(`📈 New whale position`);
console.log(` Address: ${position.address}`);
console.log(` Market: ${position.market}`);
console.log(` Size: $${position.size.toLocaleString()}`);
});
tracker.on('positionClosed', (position) => {
console.log(`📉 Whale exited position`);
console.log(` P&L: $${position.pnl.toLocaleString()}`);
});
// Start tracking
await tracker.start();
// Track specific wallet
await tracker.trackAddress('0x1234...');
await tracker.untrackAddress('0x1234...');
// Get tracked addresses
const tracked = tracker.getTrackedAddresses();
// Stop tracking
await tracker.stop();
クジラのステータスを確認
// Check if address is a whale
const isWhale = await isWhaleAddress('0x1234...', 100000); // $100k min volume
// Get whale activity for a market
const activity = await getMarketWhaleActivity('market-slug');
console.log(`Total whale volume: $${activity.totalVolume.toLocaleString()}`);
console.log(`Whale trades: ${activity.tradeCount}`);
console.log(`Net whale sentiment: ${activity.sentiment}`); // 'bullish' | 'bearish' | 'neutral'
console.log(`Top whales:`);
for (const whale of activity.topWhales) {
console.log(` ${whale.address}: $${whale.volume.toLocaleString()}`);
}
トップトレーダー
// Get top traders
const topTraders = await tracker.getTopTraders({
period: '7d', // 24h, 7d, 30d, all
limit: 10,
minVolume: 50000,
minWinRate: 0.5,
});
for (const trader of topTraders) {
console.log(`${trader.rank}. ${trader.address}`);
console.log(` Volume: $${trader.volume.toLocaleString()}`);
console.log(` Win rate: ${(trader.winRate * 100).toFixed(1)}%`);
console.log(` P&L: $${trader.pnl.toLocaleString()}`);
}
暗号資産クジラトラッカー
import { createCryptoWhaleTracker } from 'clodds/feeds/crypto/whale-tracker';
// Create multi-chain tracker
const cryptoTracker = createCryptoWhaleTracker({
chains: ['solana', 'ethereum', 'polygon', 'arbitrum', 'base', 'optimism'],
thresholds: {
solana: 10000, // $10k+ on Solana
ethereum: 50000, // $50k+ on ETH
polygon: 5000, // $5k+ on Polygon
arbitrum: 10000, // $10k+ on Arbitrum
base: 10000, // $10k+ on Base
optimism: 10000, // $10k+ on Optimism
},
// API keys
birdeyeApiKey: process.env.BIRDEYE_API_KEY,
alchemyApiKey: process.env.ALCHEMY_API_KEY,
});
// Event handlers
cryptoTracker.on('transaction', (tx) => {
console.log(`🐋 ${tx.chain.toUpperCase()}`);
console.log(` Type: ${tx.type}`); // 'transfer', 'swap', 'nft', 'stake'
console.log(` Amount: $${tx.usdValue.toLocaleString()}`);
console.log(` From: ${tx.from}`);
console.log(` To: ${tx.to}`);
console.log(` Token: ${tx.token}`);
console.log(` TX: ${tx.hash}`);
});
cryptoTracker.on('largeTransfer', (tx) => {
console.log(`🚨 LARGE TRANSFER: $${tx.usdValue.toLocaleString()}`);
});
// Start tracking
await cryptoTracker.start();
// Watch specific wallets
await cryptoTracker.watchWallet('solana', 'ABC123...');
await cryptoTracker.watchWallet('ethereum', '0x1234...');
// Unwatch
await cryptoTracker.unwatchWallet('solana', 'ABC123...');
// Get recent whale transactions
const recent = await cryptoTracker.getRecentTransactions('solana', {
limit: 20,
minValue: 50000,
});
// Get top whales by chain
const topSolana = await cryptoTracker.getTopWhales('solana', 10);
const topEth = await cryptoTracker.getTopWhales('ethereum', 10);
// Stop
await cryptoTracker.stop();
アラート設定
Polymarket アラート
// Configure alerts
tracker.setAlertConfig({
minTradeSize: 25000, // Alert on $25k+ trades
alertChannels: ['telegram', 'discord'],
soundEnabled: true,
markets: ['politics', 'crypto'], // Filter by category
});
暗号資産アラート
// Configure per-chain alerts
cryptoTracker.setAlertConfig({
solana: {
minValue: 50000,
tokens: ['SOL', 'JUP', 'BONK'],
},
ethereum: {
minValue: 100000,
tokens: ['ETH', 'USDC', 'PEPE'],
},
});
データのエクスポート
// Export whale data to CSV
await tracker.exportTrades({
format: 'csv',
path: './whale-trades.csv',
period: '30d',
});
// Export top traders
await tracker.exportTopTraders({
format: 'json',
path: './top-traders.json',
limit: 100,
});
ベストプラクティス
- 妥当な閾値を設定する - 活発な市場では 10,000 ドルから始めます
- 特定の市場に焦点を当てる - カテゴリーで絞り込み、ノイズを減らします
- 実績のあるスマートマネーを追跡する - 確かな実績を持つウォレットを追跡します
- コピー取引と組み合わせる - クジラのデータをコピー取引の判断に活用します
- センチメントの変化を監視する - クジラの純方向の変化に注目します
- ポジションサイズを確認する - 大きなポジションは確信の表れです
コメント
Markdown 対応