Get a free key
Hyperliquid · Leaderboard

Hyperliquid leaderboard: the top traders, and how they trade

Hyperliquid's top traders ranked by PnL, ROI, win rate, volume, drawdown, Calmar or profit factor over a day, a week, a month or all time, each with its size and PnL cohort, and a ranking that keeps trading PnL apart from deposits. Over MCP, the leaderboard API and the CLI, on one free key.

Ask your AI · Claude, ChatGPT, CursorConnect in a minute →

“Who are the top 10 Hyperliquid traders by PnL this month, and what are their win rates?”

hl_leaderboard

“Which Hyperliquid traders made the most this week with at least 20 trades?”

hl_perp_top_traders

“Who are the top Hyperliquid perp traders this week, and what are they long?”

hl_perp_top_traders hl_wallet
Ranked by skill, not by size. This page ranks traders by what they realized: PnL, ROI, win rate and drawdown. The biggest positions and accounts, and what they do now, are the Hyperliquid whale tracker →
Live

The Hyperliquid leaderboard now

The top 10 by realized PnL over the last 30 days, the route's defaults, with their cohorts, win and loss counts and account value. Change the window, the ranking or the page size below.

Leaderboard · /leaderboard

GET/v1/hyperliquid/leaderboard?limit=10
Open this side to see the captured response.

    
API

The leaderboard API: rank traders on any metric

Two rankings of the same traders and one that strips deposits out, each over a day, a week, a month or all time.

Hyperliquid · API analytics

Traders & leaderboard

Trader rankings by PnL, ROI, win rate, volume and risk metrics over a window, with cohort filters.

Routes
/v1/hyperliquid/traders, /v1/hyperliquid/leaderboard
Built on
Fills
MCP
hl_perp_top_traders
Free APIArchiveStreamMCP

Load it

window
limit
GET/v1/hyperliquid/leaderboard?window={window}&sort={sort}&limit={limit}

    
Press Send ▶ — the captured response appears here

    

GET /v1/hyperliquid/leaderboard · Traders ranked on any of 20 metrics, with the full risk set

CLI
vike-data hl leaderboard
MCP
hl_leaderboard · 1 credit
Cost
1 request of the hourly limit

Trader leaderboard carrying the full risk-metric set.

Drawdown, Calmar, recovery factor, profit factor, expectancy and streaks sit beside PnL: a wallet up 300% through a 70% drawdown is not the same find as one up 300% without, and a PnL-only board cannot tell them apart.

calmar_ratio and recovery_factor divide by CURRENT account value, so they are null under $1 of it, and sort=calmar, recovery_factor or roi skips those wallets (an emptied account used to lead with a ratio in the billions). profit_factor is capped at 999: 999 means no losing trade closed, or only a negligible one, not a measured ratio.

Parameters

ParameterInDescription
windowquery1d | 7d | 30d | all. Default 30d. The trades CLOSED in the current UTC day and the 1, 7, 30 or 365 days before it, so PnL, trade counts, win rates and tags are what was realized in the window
sortqueryOne of pnl, realized_pnl, roi, volume, trades, win_rate, long_win_rate, short_win_rate, account_value, profit_factor, expectancy, calmar, recovery_factor, max_drawdown, current_drawdown, avg_leverage, avg_duration, fees, win_streak, loss_streak. Default pnl. An unknown key is a 400, not a default
orderqueryasc | desc. Default desc
cohortqueryOne label on axis
axisquerysize | pnl | pnl_abs. Default size
min_tradesqueryMinimum closed trades in the window. Default 3, the floor /traders applies; pass 0 for no floor
min_win_ratequeryMinimum win rate
min_volumequeryMinimum total volume
limitqueryDefault 25, max 500
cursorqueryKeyset cursor

Call it

bash
curl -H "X-API-KEY: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/leaderboard?window=7d&limit=25"

GET /v1/hyperliquid/traders · The top traders by PnL, ROI, win rate or volume

CLI
vike-data perp top-traders
MCP
hl_perp_top_traders · 2 credits
Cost
1 request of the hourly limit

Top HL perp traders by the requested metric over the window.

Kept on the tool implementation rather than moved to the new engine: MCP and the AI chat call the same code, and a second ranking that disagreed with the one the assistant quotes would be worse than a near-duplicate route. /leaderboard is the richer, cursor-paged version.

Parameters

ParameterInDescription
windowquery1d | 7d | 30d | all. Effective default 30d
sortquerypnl | roi | win_rate | volume | trade_count | drawdown | account_value | long_pnl | short_pnl. Default pnl
orderqueryasc | desc. Default desc
min_tradesqueryMinimum closed trades. Floored at 3: omitting it or passing 0, 1 or 2 gives 3
min_win_ratequeryPercent, 0–100, not a fraction
min_volumequeryMinimum total volume
sizequeryNumber of traders, 1–100

Call it

bash
curl -H "X-API-KEY: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/traders?window=7d&size=10"
Net of deposits

Trading PnL only: deposits and withdrawals kept apart

Ranked on the PnL of the fills themselves, with each wallet's deposits and withdrawals in the window reported beside it, so you see what was left out.

Hyperliquid · REST · CLI · MCP

Ranked on fills-derived PnL, the flows beside it

Route
GET /v1/hyperliquid/leaderboard/flow-adjusted
CLI
vike-data hl leaderboard
MCP
hl_leaderboard · 1 credit
Cost
1 request of the hourly limit
Free APIArchiveStreamMCP

Leaderboard ranked on trading PnL, with external flow reported beside it.

An account-value delta is not a trading result: a wallet that deposits $1M and loses $50k reads as +$950k on any equity-delta ranking. This ranks on fills-derived realized PnL, which excludes deposits by construction, and returns the deposits, withdrawals and the daily attribution figures in the same row so a caller can see what was excluded rather than trust that something was.

Each row carries flow_unbalanced. It is true when the wallet had a send in the window, which is when the *attributed* block beside the rank is unreliable — ledger_events records send one-sided, so an outflow is seen while the matching inflow is not. The rank itself does not depend on attribution and is unaffected. The flag is reported, never used to filter: active traders move money constantly, and excluding them would empty the board rather than clean it.

Parameters

ParameterInDescription
windowquery1d | 7d | 30d | all. Default 30d. The trades CLOSED in the current UTC day and the 1, 7, 30 or 365 days before it, so PnL, trade counts, win rates and tags are what was realized in the window
limitqueryDefault 25, max 500
cursorqueryKeyset cursor
min_tradesqueryMinimum closed trades in the window. Default 3; 0 keeps any wallet with at least one

Call it

bash
curl -H "X-API-KEY: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/leaderboard/flow-adjusted?window=30d&limit=25"
Rankings

Every ranking, every window

RoutesortwindowNotes
/v1/hyperliquid/leaderboardpnl realized_pnl roi volume trades win_rate long_win_rate short_win_rate account_value profit_factor expectancy calmar recovery_factor max_drawdown current_drawdown avg_leverage avg_duration fees win_streak loss_streak1d 7d 30d allA wallet needs 3 closed trades in the window unless min_trades says otherwise; win_rate is a fraction from 0 to 1; up to 500 rows a page, with a cursor; cohort keeps one size or PnL cohort.
/v1/hyperliquid/traderspnl roi win_rate volume trade_count drawdown account_value long_pnl short_pnl1d 7d 30d allThe AI chat's ranking: win rate in percent (0-100), one page of up to 100.

Window: 1d, 7d, 30d or all. The trades CLOSED in the current UTC day and the 1, 7, 30 or 365 days before it: PnL, trade counts, win rates and tags are what was realized in it.

AI tools

Ask your AI for the top traders

Two MCP tools answer it in Claude, ChatGPT or Cursor; the same calls run from the CLI.

MCP tool · 1 credit · views ranking, flow_adjusted

hl_leaderboard

“Who are the 10 most consistent Hyperliquid traders this month, by Calmar ratio, with at least 20 closed trades?”

json
{
 "jsonrpc": "2.0",
 "id": 1,
 "method": "tools/call",
 "params": {
  "name": "hl_leaderboard",
  "arguments": {
   "window": "30d",
   "sort": "calmar",
   "min_trades": 20,
   "limit": 10
  }
 }
}
MCP tool · 2 credits

hl_perp_top_traders

“Who are the top Hyperliquid perp traders this week, and what are they long?”

json
{
 "jsonrpc": "2.0",
 "id": 1,
 "method": "tools/call",
 "params": {
  "name": "hl_perp_top_traders",
  "arguments": {
   "window": "7d"
  }
 }
}

Connect Claude, ChatGPT or Cursor in a minute, and every Hyperliquid tool: AI & API →

Open live

The leaderboard on vike.io, no key

7 studies

Questions about the top traders, answered with code

Each with the sentence to ask your AI instead. Every block was run against the live API on 2026-11-03.

Hyperliquid · API

Top Hyperliquid traders by PnL, ROI and win rate (7d / 30d)

Rank Hyperliquid traders by 30-day realized PnL, then pull the best one's trade statistics.

Uses
/traders, /wallets/{…}/trades/summary
Verified
live API, 2026-11-03: 2 calls, all 200
Free APIArchiveStreamMCP

The code

python
"""Rank Hyperliquid traders by 30-day realized PnL, then look inside the best one's record.

Run:  VIKE_API_KEY=... python hl-top-traders.py        (--dry-run lists the requests and makes none)
"""
import os
import sys
from urllib.parse import urlencode

NAME = "hl-top-traders"
BASE = "https://data.vike.io"
DRY = "--dry-run" in sys.argv


def fail(why):
    sys.exit(f"{NAME}: {why}")


def call(path, method="GET", **params):
    url = BASE + path + ("?" + urlencode(params) if params else "")
    if DRY:
        print(method, url)
        return None
    key = os.environ.get("VIKE_API_KEY") or fail("set VIKE_API_KEY")
    import requests

    r = requests.request(method, url, headers={"X-API-Key": key}, timeout=60)
    if r.status_code != 200:
        fail(f"{method} {path} answered HTTP {r.status_code}: {r.text[:200]}")
    return r.json()


def main():
    # /traders returns one page of up to 100 and has no cursor; three is plenty here.
    board = call("/v1/hyperliquid/traders", window="30d", sort="pnl", size=3)
    wallet = "0x25773676902085225ae5751075e4161369334897"  # --dry-run has no response to read
    if not DRY:
        if not board["traders"]:
            fail("/traders returned no traders")
        for t in board["traders"]:
            print(f"{t['address']}  pnl ${t['total_realized_pnl']:,.0f}  win rate {t['win_rate_pct']}%  trades {t['trade_count']}")
        wallet = board["traders"][0]["address"]

    summary = call(f"/v1/hyperliquid/wallets/{wallet}/trades/summary", window="30d")
    if DRY:
        return
    o = summary["overall"]
    if not o["trade_count"]:
        fail(f"{wallet} has no trades in the window")
    # One outsized trade drags a mean far from the typical trade, so read the median beside it.
    print(f"{wallet}: {o['trade_count']} trades, net ${o['net_pnl']:,.0f}")
    print(f"  gain   mean ${o['avg_gain']:,.2f}  median ${o['median_gain']:,.2f}")
    print(f"  loss   mean ${o['avg_loss']:,.2f}  median ${o['median_loss']:,.2f}")


if __name__ == "__main__":
    try:
        main()
    except Exception as e:  # a shape the example does not expect fails by name, not by traceback
        fail(f"{type(e).__name__}: {e}")
Hyperliquid · API

Find high win-rate Hyperliquid traders with at least 30 closed trades

Call /leaderboard with min_trades=30 and min_win_rate=0.6 (a fraction), sorted by PnL, to list wallets that won at least 60% of 30 or more trades closed in the window.

Uses
/leaderboard, /traders
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Which Hyperliquid traders won at least 60% of 30 or more trades in the last 30 days?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# wallets with 30+ closed trades and a 60%+ win rate over 30 days, biggest PnL first
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/leaderboard?window=30d&min_trades=30&min_win_rate=0.6&sort=pnl&limit=5",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Are today's top Hyperliquid earners consistent over the week and the month?

Take the window=1d leaderboard, then read each wallet's 7d and 30d metrics from /wallets/{address}; a consistent earner is near the top in all three windows, with a sample that grows with the window.

Uses
/leaderboard, /wallets/{…}
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Who are today's top Hyperliquid earners, and were they also up over the last 7 and 30 days?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# today's top earners by realized PnL
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/leaderboard?window=1d&limit=5",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Rank Hyperliquid traders by Calmar or profit factor with a real sample

Sort /leaderboard by calmar or profit_factor with min_trades=50, inside one account-size tier, so emptied accounts and one-trade wallets cannot take the top.

Uses
/leaderboard
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Rank Hyperliquid whale accounts with at least 50 trades by Calmar ratio”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# best Calmar ratio over 365 days among $1M-$2.5M accounts with 50+ closed trades
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/leaderboard?window=all&sort=calmar&min_trades=50&axis=size&cohort=whale&limit=5",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Hot newcomers: huge ROI on few trades, and why not to follow them

Sort the leaderboard by expectancy (PnL per closed trade) with a one-trade floor to surface wallets that made a fortune on a handful of trades, then read their whole record from /trades/summary.

Uses
/leaderboard, /wallets/{…}/trades/summary
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Which Hyperliquid wallets made the most this week on only one or two trades?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the biggest PnL per closed trade over 7 days, wallets with as little as one trade
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/leaderboard?window=7d&sort=expectancy&min_trades=1&limit=5",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Are today's top Hyperliquid winners skilled or lucky? (flow-adjusted leaderboard)

The flow-adjusted leaderboard ranks on realized trading PnL and returns the sample size, the lifetime record and the deposit flows beside it, which is what separates a skilled run from one lucky trade.

Uses
/leaderboard/flow-adjusted
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Are today's top Hyperliquid earners consistent winners, or did they get lucky on one trade?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# today's top earners from trading, with flows and the full risk set beside each
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/leaderboard/flow-adjusted?window=1d&limit=3",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

What do Hyperliquid's worst-performing wallets do differently: leverage, hold time, losing streaks?

Filter /leaderboard to the 3x rekt cohort (bottom 5% by lifetime realized PnL) for hold time and losing streaks, compare it with 3x smart, and read leverage from their open positions, because the leaderboard's avg_leverage is only the leverage of positions open at the last refresh.

Uses
/leaderboard, /positions
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “How do the worst Hyperliquid wallets trade compared with the best: hold time, losing streaks and leverage?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the bottom-5% cohort's longest losing streaks over 30 days, wallets with 30+ closed trades
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/leaderboard?window=30d&axis=pnl&cohort=3x_rekt&sort=loss_streak&min_trades=30&limit=5",
    headers={"X-API-Key": API_KEY},
)
FAQ

Hyperliquid leaderboard FAQ

Is there a Hyperliquid leaderboard API?
Yes. /v1/hyperliquid/leaderboard ranks traders on any of 20 metrics over 1d, 7d, 30d, all, up to 500 a page with a cursor, and /v1/hyperliquid/traders returns a top 100 in one call. One free key, 20,000 requests an hour, over MCP and the CLI too.
How are Hyperliquid traders ranked?
On what they realized in the window: the trades closed in it. Pick the metric with sort (pnl, realized_pnl, roi, volume, trades, win_rate, ...) and the window with window; a wallet needs 3 closed trades in the window unless min_trades says otherwise, and cohort keeps one size or PnL cohort.
Does the leaderboard count deposits as profit?
No. The rankings read realized PnL from closed trades, never a change in account value. /v1/hyperliquid/leaderboard/flow-adjusted also returns each wallet's deposits and withdrawals beside its PnL, with flow_unbalanced on a row whose attribution is unreliable.
What is the difference between /traders and /leaderboard?
/traders is the ranking the AI chat quotes: one page of up to 100, win rate in percent (0-100). /leaderboard carries the full risk set (drawdown, Calmar, profit factor, streaks), pages with a cursor up to 500 rows, and its win_rate is a fraction from 0 to 1.
Leaderboard or whale tracker?
The leaderboard ranks by skill: PnL, ROI, win rate and drawdown. The whale tracker ranks by size: the largest positions and accounts, and what they do now.