Complete documentation of the wallet classification and scoring system.
Overview
The system analyzes wallet transactions via the Helius API + Jupiter Price API and generates:
- A classification (TRADER / DEV / BOT / UNKNOWN)
- A score from 0 to 100
- A title based on type and score
- Detailed and accurate stats
- Red flags if applicable
Wallet Classification
TRADER
Indicators:
- Uses DEXs like Jupiter, Raydium, Orca, Meteora, Lifinity
- More than 10 swaps detected
Score calculation:
score = 30 + (swapCount ร 0.5) + (txCount ร 0.05)
max: 95
DEV
Indicators:
PROGRAM_DEPLOY transactions
TOKEN_MINT transactions
Score calculation:
score = 40 + (txCount ร 0.3)
max: 90
BOT
Indicators:
- More than 50 transactions
- 80%+ of intervals have <60s variation vs average
- Average interval <5 minutes
Score calculation:
score = 30 (fixed)
UNKNOWN
Conditions:
- Less than 20 transactions and no significant swaps
Score calculation:
score = 20 + (txCount ร 0.5)
max: 70
Title System
Trader Titles
| Score | Title | Emoji |
|---|
| 0-20 | Paper Hands | ๐งป |
| 21-40 | Rookie | ๐ฑ |
| 41-55 | Solid Degen | ๐ฐ |
| 56-70 | Sharp Shooter | ๐ฏ |
| 71-85 | Diamond Trader | ๐ |
| 86-100 | Whale Alpha | ๐ |
Dev Titles
| Score | Title | Emoji |
|---|
| 0-20 | Script Kiddie | ๐ |
| 21-40 | Junior Dev | ๐ถ |
| 41-55 | Builder | ๐จ |
| 56-70 | Trusted Dev | โ
|
| 71-85 | Senior Builder | ๐๏ธ |
| 86-100 | OG Architect | ๐๏ธ |
Bot Title
| Score | Title | Emoji |
|---|
| 0-100 | Bot Detected | ๐ค |
Score Breakdown
| Category | Max Points | Source | Calculation |
|---|
| History | 25 | Transaction count | Based on total signatures |
| Volume | 20 | Jupiter Price API | Real USD volume |
| Diversity | 15 | Token transfers | Unique token count |
| Consistency | 15 | Timestamps | Wallet age + recent activity |
| Win Rate | 25 | Estimation | Based on swaps + diversity |
History Detail (0-25)
| Transactions | Score |
|---|
| > 1000 | 25 |
| > 500 | 22 |
| > 100 | 18 |
| > 50 | 14 |
| > 20 | 10 |
| < 20 | txCount ร 0.4 |
Volume Detail (0-20)
| Volume USD | Score |
|---|
| > $1M | 20 |
| > $500k | 18 |
| > $100k | 15 |
| > $50k | 12 |
| > $10k | 8 |
| > $1k | 5 |
| < $1k | volumeUsd / 250 |
Diversity Detail (0-15)
| Unique Tokens | Score |
|---|
| > 100 | 15 |
| > 50 | 12 |
| > 30 | 10 |
| > 15 | 7 |
| > 5 | 4 |
| < 5 | count ร 0.5 |
Consistency Detail (0-15)
| Criterion | Points |
|---|
| Wallet > 2 years | +7 |
| Wallet > 1 year | +5 |
| Wallet > 6 months | +3 |
| Wallet > 1 month | +1 |
| Active last 7 days | +3 |
| > 10 tx last 7 days | +3 |
Red Flags (Penalties)
| Red Flag | Condition | Penalty |
|---|
| Fresh wallet | < 5 tx | -20 |
| New wallet | 5-10 tx | -10 |
| Young + High volume | < 7 days & > $50k | -15 |
| Wash trading | > 30 swaps & < 3 tokens | -20 |
| Bot activity | Hold time < 1h & > 20 swaps | Flag only |
Bonuses
| Bonus | Condition | Points |
|---|
| OG Wallet (3+ years) | walletAgeDays > 1095 | +12 |
| Veteran (2+ years) | walletAgeDays > 730 | +8 |
| Established (1+ year) | walletAgeDays > 365 | +4 |
| High Volume | volumeUsd > $500k | +5 |
Final Score
// Blend classification score + breakdown
score = (classificationScore ร 0.35) + (breakdownTotal ร 0.65);
score = clamp(score, 0, 100);
Cache System
- Duration: 24 hours
- Cache hit: 0 credits consumed
- Cache miss: 1 credit consumed
- Hits counter: Incremented on each access
Known Limits
| Metric | Limit | Reason |
|---|
| Transactions | 50k max | Safety limit for pagination |
| Enhanced TX | 1000 max | Helius API limit |
| Win Rate | Estimation | Would require historical prices |
| Token prices | 60s Jupiter cache | Unverified tokens = 0 |