get_holder_data()

Retrieve detailed token holder information for whale tracking and distribution analysis

Whale Tracking
Large holders
Smart Money
Track winners
Distribution
Analyze spread
Risk Assessment
Concentration

Overview

The get_holder_data() method retrieves detailed information about token holders for a specific trading pair on the Solana blockchain. This data is crucial for analyzing token distribution, identifying whale wallets, detecting smart money movements, and assessing holder concentration risk.

Whale Tracking

Identify large holders and their positions

Smart Money Detection

Track wallets with successful trading history

Distribution Analysis

Understand token concentration

Risk Assessment

Detect concentration risk and potential dumps

Method Signature

python
def get_holder_data(
    self, 
    pair_address: str, 
    only_tracked_wallets: bool = False
) -> Dict

Parameters

pair_address (str, required)

  • Description: The DEX pair address (liquidity pool address) for the token
  • Format: Base58-encoded Solana public key (32-44 characters)
  • Example: "Cr8Qy7quTPDdR3sET6fZk7bRFtiDFLeuwntgZGKJrnAY"

Where to find:

  • • DEX Screener pair information
  • • New pair WebSocket events (pair_address field)
  • • Token explorers (Solscan, SolanaFM)
  • • get_pair_info() method

only_tracked_wallets (bool, optional)

  • Description: Filter to show only "tracked" wallets (whales, smart money, influencers)
  • Default: False (return all holders)
  • Use Case: Set to True to focus on important wallets only

Return Value

Returns a dictionary containing comprehensive holder information:

python
{
    "holders": [
        {
            "walletAddress": "Wallet123...",
            "tokenBalance": 1500000,
            "tokenBalanceFormatted": "1,500,000",
            "percentageOfSupply": 15.5,
            "solValue": 25.5,
            "usdValue": 2850.00,
            "isTracked": true,
            "trackedReason": "Smart Money",
            "entryPrice": 0.00001,
            "currentPnL": 125.50,
            "pnlPercentage": 35.2,
            "holdingTimeHours": 48,
            "lastActivity": "2026-01-14T10:30:00Z"
        }
    ],
    "summary": {
        "totalHolders": 1250,
        "trackedWallets": 15,
        "top10HoldingPercentage": 45.5,
        "top20HoldingPercentage": 62.3,
        "averageHoldingSize": 800,
        "medianHoldingSize": 150
    },
    "concentration": {
        "giniCoefficient": 0.75,
        "concentrationRisk": "High",
        "largestHolderPercentage": 12.5,
        "whaleCount": 8
    },
    "smartMoney": {
        "smartMoneyWallets": 12,
        "smartMoneyPercentage": 18.5,
        "avgSmartMoneyWinRate": 65.0
    }
}

holders (Array)

List of all token holders with position details, PnL, and tracking status

summary (Object)

Overall statistics: total holders, top holder percentages, averages

concentration (Object)

Distribution metrics: Gini coefficient, risk level, whale count

smartMoney (Object)

Smart money analytics: count, percentage held, average win rate

Basic Usage Examples

Example 1: Get All Holders

Retrieve complete holder data for a token pair.

python
from axiomtradeapi import AxiomTradeClient

client = AxiomTradeClient()
client.login("username", "password")

pair_address = "Cr8Qy7quTPDdR3sET6fZk7bRFtiDFLeuwntgZGKJrnAY"

# Get all holder data
result = client.get_holder_data(pair_address, only_tracked_wallets=False)

print(f"šŸ“Š Token Holder Analysis")
print(f"=" * 50)
print(f"Total holders: {result['summary']['totalHolders']}")
print(f"Tracked wallets: {result['summary']['trackedWallets']}")
print(f"Top 10 hold: {result['summary']['top10HoldingPercentage']:.1f}%")
print(f"Top 20 hold: {result['summary']['top20HoldingPercentage']:.1f}%")

print(f"\nšŸ”’ Concentration Risk")
print(f"Risk Level: {result['concentration']['concentrationRisk']}")
print(f"Gini: {result['concentration']['giniCoefficient']:.2f}")
print(f"Largest: {result['concentration']['largestHolderPercentage']:.1f}%")

Example 2: Track Smart Money Wallets

Focus on tracked wallets only (smart money, whales, influencers).

python
from axiomtradeapi import AxiomTradeClient

client = AxiomTradeClient()
client.login("username", "password")

pair_address = "Cr8Qy7quTPDdR3sET6fZk7bRFtiDFLeuwntgZGKJrnAY"

# Get only tracked wallets
result = client.get_holder_data(pair_address, only_tracked_wallets=True)

print("šŸŽÆ Tracked Wallets Analysis\n")

for holder in result['holders'][:10]:
    wallet = holder['walletAddress'][:8] + "..."
    percentage = holder['percentageOfSupply']
    reason = holder.get('trackedReason', 'Unknown')
    pnl = holder.get('pnlPercentage', 0)
    
    pnl_emoji = "🟢" if pnl > 0 else "šŸ”“"
    print(f"{reason:15} | {wallet} | {percentage:5.2f}% | {pnl_emoji} {pnl:+.1f}%")

print(f"\nšŸ’° Smart Money Summary:")
print(f"   Wallets: {result['smartMoney']['smartMoneyWallets']}")
print(f"   Owns: {result['smartMoney']['smartMoneyPercentage']:.1f}%")
print(f"   Win rate: {result['smartMoney']['avgSmartMoneyWinRate']:.1f}%")

Example 3: Identify Whale Wallets

Find and analyze whale holders.

python
from axiomtradeapi import AxiomTradeClient

client = AxiomTradeClient()
client.login("username", "password")

result = client.get_holder_data(pair_address)

print("šŸ‹ Whale Wallet Analysis\n")

# Define whale threshold (> 5% of supply)
WHALE_THRESHOLD = 5.0

whales = [
    holder for holder in result['holders']
    if holder['percentageOfSupply'] >= WHALE_THRESHOLD
]

print(f"Found {len(whales)} whale wallets\n")

for i, whale in enumerate(whales, 1):
    wallet = whale['walletAddress'][:8] + "..."
    percentage = whale['percentageOfSupply']
    usd_value = whale.get('usdValue', 0)
    
    print(f"{i}. {wallet}")
    print(f"   Holding: {percentage:.2f}% (${usd_value:,.0f})")
    print()

Advanced Examples

Advanced usage patterns for production applications:

Real-Time Monitoring

Detect accumulation/distribution patterns

Concentration Calculator

Calculate detailed risk metrics

Smart Money Tracker

Track and copy winning wallets

Distribution Visualizer

Generate distribution statistics

Full advanced examples with complete code are available in the GitHub repository

View Examples on GitHub

Best Practices

1. Filter by Tracked Wallets for Efficiency

python
# āœ… Good: Use filter when you only need tracked wallets
tracked = client.get_holder_data(pair_address, only_tracked_wallets=True)

# āŒ Inefficient: Getting all then filtering manually
all_holders = client.get_holder_data(pair_address, only_tracked_wallets=False)
tracked = [h for h in all_holders['holders'] if h.get('isTracked')]

2. Cache Results for Multiple Analyses

python
# Get once, use multiple times
holder_data = client.get_holder_data(pair_address)

# Multiple analyses
concentration_risk = analyze_concentration(holder_data)
whale_count = count_whales(holder_data)
distribution = analyze_distribution(holder_data)

3. Set Realistic Thresholds

python
def get_whale_threshold(market_cap: float) -> float:
    """Adjust whale threshold based on market cap"""
    if market_cap > 10_000_000:  # > $10M
        return 2.0  # 2%
    elif market_cap > 1_000_000:  # > $1M
        return 5.0  # 5%
    else:
        return 10.0  # 10% for small caps

Risk Indicators

🚩 High Risk Signals

  • • Top holder > 15%
  • • Top 10 > 60%
  • • Top 20 > 80%
  • • Gini coefficient > 0.8
  • • Smart money exiting

āœ… Good Signs

  • • Top 10 < 50%
  • • Gini coefficient < 0.7
  • • Growing holder count
  • • Smart money profitable
  • • Low whale concentration

Troubleshooting

Issue: Empty Holder List

Possible Causes:

  • • Invalid pair address
  • • Very new token (data not indexed yet)
  • • Token has no holders yet
python
holder_data = client.get_holder_data(pair_address)

if holder_data['summary']['totalHolders'] == 0:
    print("No holders - check pair address or wait for indexing")

Issue: Slow Performance

Solution: Use tracked wallets filter

python
# Use tracked wallets only when possible
if need_whale_data_only:
    holder_data = client.get_holder_data(
        pair_address, 
        only_tracked_wallets=True
    )

Need Help?

Our support team can help you with holder analysis and risk assessment

Related Documentation

Build Smart Trading Systems

Need help implementing holder analysis and whale tracking? We're here to help.

Open Source

Contribute to AxiomTradeAPI

View on GitHub

Community

Join 1000+ developers

Join Discord

Custom Development

Professional bot building

Get Started