Skip to main content
Loading market data…
GET/api/v1/hyperliquid/leaderboardStandard tier+ · 300 req/min

Hyperliquid trader leaderboard snapshot for a given time window.

Who's making money on Hyperliquid right now? This returns the top N traders for a given window (1d, 7d, 30d, YTD, or all-time), ranked by PnL. Use it to watch smart-money addresses, seed a copy-trading tool, or build a whale-follower UI.

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
windowenumoptional1d
Which leaderboard window.
1d7d30dytdall
limitnumberoptional50
How many traders to return. Max 200.

Response shape

Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.

data payloadtypescript
// Wrapped in the standard envelope:
// {
//   data: /* shape below */,
//   meta?: { total?: number; limit?: number; offset?: number; ... }
// }

{
  window: "1d" | "7d" | "30d" | "ytd" | "all";
  ts: number | null;          // snapshot ts of the leaderboard we rendered
  traders: Array<{
    rank: number;
    address: string;
    pnl: number;              // USD
    pnlPercent: number | null;
    volume: number;           // USD
    accountValue: number;     // USD
  }>;
}

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/hyperliquid/leaderboard?window=7d&limit=10" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "window": "7d",
    "ts": 1744834800000,
    "traders": [
      {
        "rank": 1,
        "address": "0xabc123...def",
        "pnl": 4250000,
        "pnlPercent": 0.58,
        "volume": 310000000,
        "accountValue": 11500000
      },
      {
        "rank": 2,
        "address": "0x9f8b...01a",
        "pnl": 3110000,
        "pnlPercent": 0.41,
        "volume": 215000000,
        "accountValue": 10200000
      }
    ]
  },
  "meta": { "total": 2, "window": "7d", "limit": 10 }
}

Notes

  • Addresses are the raw EVM address — lowercase, no checksum cast. Normalise client-side if you need EIP-55.
  • A missing snapshot returns `{ traders: [] }` with `ts: null` — that's a 200, not a 404.

Next

Check the error code reference, or get an API key to try the request against your own account.