mcpField
W
whale-wallet-analysis

whale-wallet-analysis

github.com/sanctifiedopsData & databases369 installsUpdated 40w ago
Repository

About whale-wallet-analysis

Whale Wallet Analysis is a skill for examining large-wallet behavior on Solana and distinguishing potential signals from noise. Its workflow covers wallet profiles, trading performance, wallet clustering, activity classification, and alert planning.

Key features

  1. 01Set whale wallet criteria
  2. 02Analyze wallet history and holdings
  3. 03Evaluate closed-trade performance
  4. 04Cluster wallets by funding and timing
  5. 05Classify activity and plan alerts

Use cases

  1. 01Finding large holders of a token
  2. 02Assessing a wallet’s trading history
  3. 03Investigating coordinated wallet activity
  4. 04Organizing recent activity and alert conditions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sanctifiedops/solana-skills --skill whale-wallet-analysis

After installing, type/whale-wallet-analysisin Claude Code to confirm it loaded.

Details

From the project README

Whale Wallet Analysis

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.

Initial Assessment

  • What's your goal: finding alpha, risk assessment, or tracking specific wallets?
  • Do you have specific wallets to track, or are you discovering new ones?
  • What tokens/projects are you focused on?
  • What data sources do you have access to (Helius, Birdeye, custom indexer)?
  • Are you building alerts or doing manual analysis?
  • What's your definition of "whale" for this context (SOL amount, USD value)?

Core Principles

  • Not all large wallets are smart: Exchanges, market makers, and lucky degens are not alpha.
  • Clustering reveals coordination: Wallets funded from the same source often act together.
  • Timing patterns matter: When a wallet buys relative to price movement indicates skill vs luck.
  • Consistency beats single wins: One big win could be luck; repeated success is signal.
  • Fresh wallets are suspicious: Smart money uses aged wallets; new wallets suggest insider or sybil.
  • Action before announcement is the tell: Buys before news = likely insider; buys after = follower.

Workflow

1. Define Whale Criteria

Set thresholds based on context:

CategorySOL ThresholdUSD Equivalent*Use Case
Micro-whale100-500 SOL$10k-$50kMemecoin tracking
Mid-whale500-5000 SOL$50k-$500kGeneral trading
Mega-whale5000+ SOL$500k+Institutional tracking
Token-specificTop 20 holdersVariesPer-token analysis

*At ~$100/SOL reference price

2. Identify Whale Wallets

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);
3. Wallet Profiling

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;
}
4. Performance Analysis

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
}
5. Wallet Clustering

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
6. Signal Classification

Categorize whale activity:

Signal TypePatternInterpretation
AccumulationMultiple buys, no sells, increasing positionBullish conviction
DistributionSteady selling over timeExiting position
SnipingBuy at launch, sell quicklyShort-term play
Conviction holdBuy and hold for weeks+Long-term belief
Insider patternLarge buy before news/pumpPossible insider
Copy tradingBuys shortly after known whaleFollowing alpha
7. Alert Configuration

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;
}

Templates / Playbooks

Whale Profile Template
## 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 Template
## 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 Template
🐋 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]

Common Failure Modes + Debugging

"Whale win rate looks too good"
  • Cause: Survivorship bias - only tracking wallets after big wins
  • Detection: Check their history BEFORE the big win
  • Fix: Evaluate full trading history, not just recent wins
"Wallet seemed smart but keeps losing now"
  • Cause: Market regime changed; past performance ≠ future results
  • Detection: Compare win rate across different market conditions
  • Fix: Weight recent performance higher; add regime-aware analysis
"Cluster detection flagging unrelated wallets"
  • Cause: Too sensitive thresholds; exchange wallets creating false links
  • Detection: Manual review of flagged clusters
  • Fix: Require multiple signals for cluster confidence; exclude exchange hot wallets
"Alert spam from known whale"
  • Cause: Market maker or high-frequency wallet
  • Detection: Very high trade count, near-zero net position change
  • Fix: Add filters: min hold time, min position change, trading style filter
"Missed important whale activity"
  • Cause: Wallet used new address or moved through intermediate wallet
  • Detection: Large new wallet suddenly appears with old wallet going inactive
  • Fix: Track funding sources; flag when known whale funds new wallet

Quality Bar / Validation

Analysis is complete when:

  • Wallet history extends back at least 30 days
  • Performance calculated on closed positions (not paper gains)
  • Cluster analysis performed with confidence scores
  • Trading style categorized based on behavior
  • Recent activity (7 days) documented
  • Assessment includes specific reasoning, not just metrics

Output Format

Provide:

  1. Wallet summary: Address, age, total value, style
  2. Performance metrics: Win rate, avg return, best/worst trades
  3. Current holdings: Top positions with P/L
  4. Cluster info: Related wallets with confidence
  5. Recent activity: Last 7 days of trades
  6. Assessment: Is this wallet worth following, and why

Examples

Simple Example: Profile a Single Whale

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%)
Complex Example: Cluster Analysis for Token

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

Comments

Markdown supported