Rank Solana Traders by PnL, Not Follower Count
Query top Solana traders and KOL wallets by realized PnL, ROI, win rate, periods and identity tags.
Profitability beats follower count
To find the most profitable Solana wallets programmatically, call GET /v2/pnl/leaderboard/top (or client.getPnlV2TopTraders()), you get ranked traders with realized PnL, ROI, win rate, and identity tags (KOL, bot, platform) in one response.
What you need
- A Solana Tracker API key (free tier works for reads within quota)
- Node.js 18+
Step 1: Top traders (30-day window)
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: process.env.ST_API_KEY, baseUrl: 'https://data.solanatracker.io' });
const top = await client.getPnlV2TopTraders({
days: 30,
limit: 25,
pnlMode: 'adjusted',
});
for (const row of top.traders) {
console.log(row.wallet, row.period?.realized, row.period?.roi, row.identity?.name);
}
Step 2: KOL leaderboard
const kols = await client.getPnlV2KOLLeaderboard({
sort: 'total',
direction: 'desc',
limit: 20,
});
for (const row of kols.traders) {
console.log(row.identity?.twitter || row.identity?.name, row.summary?.pnl?.total);
}
Step 3: Token-specific top traders
const tokenTraders = await client.getPnlV2TokenTraders(MINT, {
sort: 'pnl',
direction: 'desc',
limit: 50,
});
Step 4: Choose a pnlMode
| Mode | Behavior |
|------|----------|
| strict | Default, suspicious positions count as zero |
| adjusted | Cost-basis-capped correction for flagged positions |
| raw | Unfiltered realized PnL |
Use adjusted for leaderboards that should still rank active meme traders fairly.
FAQ
Is SOL/wSOL tracked?
PnL v2 focuses on tradable SPL meme positions, not native SOL balances.
Can I watch a leaderboard wallet live?
Combine with the wallet portfolio guide and wallet balance streams.
Where is the UI leaderboard?
See PnL Leaderboard and KOLScan for the same underlying data.
Related: Wallet portfolio API -> · Solana Data API
Download the example
Clone the full runnable project on GitHub, npm install && npm start with your keys in .env. Or open it in StackBlitz to run in your browser (free). See the tutorial for step-by-step context.
Runnable Node.js project — clone from GitHub, add keys to .env, then npm start. StackBlitz runs REST and Datastream examples in your browser for free.