Free Whale Tracking API
Track the largest Hyperliquid traders. Current positions, PnL, and position changes for the top 100+ wallets.
Endpoints
/api/markets/whalesTop wallets with all current positions. Updated every 5 minutes.
/api/markets/whales/{coin}Positions for a single coin across all tracked wallets.
Examples
curl
curl https://xoomar.com/api/markets/whales
Python
import requests
r = requests.get("https://xoomar.com/api/markets/whales")
positions = r.json()["data"]["positions"]
for p in positions[:5]:
print(f"{p['wallet']} {p['coin']} {p['side']}: ${p['size']:,.0f} (uPnL ${p['uPnl']:,.0f})")Main Features
- ✓Position tracking for the 100 largest Hyperliquid wallets (account value above $1M), refreshed every 5 minutes.
- ✓Full position detail: coin, side, size, entry price, leverage, and unrealized PnL exactly as the chain reports them.
- ✓Per-coin aggregation: whale long vs short notional for BTC, ETH, SOL and the rest of the top 10.
- ✓Every wallet is independently verifiable on Hyperliquid's own explorer; we link, never hide, the address.
- ✓Database fallback behind the cache: the endpoint serves the latest snapshot even between poll cycles.
How It Works
Hyperliquid's transparency makes this possible; we add the tracking layer.
Discovery
The official leaderboard is read each cycle and wallets above $1M account value enter the tracked set, capped at the top 100.
Position polling
Every 5 minutes each tracked wallet's clearinghouse state is fetched: open positions, entries, leverage, uPnL. Snapshots are stored with timestamps, building a position history that exchanges do not offer.
Aggregation
Top positions and per-coin long/short aggregates are cached for fast reads, with a 2-hour database fallback window.
Real Example
Request
curl "https://xoomar.com/api/markets/whales"
Response (captured live, trimmed)
{
"data": {
"positions": [
{
"wallet": "0x0ddf...a902",
"coin": "ETH",
"side": "short",
"size": 108609600,
"uPnl": 8289786.0219
},
{
"wallet": "0x92ea...50e9",
"coin": "BTC",
"side": "long",
"size": 96542225.80025099,
"uPnl": -15838146.6548
},
{
"wallet": "0x7fda...17d1",
"coin": "ETH",
"side": "short",
"size": 52905060.429951996,
"uPnl": 2621084.6372
}
]
},
"updatedAt": "2026-06-12T15:08:35.532Z",
"source": "xoomar.com",
"docs": "https://xoomar.com/markets/api"
}size is USD notional at entry. PnL is unrealized and chain-reported. Wallets are pseudonymous; we never claim to know who they are.
What People Build With This
Whale flip alerts
Poll every 5 minutes and alert when a top-10 wallet flips side on BTC or ETH. Position history makes flips detectable.
Crowd-vs-whale divergence
Compare per-coin whale long/short aggregate with retail funding rates: when whales lean against funding, take note.
Copy-watching dashboards
Build a board of the largest positions with live uPnL. Every number links back to the chain for verification.
Research datasets
Position snapshots since June 2026 accumulate into a dataset for studying how large accounts trade leverage.
Pricing and Fair Use
Free. No API key, no signup, no credit card. We rate limit per IP to keep the service fast for everyone; a 429 response carries a Retry-After header telling you exactly when to retry. Cache responses on your side where you can. If you are building something that needs guaranteed volume, contact us first instead of hammering the endpoint.
Response Shape
Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs }. The data field is an object with these fields:
| Field | Type | Description |
|---|---|---|
| positions | array | Top 20 open positions among tracked whale wallets, largest first |
| positions[].wallet | string | Shortened wallet address (0xd4c1...3d1d) |
| positions[].coin | string | Asset symbol on Hyperliquid (BTC, ETH, SOL...) |
| positions[].side | string | long or short |
| positions[].size | number | Position notional in USD at entry price |
| positions[].uPnl | number | Unrealized PnL in USD as reported by Hyperliquid |
The per-coin endpoint /api/markets/whales/{coin} returns { coin, aggregate: { longSize, shortSize }, positions } filtered to that asset.
Numeric values arrive as strings where precision matters (prices, rates); parse with your language's decimal type for accounting-grade math. Rate limiting is fair-use per IP; a 429 response includes a Retry-After header. No authentication, no API key, no signup. Attribution is appreciated: xoomar.com/markets.
Frequently Asked Questions
Which wallets are tracked?
How often does whale data update?
Can I filter by coin?
Is PnL data available?
Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.