AArtery
On this page

Hyperliquid leaderboard

GET /v1/markets/hyperliquid/leaderboard ranks every Hyperliquid trader (~38k accounts) by PnL, ROI, or volume over a performance window (day · week · month · allTime). It mirrors Hyperliquid's own network leaderboard (the data behind app.hyperliquid.xyz/leaderboard), refreshed into Artery on a schedule.

Note

These are account-level totals — a trader's whole-account PnL/ROI/volume, not split by asset class. A per-asset-class breakdown (equities vs perp tokens vs spot) is a separate, computed capability and is not part of this endpoint.

This is network-wide and public — unlike /v1/me/stats, which is the org-scoped leaderboard over your own wallets. Use /me/stats for a competition among your customers; use this endpoint to see where any address ranks across all of Hyperliquid.

When to use this

  • Network rankings. Top traders by realized PnL or ROI over the last day, week, month, or all-time.
  • Rank lookup. Pass address=0x… to get one wallet's rank + metrics for a window without paging the whole board.
  • Volume leaders. sortBy=vlm for the highest-turnover accounts.

Request

bash# Top 100 traders by all-time PnL
curl -H "Authorization: Bearer art_live_<your-key>" \
  "https://api.artery.questflow.ai/v1/markets/hyperliquid/leaderboard?window=allTime&sortBy=pnl&limit=100"
 
# One trader's rank by day ROI
curl -H "Authorization: Bearer art_live_<your-key>" \
  "https://api.artery.questflow.ai/v1/markets/hyperliquid/leaderboard?window=day&sortBy=roi&address=0x85ecf584f25db6f146718b86d493e33c5af72052"

Query parameters

ParameterTypeRequiredDescription
windowstringnoday (default), week, month, or allTime. The performance window.
sortBystringnopnl (default), roi, or vlm. The ranked metric.
orderstringnodesc (default) or asc.
limitnumbernoPage size, clamped to 1–500. Default 100.
offsetnumbernoPagination offset. Default 0.
addressstringnoA 0x wallet. When set, returns that trader's single entry + rank for (window, sortBy) instead of a page.

Invalid window / sortBy / order / address400 validation_failed.

Response

jsonc{
  "window": "allTime",
  "sortBy": "pnl",
  "order": "desc",
  "capturedAt": "2026-06-15T02:00:00.000Z", // snapshot freshness (null if never pulled)
  "total": 38913,                            // traders in this window
  "count": 100,
  "limit": 100,
  "offset": 0,
  "rows": [
    {
      "rank": 1,
      "ethAddress": "0x85ecf584f25db6f146718b86d493e33c5af72052",
      "displayName": null,
      "accountValue": 58046991.96, // current account value (USD)
      "pnl": 5052941.87,           // window PnL (USD)
      "roi": 0.0558,               // window ROI as a FRACTION (0.0558 = 5.58%)
      "vlm": 86129401448.88        // window traded volume (USD notional)
    }
    // …
  ]
}

With address, the shape is { window, sortBy, order, capturedAt, trader } where trader is a single row (with its rank) or null if the address isn't on the board for that window.

Note

roi is a fraction, not a percentage: 0.0558 means +5.58%. pnl, vlm, and accountValue are in USD.

Freshness

The board is refreshed from Hyperliquid on a schedule (hourly by default), so capturedAt can lag live by up to the refresh interval. The day/week/ month windows are rolling — they always describe the trailing period as of capturedAt.

Edit this page on GitHubLast updated
Hyperliquid leaderboard · Artery API Docs