XOOMAR

Free Whale Tracking API

Track the largest Hyperliquid traders. Current positions, PnL, and position changes for the top 100+ wallets.

Endpoints

GET
/api/markets/whales

Top wallets with all current positions. Updated every 5 minutes.

GET
/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.

1

Discovery

The official leaderboard is read each cycle and wallets above $1M account value enter the tracked set, capped at the top 100.

2

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.

3

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:

FieldTypeDescription
positionsarrayTop 20 open positions among tracked whale wallets, largest first
positions[].walletstringShortened wallet address (0xd4c1...3d1d)
positions[].coinstringAsset symbol on Hyperliquid (BTC, ETH, SOL...)
positions[].sidestringlong or short
positions[].sizenumberPosition notional in USD at entry price
positions[].uPnlnumberUnrealized 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?
Top ~100 wallets on Hyperliquid by notional position size. The list refreshes as the leaderboard changes.
How often does whale data update?
Every 5 minutes via the Hyperliquid public API.
Can I filter by coin?
Yes. Use /api/markets/whales/BTC to get all whale positions in BTC.
Is PnL data available?
Yes. Each position includes unrealized PnL and entry price.

Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.