XOOMAR

Free Whale Tracking API

The open positions of the largest Hyperliquid accounts by account value, with side, size and unrealized PnL, updated every 5 minutes.

Endpoints

GET
/api/markets/whales

The 20 largest open positions among the tracked accounts. Updated every 5 minutes.

GET
/api/markets/whales/{coin}

Positions in one coin across the tracked accounts, with the long and short totals.

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

  • Open positions of the largest Hyperliquid accounts by account value, updated every 5 minutes.
  • Position detail: coin, side, notional size in USD at entry and unrealized PnL as Hyperliquid reports it.
  • Per-coin totals: the long and short notional of the tracked accounts in one coin.

Example

Request

curl "https://xoomar.com/api/markets/whales"

Response, live at 2026-10-20 15:10 UTC, trimmed

{
  "data": {
    "positions": [
      {
        "wallet": "0x5b5d...c060",
        "coin": "ETH",
        "side": "short",
        "size": 247014900.5643,
        "uPnl": -14888873.192237,
        "canonicalUrl": "https://xoomar.com/markets/whales/eth"
      },
      {
        "wallet": "0x5b5d...c060",
        "coin": "BTC",
        "side": "short",
        "size": 196964636.734151,
        "uPnl": -17628255.291749,
        "canonicalUrl": "https://xoomar.com/markets/whales/btc"
      }
    ]
  },
  "updatedAt": "2026-10-20T15:10:39.975Z",
  "source": "xoomar.com",
  "docs": "https://xoomar.com/markets/api",
  "license": "https://xoomar.com/terms",
  "attribution": "Credit XOOMAR with a link to the dataset page on xoomar.com when you republish this data",
  "meta": {
    "source": "Hyperliquid",
    "sourceAttribution": "Position data: Hyperliquid.",
    "notice": "10 requests a minute without a key, 30 with a free key. Get a free key at https://xoomar.com/signup?utm_source=api, register your app at https://xoomar.com/developers/register?utm_source=api, and credit the data as \"Data: XOOMAR\" together with the sourceAttribution line."
  }
}

size is USD notional at entry. PnL is unrealized, as Hyperliquid reports it. Wallets are pseudonymous; we never claim to know who they are.

What people build with it

Side-change alerts

Poll every 5 minutes and alert when one of the largest positions in BTC or ETH changes side.

Whales next to funding

Show the per-coin long and short totals of the largest accounts next to the funding rates for the same coin.

Position boards

Build a board of the largest open positions with their unrealized PnL.

Size alerts

Alert when a single position passes a notional you choose.

Fair use

No key needed to start. A 429 response carries a Retry-After header in seconds; cache responses on your side where you can. Need more volume? Write to info@xoomar.com.

Response shape

Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs, license, attribution, meta }. In meta, source names who publishes the data and sourceAttribution is the credit line to show with it. 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
positions[].canonicalUrlstring (optional)The page on xoomar.com for this record, present only when a matching page exists; otherwise omitted

The per-coin endpoint /api/markets/whales/{coin} returns { coin, aggregate: { longSize, shortSize }, positions } filtered to that asset.

Numeric fields typed string in the table carry exact decimals; parse them with your language's decimal type. No key needed to start: 10 requests a minute per IP without a key and 30 a minute with a free account key, with at least six months of history. A 429 response carries a Retry-After header in seconds. Credit XOOMAR with a link to the dataset page when you republish the data; the data terms are on the terms page.

A free account key raises the limit; send it in an X-API-Key header.

Frequently Asked Questions

Which wallets are tracked?
The largest Hyperliquid accounts by account value; the hub page prints the live count.
How often does whale data update?
Every 5 minutes, from Hyperliquid.
Can I filter by coin?
Yes. /api/markets/whales/btc returns the tracked positions in bitcoin with the long and short totals.
Is PnL data available?
Yes. Each position carries its unrealized PnL in USD.

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