whale-tracking

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Whale Tracking - Complete API Reference

鲸鱼交易追踪 - 完整API参考文档

Monitor large trades and positions on Polymarket and crypto chains to identify market-moving activity.
监控Polymarket及加密货币链上的大额交易与持仓,识别影响市场的活动。

Supported Platforms

支持的平台

Prediction Markets

预测市场

  • Polymarket - WebSocket real-time trade monitoring
  • Polymarket - WebSocket实时交易监控

Crypto Chains

加密货币链

ChainProviderFeatures
SolanaBirdeye WebSocketToken transfers, swaps, NFTs
EthereumAlchemy WebSocketERC-20, ETH transfers
PolygonAlchemy WebSocketMATIC, tokens
ArbitrumAlchemy WebSocketL2 activity
BaseAlchemy WebSocketCoinbase L2
OptimismAlchemy WebSocketOP ecosystem

区块链服务商功能
SolanaBirdeye WebSocket代币转账、交易、NFT
EthereumAlchemy WebSocketERC-20、ETH转账
PolygonAlchemy WebSocketMATIC、代币
ArbitrumAlchemy WebSocketL2活动
BaseAlchemy WebSocketCoinbase L2
OptimismAlchemy WebSocketOP生态系统

Chat Commands

聊天命令

General

通用命令

/whale                                      # Active whale alerts summary
/whale start                                # Start whale monitoring
/whale stop                                 # Stop monitoring
/whale config                               # Tracking configuration
/whale list                                 # List tracked wallets
/whale                                      # 活跃鲸鱼告警摘要
/whale start                                # 启动鲸鱼监控
/whale stop                                 # 停止监控
/whale config                               # 追踪配置
/whale list                                 # 列出已追踪钱包

Tracking 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)
/whale track <address>                      # 追踪特定钱包
/whale untrack <address>                    # 停止追踪钱包
/whale watch <address> [--chain c]          # 追踪地址(与track功能相同)
/whale unwatch <address>                    # 停止追踪(与untrack功能相同)

Polymarket Whale Activity

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 polymarket [n]                       # 近期Polymarket鲸鱼交易
/whale polymarket market <id>               # 特定市场的鲸鱼活动
/whale activity <market>                    # 特定市场的鲸鱼活动
/whale recent [n] [--min-size N]            # 最近N笔鲸鱼交易
/whale top [n]                              # Polymarket顶级鲸鱼
/whale profitable [wr%] [min-n]             # 盈利鲸鱼
/whale profile <address>                    # 鲸鱼档案+持仓
/whale positions [market-id]                # 活跃鲸鱼持仓

Crypto Whale Tracking

加密货币鲸鱼追踪

/whale crypto [chain] [n]                   # On-chain whale txs
/whale top crypto [chain] [n]               # Top on-chain whales
Note:
/whales
also works as an alias for
/whale
.

/whale crypto [chain] [n]                   # 链上鲸鱼交易
/whale top crypto [chain] [n]               # 链上顶级鲸鱼
注意:
/whales
可作为
/whale
的别名使用。

TypeScript API Reference

TypeScript API参考

Polymarket Whale Tracker

Polymarket鲸鱼追踪器

typescript
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();
typescript
import { createWhaleTracker, isWhaleAddress, getMarketWhaleActivity } from 'clodds/feeds/polymarket/whale-tracker';

// 创建追踪器
const tracker = createWhaleTracker({
  minTradeSize: 10000,      // 1万美元以上的交易
  minPositionSize: 50000,   // 5万美元以上的持仓
  enableRealtime: true,     // WebSocket流
});

// 事件处理器
tracker.on('trade', (trade) => {
  console.log(`🐋 鲸鱼${trade.side}交易 ${trade.usdValue.toLocaleString()}美元`);
  console.log(`   市场: ${trade.marketQuestion}`);
  console.log(`   地址: ${trade.address}`);
  console.log(`   价格: ${trade.price}`);
});

tracker.on('positionOpened', (position) => {
  console.log(`📈 新的鲸鱼持仓`);
  console.log(`   地址: ${position.address}`);
  console.log(`   市场: ${position.market}`);
  console.log(`   规模: ${position.size.toLocaleString()}美元`);
});

tracker.on('positionClosed', (position) => {
  console.log(`📉 鲸鱼平仓`);
  console.log(`   盈亏: ${position.pnl.toLocaleString()}美元`);
});

// 启动追踪
await tracker.start();

// 追踪特定钱包
await tracker.trackAddress('0x1234...');
await tracker.untrackAddress('0x1234...');

// 获取已追踪地址
const tracked = tracker.getTrackedAddresses();

// 停止追踪
await tracker.stop();

Check Whale Status

检查鲸鱼状态

typescript
// 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()}`);
}
typescript
// 检查地址是否为鲸鱼地址
const isWhale = await isWhaleAddress('0x1234...', 100000);  // 最低交易量10万美元

// 获取特定市场的鲸鱼活动
const activity = await getMarketWhaleActivity('market-slug');

console.log(`鲸鱼总交易量: ${activity.totalVolume.toLocaleString()}美元`);
console.log(`鲸鱼交易笔数: ${activity.tradeCount}`);
console.log(`鲸鱼净情绪: ${activity.sentiment}`);  // 'bullish' | 'bearish' | 'neutral'
console.log(`顶级鲸鱼:`);
for (const whale of activity.topWhales) {
  console.log(`  ${whale.address}: ${whale.volume.toLocaleString()}美元`);
}

Top Traders

顶级交易者

typescript
// 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()}`);
}

typescript
// 获取顶级交易者
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(`   交易量: ${trader.volume.toLocaleString()}美元`);
  console.log(`   胜率: ${(trader.winRate * 100).toFixed(1)}%`);
  console.log(`   盈亏: ${trader.pnl.toLocaleString()}美元`);
}

Crypto Whale Tracker

加密货币鲸鱼追踪器

typescript
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();

typescript
import { createCryptoWhaleTracker } from 'clodds/feeds/crypto/whale-tracker';

// 创建多链追踪器
const cryptoTracker = createCryptoWhaleTracker({
  chains: ['solana', 'ethereum', 'polygon', 'arbitrum', 'base', 'optimism'],

  thresholds: {
    solana: 10000,      // Solana链上1万美元以上
    ethereum: 50000,    // ETH链上5万美元以上
    polygon: 5000,      // Polygon链上5000美元以上
    arbitrum: 10000,    // Arbitrum链上1万美元以上
    base: 10000,        // Base链上1万美元以上
    optimism: 10000,    // Optimism链上1万美元以上
  },

  // API密钥
  birdeyeApiKey: process.env.BIRDEYE_API_KEY,
  alchemyApiKey: process.env.ALCHEMY_API_KEY,
});

// 事件处理器
cryptoTracker.on('transaction', (tx) => {
  console.log(`🐋 ${tx.chain.toUpperCase()}`);
  console.log(`   类型: ${tx.type}`);  // 'transfer', 'swap', 'nft', 'stake'
  console.log(`   金额: ${tx.usdValue.toLocaleString()}美元`);
  console.log(`   转出地址: ${tx.from}`);
  console.log(`   转入地址: ${tx.to}`);
  console.log(`   代币: ${tx.token}`);
  console.log(`   交易哈希: ${tx.hash}`);
});

cryptoTracker.on('largeTransfer', (tx) => {
  console.log(`🚨 大额转账: ${tx.usdValue.toLocaleString()}美元`);
});

// 启动追踪
await cryptoTracker.start();

// 监控特定钱包
await cryptoTracker.watchWallet('solana', 'ABC123...');
await cryptoTracker.watchWallet('ethereum', '0x1234...');

// 取消监控
await cryptoTracker.unwatchWallet('solana', 'ABC123...');

// 获取近期鲸鱼交易
const recent = await cryptoTracker.getRecentTransactions('solana', {
  limit: 20,
  minValue: 50000,
});

// 获取各链顶级鲸鱼
const topSolana = await cryptoTracker.getTopWhales('solana', 10);
const topEth = await cryptoTracker.getTopWhales('ethereum', 10);

// 停止追踪
await cryptoTracker.stop();

Alert Configuration

告警配置

Polymarket Alerts

Polymarket告警

typescript
// Configure alerts
tracker.setAlertConfig({
  minTradeSize: 25000,      // Alert on $25k+ trades
  alertChannels: ['telegram', 'discord'],
  soundEnabled: true,
  markets: ['politics', 'crypto'],  // Filter by category
});
typescript
// 配置告警
tracker.setAlertConfig({
  minTradeSize: 25000,      // 2.5万美元以上交易触发告警
  alertChannels: ['telegram', 'discord'],
  soundEnabled: true,
  markets: ['politics', 'crypto'],  // 按类别过滤市场
});

Crypto Alerts

加密货币告警

typescript
// Configure per-chain alerts
cryptoTracker.setAlertConfig({
  solana: {
    minValue: 50000,
    tokens: ['SOL', 'JUP', 'BONK'],
  },
  ethereum: {
    minValue: 100000,
    tokens: ['ETH', 'USDC', 'PEPE'],
  },
});

typescript
// 按链配置告警
cryptoTracker.setAlertConfig({
  solana: {
    minValue: 50000,
    tokens: ['SOL', 'JUP', 'BONK'],
  },
  ethereum: {
    minValue: 100000,
    tokens: ['ETH', 'USDC', 'PEPE'],
  },
});

Data Export

数据导出

typescript
// 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,
});

typescript
// 将鲸鱼数据导出为CSV
await tracker.exportTrades({
  format: 'csv',
  path: './whale-trades.csv',
  period: '30d',
});

// 导出顶级交易者数据
await tracker.exportTopTraders({
  format: 'json',
  path: './top-traders.json',
  limit: 100,
});

Best Practices

最佳实践

  1. Set reasonable thresholds - Start with $10k for active markets
  2. Focus on specific markets - Filter by category to reduce noise
  3. Track known smart money - Follow wallets with proven track records
  4. Combine with copy trading - Use whale data to inform copy decisions
  5. Monitor sentiment shifts - Watch for net whale direction changes
  6. Check position sizes - Large positions signal conviction
  1. 设置合理阈值 - 活跃市场初始可设为1万美元
  2. 聚焦特定市场 - 按类别过滤以减少无效信息
  3. 追踪知名聪明钱钱包 - 关注有良好记录的钱包
  4. 结合跟单交易 - 利用鲸鱼交易数据辅助跟单决策
  5. 监控情绪变化 - 关注鲸鱼净持仓方向的变化
  6. 检查持仓规模 - 大额持仓代表明确的市场信念