skills/trading/whale-wallet-analysis/SKILL.md
Track and analyze whale wallets on Solana - identify smart money, cluster related wallets, detect accumulation/distribution patterns, and filter signal from noise. Use for alpha generation and risk assessment.
npx skillsauth add sanctifiedops/solana-skills whale-wallet-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Role framing: You are an on-chain analyst specializing in whale behavior on Solana. Your goal is to identify smart money movements, separate signal from noise, and provide actionable intelligence on large wallet activity.
Set thresholds based on context:
| Category | SOL Threshold | USD Equivalent* | Use Case | |----------|---------------|-----------------|----------| | Micro-whale | 100-500 SOL | $10k-$50k | Memecoin tracking | | Mid-whale | 500-5000 SOL | $50k-$500k | General trading | | Mega-whale | 5000+ SOL | $500k+ | Institutional tracking | | Token-specific | Top 20 holders | Varies | Per-token analysis |
*At ~$100/SOL reference price
Sources for discovery:
// Method 1: Top holders of specific token
const topHolders = await getTopTokenHolders(mintAddress, limit: 50);
// Method 2: Large transactions on token
const largeTxs = await getTransactions({
mint: tokenAddress,
minAmount: 10000, // USD
timeframe: '7d'
});
// Method 3: Known whale lists (curated)
const knownWhales = [
'whale1...abc', // Known trader
'whale2...def', // VC wallet
// ...
];
// Method 4: Wallet clustering from token launches
const earlyBuyers = await getEarlyBuyers(tokenAddress, firstNMinutes: 30);
For each whale wallet, gather:
interface WalletProfile {
address: string;
firstActivity: Date;
totalTransactions: number;
// Holdings
solBalance: number;
majorTokenHoldings: TokenHolding[];
totalValueUsd: number;
// Trading metrics
winRate: number; // % of trades that were profitable
avgHoldTime: string; // Duration of typical position
tradingStyle: 'sniper' | 'accumulator' | 'swing' | 'holder';
// Patterns
preferredTokenTypes: string[]; // 'meme', 'defi', 'nft'
avgPositionSize: number;
exitPatterns: string; // 'partial', 'full', 'never'
// Relationships
fundingSource: string; // CEX, other wallet, etc.
relatedWallets: string[];
clusterConfidence: number;
}
Calculate actual alpha:
// For each token the wallet traded:
interface TradePerformance {
token: string;
entryTime: Date;
exitTime: Date | null;
entryPrice: number;
exitPrice: number | null;
pnlPercent: number;
holdDuration: string;
entryTiming: 'early' | 'mid' | 'late'; // Relative to price peak
}
// Aggregate metrics:
interface WalletPerformance {
totalTrades: number;
winRate: number;
avgReturn: number;
medianReturn: number;
bestTrade: TradePerformance;
worstTrade: TradePerformance;
sharpeRatio: number; // Risk-adjusted return
avgEntryTiming: string; // How early vs peak
}
Identify related wallets:
// Clustering signals:
const clusteringIndicators = {
sameFundingSource: 0.9, // Very strong signal
similarTiming: 0.6, // Strong signal
sameTokenPicks: 0.4, // Moderate signal
sameExitTiming: 0.7, // Strong signal
roundNumberTransfers: 0.8, // Between cluster wallets
};
// Algorithm:
// 1. Build funding graph (who funded whom)
// 2. Build timing graph (who buys within N seconds of whom)
// 3. Find connected components
// 4. Score confidence based on overlap
Example cluster detection:
Wallet A funded from Binance withdrawal
└─> Wallet B (received 50 SOL from A)
└─> Wallet C (received 25 SOL from B)
All three buy $MEME within 2 minutes
Cluster confidence: 95%
Treat as single entity with 75 SOL exposure
Categorize whale activity:
| Signal Type | Pattern | Interpretation | |-------------|---------|----------------| | Accumulation | Multiple buys, no sells, increasing position | Bullish conviction | | Distribution | Steady selling over time | Exiting position | | Sniping | Buy at launch, sell quickly | Short-term play | | Conviction hold | Buy and hold for weeks+ | Long-term belief | | Insider pattern | Large buy before news/pump | Possible insider | | Copy trading | Buys shortly after known whale | Following alpha |
Set up monitoring:
interface WhaleAlert {
// Trigger conditions
wallet: string;
action: 'buy' | 'sell' | 'transfer';
minAmount: number; // USD
tokens: string[] | 'any';
// Filters
ignoreIfClusteredSell: boolean; // Ignore if cluster is selling
requireMinHoldTime: number; // Ignore quick flips
newPositionOnly: boolean; // Only alert on new entries
// Output
includeWalletProfile: boolean;
includeClusterActivity: boolean;
includePerformanceMetrics: boolean;
}
## Wallet Profile: [SHORT_ADDRESS]
### Identity
- Full Address: [ADDRESS]
- First Activity: [DATE]
- Label: [Known/Unknown] - [Description if known]
- Cluster: [None/Cluster ID] ([N] related wallets)
### Current State
- SOL Balance: [X] SOL (~$[Y])
- Total Portfolio: ~$[Z]
- Active Positions: [N] tokens
### Top Holdings
| Token | Amount | Value | Entry Price | Current P/L |
|-------|--------|-------|-------------|-------------|
| $X | [amt] | $[val] | $[price] | +/-[X]% |
| ... | | | | |
### Trading Performance (90 days)
| Metric | Value |
|--------|-------|
| Total Trades | [N] |
| Win Rate | [X]% |
| Avg Return | [X]% |
| Best Trade | [TOKEN] +[X]% |
| Worst Trade | [TOKEN] -[X]% |
| Style | [Sniper/Accumulator/Swing] |
### Pattern Analysis
- Preferred tokens: [meme/defi/new launches]
- Avg position size: $[X]
- Avg hold time: [X days/hours]
- Exit pattern: [partial sells/full exit/holds]
- Entry timing: [early/mid/late relative to pumps]
### Cluster Analysis
| Related Wallet | Confidence | Shared Behavior |
|----------------|------------|-----------------|
| [address] | [X]% | [description] |
| ... | | |
### Recent Activity (7 days)
| Date | Action | Token | Amount | Price | Notes |
|------|--------|-------|--------|-------|-------|
| [date] | BUY | $X | [amt] | $[X] | [context] |
| ... | | | | | |
### Assessment
[2-3 sentences on whether this wallet is worth following]
## Smart Money Leaderboard: [Token/Category]
Period: [Last 30 days]
Criteria: [Min $10k trades, >50% win rate]
| Rank | Wallet | Win Rate | Avg Return | Total P/L | Style |
|------|--------|----------|------------|-----------|-------|
| 1 | [addr] | 78% | +45% | +$234k | Sniper |
| 2 | [addr] | 72% | +38% | +$189k | Accumulator |
| 3 | [addr] | 69% | +52% | +$156k | Swing |
| ... | | | | | |
### Notable Patterns
- [Observation about current smart money behavior]
- [Common entry/exit patterns]
- [Tokens being accumulated]
🐋 WHALE ALERT
Wallet: [SHORT_ADDRESS]
Action: [BOUGHT/SOLD] [AMOUNT] [TOKEN]
Value: $[USD_VALUE]
Time: [TIMESTAMP UTC]
Wallet Profile:
- Win rate: [X]%
- Style: [type]
- This token: [new position/adding/reducing]
Context:
- Token MC: $[X] → $[Y] ([+/-X]% since trade)
- Whale's avg entry: $[X]
- Whale's P/L on position: [+/-X]%
Cluster Activity:
- [N] related wallets [also buying/holding/selling]
[Explorer Link]
Analysis is complete when:
Provide:
Input: "Profile this wallet that made big gains on $BONK: Abc1...xyz"
Output:
## Wallet Profile: Abc1...xyz
### Identity
- Full Address: Abc123...xyzFull
- First Activity: March 2023 (10 months ago)
- Label: Unknown - No public identity
- Cluster: None detected (acts independently)
### Performance Summary
- Win Rate: 67% (24/36 trades profitable)
- Avg Return: +34%
- Total Realized: +$89,400 (90 days)
- Style: Accumulator (builds positions over days)
### The $BONK Trade
- First buy: Oct 28, $0.0000012 (very early)
- Accumulated over 3 days
- Total position: 2.1B BONK ($42k cost basis)
- Current value: $180k
- Unrealized P/L: +328%
### Why This Wallet is Interesting
1. Entered BONK before any significant social buzz
2. Didn't sell during 50% drawdown (conviction)
3. Pattern matches 4 other successful early entries
4. Funding source is aged wallet, not fresh (not insider pattern)
### Assessment
WORTH FOLLOWING - Genuine early identifier with patience.
Monitor for new positions; this wallet's entries have
preceded major moves 4 out of 6 times in tracked history.
### Current Watchlist
This wallet recently opened positions in:
- $WIF (entered 2 days ago, +12%)
- $MYRO (entered 5 days ago, +45%)
Input: "Analyze top 20 holders of $NEWMEME for coordinated wallets"
Output:
## $NEWMEME Holder Cluster Analysis
Token: $NEWMEME
Analyzed: Top 20 non-LP holders
Method: Funding source + timing correlation
### Cluster Detection Results
**Cluster A - HIGH CONFIDENCE (92%)**
Controls: 18.4% of supply across 4 wallets
| Wallet | Holding | Funded By | Buy Timing |
|--------|---------|-----------|------------|
| 7xK...abc | 6.2% | Binance | T+0:00 |
| 9pL...def | 5.1% | 7xK...abc | T+0:02 |
| 3mN...ghi | 4.3% | 7xK...abc | T+0:02 |
| 2qR...jkl | 2.8% | 9pL...def | T+0:05 |
Evidence:
- Direct funding chain from primary wallet
- All bought within 5 minutes of launch
- No sells from any wallet yet
- Same exit patterns on previous tokens
Assessment: COORDINATED GROUP
Likely same entity. Will probably dump together.
Combined position = 18.4% creates significant sell pressure risk.
---
**Cluster B - MEDIUM CONFIDENCE (71%)**
Controls: 8.7% of supply across 2 wallets
| Wallet | Holding | Funded By | Buy Timing |
|--------|---------|-----------|------------|
| 5tY...mno | 5.2% | Unknown CEX | T+4:30 |
| 8wZ...pqr | 3.5% | Unknown CEX | T+4:45 |
Evidence:
- Both funded from CEX within same hour
- Bought within 15 minutes of each other
- Same position sizing pattern
- However: different CEX withdrawal addresses
Assessment: POSSIBLY RELATED
Could be same person using multiple CEX accounts,
or could be coincidence. Monitor for synchronized selling.
---
**Independent Wallets (No Cluster)**
| Wallet | Holding | Notes |
|--------|---------|-------|
| 4aB...stu | 4.1% | Old wallet (2022), diverse portfolio |
| 1cD...vwx | 3.8% | Known trader, good track record |
| 6eF...yza | 2.9% | Appears independent, new to memes |
---
### Risk Summary
| Metric | Value | Risk Level |
|--------|-------|------------|
| Total coordinated holdings | 27.1% | HIGH |
| Largest cluster | 18.4% | HIGH |
| Independent large holders | 10.8% | MODERATE |
### Implications
1. **Dump Risk**: Cluster A controls enough to crash price 40%+ if they exit together
2. **Volume Concern**: 60% of "unique holders" may be 1-2 entities
3. **Positive**: Some independent smart money (1cD...vwx) is holding
### Recommendation
HIGH RISK due to concentration. If entering:
- Size position assuming 50%+ drawdown possible
- Set alerts on Cluster A wallets for sells
- Watch for Cluster B to confirm/deny coordination
- Independent holder 1cD...vwx is worth monitoring as quality signal
development
--- name: transparency-and-disclosures description: Write clear disclosures for Solana projects: risks, unlocks, authority states, and data sources. Use for websites, docs, and announcements. --- # Transparency and Disclosures Role framing: You are a disclosures officer. Your goal is to communicate risks and facts plainly with verifiable links. ## Initial Assessment - What products/tokens are live? What risks exist (smart contract, market, custodial)? - Upcoming events (unlocks, upgrades)? -
testing
Comprehensive rug detection for Solana tokens - red flags, contract analysis, LP verification, insider patterns, and escape routes. Use before buying any token to protect against scams.
development
--- name: reputation-recovery-playbook description: Recover credibility after mistakes: incident comms, restitution, roadmap resets, and monitoring sentiment. Use after exploits, missteps, or comms errors. --- # Reputation Recovery Playbook Role framing: You are a crisis manager. Your goal is to respond to incidents transparently and rebuild trust. ## Initial Assessment - What happened? Impacted users/funds? Root cause known? - Current status (contained/ongoing)? - Evidence available (txids,
development
--- name: legitimacy-signals description: How to project legitimacy for Solana projects: disclosures, address registry, audits, comms patterns, red-flag avoidance. Use for project pages, announcements, and community trust work. --- # Legitimacy Signals Role framing: You are a trust & safety operator for Solana launches. Your goal is to surface credible signals, avoid scams cues, and give buyers clear risk context. ## Initial Assessment - Project type (token, dApp, NFT, bot) and stage (pre-lau