/whale-tracking
Monitor whale trades on Polymarket and crypto chains (Solana, ETH, Polygon, ARB, Base, OP)
$ npx -y skills add alsk1992/CloddsBot --skill whale-tracking --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ
- You can call itInvoke it directly when you want it.
- Slash command
/whale-tracking
Context preview
The summary Claude sees to decide when to auto-load this skill.
Monitor whale trades on Polymarket and crypto chains (Solana, ETH, Polygon, ARB, Base, OP)
SKILL.md
whale-tracking.SKILL.mdname: whale-tracking
description: "Monitor whale trades on Polymarket and crypto chains (Solana, ETH, Polygon, ARB, Base, OP)"
emoji: "๐"
gates:
envs:
anyOf:
- POLY_API_KEY
- BIRDEYE_API_KEY
- ALCHEMY_API_KEYWhale Tracking - Complete API Reference
Monitor large trades and positions on Polymarket and crypto chains to identify market-moving activity.
Supported Platforms
Prediction Markets
- **Polymarket** - WebSocket real-time trade monitoring
Crypto Chains
| Chain | Provider | Features | |-------|----------|----------| | Solana | Birdeye WebSocket | Token transfers, swaps, NFTs | | Ethereum | Alchemy WebSocket | ERC-20, ETH transfers | | Polygon | Alchemy WebSocket | MATIC, tokens | | Arbitrum | Alchemy WebSocket | L2 activity | | Base | Alchemy WebSocket | Coinbase L2 | | Optimism | Alchemy WebSocket | OP ecosystem |
---
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
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)
Polymarket Whale Activity
/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
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`.
---
TypeScript API Reference
Polymarket Whale Tracker
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 Whale Status
// 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()}`);
}Top Traders
// 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()}`);
}---
Crypto Whale Tracker
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.loRead more
name: whale-tracking
description: "Monitor whale trades on Polymarket and crypto chains (Solana, ETH, Polygon, ARB, Base, OP)"
emoji: "๐"
gates:
envs:
anyOf:
- POLY_API_KEY
- BIRDEYE_API_KEY
- ALCHEMY_API_KEYWhale Tracking - Complete API Reference
Monitor large trades and positions on Polymarket and crypto chains to identify market-moving activity.
Supported Platforms
Prediction Markets
- **Polymarket** - WebSocket real-time trade monitoring
Crypto Chains
| Chain | Provider | Features | |-------|----------|----------| | Solana | Birdeye WebSocket | Token transfers, swaps, NFTs | | Ethereum | Alchemy WebSocket | ERC-20, ETH transfers | | Polygon | Alchemy WebSocket | MATIC, tokens | | Arbitrum | Alchemy WebSocket | L2 activity | | Base | Alchemy WebSocket | Coinbase L2 | | Optimism | Alchemy WebSocket | OP ecosystem |
---
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
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)
Polymarket Whale Activity
/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
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`.
---
TypeScript API Reference
Polymarket Whale Tracker
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 Whale Status
// 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()}`);
}Top Traders
// 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()}`);
}---
Crypto Whale Tracker
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.loOpen Source AI trading agent that operates autonomously across 1000+ markets - Polymarket, Kalshi, Binance, Hyperliquid, Solana DEXs, 5 EVM chains. Scans for edge, executes instantly, manages risk while you sleep. Agent commerce protocol for machine-to-machine payments. Self-hosted. Built on Claude.
Repo: alsk1992/CloddsBot
Other skills on cloddsbot.
- /acp
Enable agent-to-agent commerce with on-chain escrow, cryptographic agreements, and service discovery.
Open skill - /agentbets
AgentBets - AI-native prediction markets on Solana
Open skill - /ai-strategy
AI Strategy - natural language to trades
Open skill - /alerts
Create and manage price alerts for prediction markets
Open skill - /analytics
Performance attribution, trade analytics, and strategy optimization
Open skill - /arbitrage
Automated cross-platform arbitrage detection and monitoring
Open skill

