mcpField
S
solanatracker-api

solanatracker-api

github.com/agiprolabsData & databases456439 installsUpdated 8w ago
Repository

About solanatracker-api

solanatracker-api is a skill for Solana data and trading developers, covering APIs for tokens, prices, wallet PnL, holders, and risk scores. It also describes real-time WebSocket streams and the self-hosted Raptor DEX aggregator.

Key features

  1. 01Query tokens, prices, and historical candles
  2. 02Analyze wallet PnL and trade history
  3. 03Inspect holder and trader data
  4. 04Retrieve token risk scores and search filters
  5. 05Subscribe to real-time events over WebSocket
  6. 06Explore the self-hosted Raptor aggregator

Use cases

  1. 01Build a Solana token analysis workflow
  2. 02Track wallet PnL and trading performance
  3. 03Screen token holders and risk factors
  4. 04Subscribe to trade, price, and holder events

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/agiprolabs/claude-trading-skills --skill solanatracker-api

After installing, type/solanatracker-apiin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
data_api_endpoints.md
raptor_setup.md
risk_and_pnl.md
scripts/
token_analysis.py
wallet_pnl.py

Details

From the project README

SolanaTracker API — Token Data, Analytics & Raptor DEX Aggregator

SolanaTracker provides comprehensive Solana token data with unique features: 1-second OHLCV resolution, wallet PnL tracking, risk scoring, bundler/sniper detection, and a self-hosted DEX aggregator (Raptor) supporting 25+ DEXes with no rate limits.

Quick Start

import httpx

API_KEY = os.getenv("SOLANATRACKER_API_KEY", "")
BASE = "https://data.solanatracker.io"
HEADERS = {"x-api-key": API_KEY}

# Token info with risk score, pools, holders
resp = httpx.get(f"{BASE}/tokens/{mint}", headers=HEADERS)
token = resp.json()
print(f"Risk: {token['risk']['score']}/10, Pools: {len(token['pools'])}")

# Wallet PnL
resp = httpx.get(f"{BASE}/pnl/{wallet}", headers=HEADERS)
pnl = resp.json()
print(f"Win rate: {pnl['summary']['winPercentage']}%")

Authentication & Pricing

  • API Key: From your SolanaTracker dashboard, passed as x-api-key header
  • Plans: Starting ~€50/mo (200K requests), €200/mo (higher volume), Enterprise custom
  • Raptor: Free during public beta (self-hosted, no rate limits)

Core Data Endpoints

Token Data
# Full token info (metadata, pools, risk, events, holders summary)
GET /tokens/{tokenAddress}

# New tokens (paginated, pages 1-10)
GET /tokens/latest?page=1

# Trending by volume (default: past hour)
GET /tokens/trending
GET /tokens/trending/{timeframe}  # 5m, 15m, 30m, 1h, 4h, 12h, 24h

# Top performers
GET /tokens/top

# Graduated from bonding curves (pump.fun → Raydium)
GET /tokens/graduated
GET /tokens/graduating

# Multiple tokens in one request
GET /tokens/multi?tokens=ADDR1,ADDR2

# Deployer's tokens
GET /tokens/deployer/{deployerAddress}

# Token by pool address
GET /tokens/pool/{poolAddress}

# All-time high
GET /tokens/{token}/ath
Price Data
# Current price with liquidity and market cap
GET /price?token={address}

# Price with change percentages
GET /price?token={address}&priceChanges=true

# Historic prices (3d, 5d, 7d, 14d, 30d snapshots)
GET /price/history?token={address}

# Multiple token prices
GET /price/multi?tokens=ADDR1,ADDR2
OHLCV Charts (1-second resolution)
# Candle data — supports 1s resolution (unique to SolanaTracker)
GET /chart/{token}?type=1s&time_from=UNIX&time_to=UNIX

# Timeframes: 1s, 5s, 15s, 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1mn
# Optional: currency=usd|sol|eur, removeOutliers=true, marketCap=true

# Specialized charts
GET /chart/{token}/bundlers   # Bundler activity overlay
GET /chart/{token}/holders    # Holder count overlay
GET /chart/{token}/insiders   # Insider activity overlay
GET /chart/{token}/snipers    # Sniper activity overlay
Wallet PnL
# Full wallet PnL across all tokens
GET /pnl/{wallet}

# Token-specific PnL
GET /pnl/{wallet}/{token}

# First buyers with PnL
GET /first-buyers/{token}

# Optional params: showHistoricPnL=true (1d/7d/30d), holdingCheck=true

PnL response summary fields: realized, unrealized, total, totalInvested, averageBuyAmount, totalWins, totalLosses, winPercentage, lossPercentage

Wallet Data
# All tokens held by wallet
GET /wallet/{owner}

# Paginated wallet tokens
GET /wallet/{owner}/paginated

# Trade history
GET /wallet/{owner}/trades

# Portfolio chart over time
GET /wallet/{owner}/chart
Holder Analysis
# Paginated holder list
GET /tokens/{token}/holders?page=1

# Top 100 holders
GET /tokens/{token}/holders/top

# Top 20 holders (lighter)
GET /tokens/{token}/holders/top20

# Bundler detection
GET /tokens/{token}/bundlers
Top Traders
# Global top traders
GET /top-traders/all
GET /top-traders/all/paginated?page=1

# Token-specific top traders
GET /top-traders/{token}

# Optional: expandPnl=true, sortBy=total|winPercentage
Risk Assessment

Risk is included in the /tokens/{token} response:

{
  "risk": {
    "score": 7,        // 1-10 (10 = safest)
    "rugged": false,
    "jupiterVerified": true,
    "risks": [
      { "name": "Top 10 holders own 45%", "level": "warn" },
      { "name": "Freeze authority enabled", "level": "danger" }
    ]
  }
}

Risk factors: sniper/insider concentration, developer holdings, bundler activity, top 10 holder %, mint/freeze authority, social presence, metadata completeness, liquidity.

Search (30+ filters)
GET /search?query=BONK&minLiquidity=10000&minRiskScore=5&market=raydium&sortBy=volume&limit=50

# Key filters: query, symbol, minLiquidity, maxLiquidity, minMarketCap, maxMarketCap,
# minVolume, maxVolume, hasImage, hasSocials, minHolders, maxHolders, minRiskScore,
# freezeAuthority, mintAuthority, deployer, market, sortBy, sortOrder, limit (max 500), page

Raptor — Self-Hosted DEX Aggregator

See the dedicated raptor-dex skill for complete Raptor documentation including setup, API reference, deployment guides, WebSocket streaming, and execution scripts.

Raptor is SolanaTracker's self-hosted DEX aggregator: 25+ DEXes, no rate limits, no API key, Yellowstone Jet TPU submission. GitHub | Docs

DataStream WebSocket

Real-time streaming via WebSocket for 30+ event types:

import websockets, json

async def stream():
    uri = f"wss://datastream.solanatracker.io/{DATASTREAM_KEY}"
    async with websockets.connect(uri) as ws:
        # Subscribe to token trades
        await ws.send(json.dumps({"type": "join", "room": f"transaction:{token_addr}"}))
        # Also: price:{token}, holders:{token}, latest_tokens, graduated, etc.
        async for msg in ws:
            data = json.loads(msg)
            if data.get("type") != "joined":
                print(data)

Key channels: transaction:{token}, price:{token}, holders:{token}, latest_tokens, graduated, graduating, bundlers:{token}, insiders:{token}, snipers:{token}, wallet_transaction:{wallet}

When to Use SolanaTracker vs Alternatives

NeedUse
1-second OHLCV candlesSolanaTracker
Wallet PnL trackingSolanaTracker
Token risk scoringSolanaTracker
Bundler/sniper detectionSolanaTracker
Self-hosted swap executionRaptor
Free no-auth quick lookupDexScreener
Real-time gRPC streamingYellowstone
Parsed transaction historyHelius
Cross-chain dataDexScreener or CoinGecko

Files

References
  • references/data_api_endpoints.md — Complete Data API endpoint reference with parameters and response schemas
  • references/raptor_setup.md — Raptor quick-start reference (full docs in the raptor-dex skill)
  • references/risk_and_pnl.md — Risk scoring methodology and PnL calculation details
  • docs.solanatracker.io/llms-full.txt — Complete SolanaTracker documentation (13K+ lines, LLM-optimized) covering Data API, Swap API, Datastream WebSocket, Solana RPC, Yellowstone gRPC, SDK libraries, and all endpoint schemas. Fetch on demand rather than embedding.
Scripts
  • scripts/token_analysis.py — Fetch token data, risk score, holders, and trades
  • scripts/wallet_pnl.py — Wallet PnL analysis with win rate and trade breakdown

Comments

Markdown supported