Recipe 8 of 65
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.
GET /v1/hyperliquid/leaderboard/flow-adjusted answers it in one call. With window=1d it ranks wallets on the PnL
they realized from closed trades, so a deposit can never lift a wallet up the board. Each row also carries the trade count, the profit factor, the lifetime realized PnL and
cohort, and the day's deposits and withdrawals. Read those beside the rank to judge whether a day's win is a pattern
or a single trade. The full parameter list is on
Flow-adjusted leaderboard.
Quick answer
Ask for today's board.
# today's top earners from trading, with flows and the full risk set beside each
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/leaderboard/flow-adjusted?window=1d&limit=3"Example response
Captured from the live API on 2026-10-24 at 17:16 UTC: all 3 rows.
Both made over $1M today. The first did it on 16 trades with 15 wins and is $21.97M up over its life, in the top 1%
(3x smart). The second did it on 4 trades, almost all of it on shorts, and is $2.08M down over its life (3x rekt):
that looks like a lucky day. The third won 1 trade of 3, held for about 74 days on average. flow_unbalanced: true on
the second row means its attributed block cannot be trusted.
{
"traders": [
{
"wallet": "0xfc667adba8d4837586078f4fdcdc29804337ca06",
"rank": 1,
"account_value": 48749226.598805,
"total_realized_pnl": 3494570.337298,
"cum_realized_pnl": 21973615.679594684,
"roi": 7.168463134928304,
"pnl_pct": 7.168463134928306,
"total_volume": 349556527.5333299,
"total_fee": 12459.380226,
"trade_count": 16,
"win_count": 15,
"loss_count": 1,
"win_rate": 0.9375,
"long_win_rate": 0.8333333134651184,
"short_win_rate": 1.0,
"long_pnl": 189431.588825,
"short_pnl": 3305138.7484730007,
"profit_factor": 7481.79736328125,
"expectancy": 218410.646081125,
"max_drawdown_pct": 0.0,
"current_drawdown_pct": 0.0,
"calmar_ratio": 0.0,
"recovery_factor": 999.0,
"max_win_streak": 0,
"max_loss_streak": 1,
"avg_leverage": 0.0,
"avg_duration_seconds": 375469,
"size_cohort": "4x whale",
"pnl_cohort": "3x smart",
"pnl_cohort_tag": "sharp_shooter",
"style_cohort_tag": "whale_hunter",
"attributed": {
"trading_pnl_total": 638537.4511889964,
"realized_trading_pnl": 2277683.822310997,
"delta_unrealized_pnl": -1639146.3711220007,
"funding_paid_usd": 0.0,
"delta_account_value": -2561462.5488110036,
"account_value_eod": 48296707.167403,
"active_days": 1,
"last_day": "2026-10-23",
"perps_trading_pnl": -2854058.5068190037
},
"flow": {
"deposit_usd": 0.0,
"withdraw_usd": 0.0,
"net_external_flow_usd": -3200000.0,
"net_total_flow_usd": 292595.95800800016
},
"flow_unbalanced": false
},
{
"wallet": "0xfe7ce058edc7cfcde9ef8262ba51f8d4796ab7ae",
"rank": 2,
"account_value": 8309013.847202,
"total_realized_pnl": 1082334.615797,
"cum_realized_pnl": -2078079.9598528603,
"roi": 13.0260297515507,
"pnl_pct": 13.0260297515507,
"total_volume": 23629507.009184003,
"total_fee": 3920.516318,
"trade_count": 4,
"win_count": 3,
"loss_count": 1,
"win_rate": 0.75,
"long_win_rate": 1.0,
"short_win_rate": 0.6666666865348816,
"long_pnl": 5.80267,
"short_pnl": 1082328.8131270001,
"profit_factor": 18.003759384155273,
"expectancy": 270583.65394925,
"max_drawdown_pct": 11.0,
"current_drawdown_pct": 11.0,
"calmar_ratio": 1.1841845512390137,
"recovery_factor": 1.1841845512390137,
"max_win_streak": 0,
"max_loss_streak": 0,
"avg_leverage": 0.0,
"avg_duration_seconds": 162269,
"size_cohort": "3x whale",
"pnl_cohort": "3x rekt",
"pnl_cohort_tag": "steady_winner",
"style_cohort_tag": "whale_hunter",
"attributed": {
"trading_pnl_total": 2985260.618975999,
"realized_trading_pnl": 2608477.0440059938,
"delta_unrealized_pnl": 376783.5749700051,
"funding_paid_usd": 0.0,
"delta_account_value": -397659.38102400117,
"account_value_eod": 9366896.141592,
"active_days": 1,
"last_day": "2026-10-23",
"perps_trading_pnl": 2985260.618975999
},
"flow": {
"deposit_usd": 0.0,
"withdraw_usd": 0.0,
"net_external_flow_usd": -3382920.0,
"net_total_flow_usd": -3382920.0
},
"flow_unbalanced": true
},
{
"wallet": "0xfdf891f2b214a4c9374d26595ec6d4080262e381",
"rank": 3,
"account_value": 1763391.727182,
"total_realized_pnl": 907765.7735329999,
"cum_realized_pnl": 1415662.3633014013,
"roi": 51.47839584025162,
"pnl_pct": 51.47839584025162,
"total_volume": 4915356.459621,
"total_fee": 2063.109551,
"trade_count": 3,
"win_count": 1,
"loss_count": 2,
"win_rate": 0.3333333432674408,
"long_win_rate": 0.3333333432674408,
"short_win_rate": 0.0,
"long_pnl": 907765.7735329999,
"short_pnl": 0.0,
"profit_factor": 9.212410926818848,
"expectancy": 302588.5911776666,
"max_drawdown_pct": 15.899999618530273,
"current_drawdown_pct": 15.899999618530273,
"calmar_ratio": 3.2376348972320557,
"recovery_factor": 3.2376348972320557,
"max_win_streak": 0,
"max_loss_streak": 0,
"avg_leverage": 0.0,
"avg_duration_seconds": 6359511,
"size_cohort": "whale",
"pnl_cohort": "3x smart",
"pnl_cohort_tag": null,
"style_cohort_tag": "whale_hunter",
"attributed": {
"trading_pnl_total": -247423.84139599977,
"realized_trading_pnl": 45305.77384400088,
"delta_unrealized_pnl": -292729.61524000065,
"funding_paid_usd": 0.0,
"delta_account_value": -247423.84139599977,
"account_value_eod": 2093743.265203,
"active_days": 1,
"last_day": "2026-10-23",
"perps_trading_pnl": -247423.84139599977
},
"flow": {
"deposit_usd": 0.0,
"withdraw_usd": 0.0,
"net_external_flow_usd": 0.0,
"net_total_flow_usd": 0.0
},
"flow_unbalanced": false
}
],
"totalCount": 26028,
"nextCursor": "eyJrIjoiZmxvd2FkanwxZCIsInIiOjMsInYiOjkwNzc2NS43NzM1MzI5OTk5LCJ3IjoiMHhmZGY4OTFmMmIyMTRhNGM5Mzc0ZDI2NTk1ZWM2ZDQwODAyNjJlMzgxIn0",
"ranked_by": "total_realized_pnl (fills-derived; excludes deposits by construction)"
}Variations
Over a month. A longer window gives each wallet a bigger sample before you judge it.
# the 30-day board, ranked the same way
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/leaderboard/flow-adjusted?window=30d&limit=25"Lifetime winners only. Keep the rows whose lifetime realized PnL is positive and whose flows are balanced.
# today's board without lifetime losers and without unreliable flow attribution
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/leaderboard/flow-adjusted?window=1d&limit=100" \
| jq '.traders[] | select(.cum_realized_pnl > 0 and (.flow_unbalanced | not)) | {wallet, rank, total_realized_pnl, trade_count, profit_factor, cum_realized_pnl, pnl_cohort}'A raw trade-count floor. min_trades drops wallets with fewer closed trades in the window. The default is 3.
# today's board, wallets with at least 20 closed trades
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/leaderboard/flow-adjusted?window=1d&min_trades=20&limit=25"Before you rely on it
The rank is the plain PnL rank; the extra blocks lag a day
This board ranks on the same realized PnL as /leaderboard?sort=pnl, so the order is the same. What it adds is the
attributed and flow blocks, and those come from a daily job: in this capture they cover only 2026-10-23, while the
rank covers today too. profit_factor is 999 when a wallet has no losing trade in the window, and avg_leverage is
always 0, so read neither as a measurement.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The hl_leaderboard tool answers with view: flow_adjusted, at 1 credit a call.
Are today's top Hyperliquid earners consistent winners, or did they get lucky on one trade?