Solana token data, PnL, risk scores, 1-second OHLCV, wallet analytics, and self-hosted swap execution via Raptor
Scanned 9/2/2026
Install to Claude Code
npx -y skills add Serennity007/awesome-stock-quant-skills --skill solanatracker-api --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Solanatracker Api?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/serennity007-solanatracker-api)More formats (shields.io, HTML) on the badges page.
---
name: solanatracker-api
description: Solana token data, PnL, risk scores, 1-second OHLCV, wallet analytics, and self-hosted swap execution via Raptor
---
# 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
```python
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
```python
# 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
```python
# 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)
```python
# 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
```python
# 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
```python
# 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
```python
# 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
```python
# 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:
```json
{
"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)
```python
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](https://github.com/solanatracker/raptor-binary) | [Docs](https://docs.solanatracker.io/raptor/overview)
## DataStream WebSocket
Real-time streaming via WebSocket for 30+ event types:
```python
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
| Need | Use |
|------|-----|
| 1-second OHLCV candles | **SolanaTracker** |
| Wallet PnL tracking | **SolanaTracker** |
| Token risk scoring | **SolanaTracker** |
| Bundler/sniper detection | **SolanaTracker** |
| Self-hosted swap execution | **Raptor** |
| Free no-auth quick lookup | DexScreener |
| Real-time gRPC streaming | Yellowstone |
| Parsed transaction history | Helius |
| Cross-chain data | DexScreener 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](https://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
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!