Recipe 34 of 65
Hyperliquid builder codes leaderboard: revenue, volume, users
/v1/hyperliquid/builders ranks builder codes by their fee revenue, routed volume, distinct users or fills over 1d, 7d, 30d or all; /builders/stats gives the venue-wide totals.
GET /v1/hyperliquid/builders answers it in one call. A builder is a front-end or bot that attaches its address to an
order and is paid a slice of the fee for it, and the route ranks builders over a window: fee_usd (the builder's own
revenue), volume_usd routed, users (distinct wallets), fills, the realized take rate and its share of all
Hyperliquid volume. GET /v1/hyperliquid/builders/stats gives the totals the ranking sits in. The full parameter lists
are on Builder leaderboard and
Builder ecosystem stats.
Quick answer
With no parameters it ranks by the builder's own fee revenue over 30 days.
# builders ranked by their own fee revenue over the last 30 days
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders?limit=3"Example response
Captured from the live API on 2026-10-24 at 17:15 UTC, all 3 rows.
fee_usd is what the builder earned and trader_fee_usd what its users paid in total. The top builder earned $1.69M
in 30 days at a realized 9.77 bps; the second routed twice the volume at 4.47 bps and earned less. market_share_pct
is percentage points of all Hyperliquid fill volume, so 0.72 means 0.72%. closed_pnl_usd is the users' realized
PnL, not the builder's.
{
"window": {
"window": "30d",
"start": "2026-09-24T17:15:51.566000+00:00",
"end": "2026-10-24T17:15:51.566000+00:00"
},
"sort": "fee",
"order": "desc",
"venue_volume_usd": 472577040259.988,
"market_share_window_start": "2026-09-24T17:15:51.566000+00:00",
"builders": [
{
"builder": "0x5af1b5f44207784dcb850bbb4143c5dcd1885f71",
"rank": 1,
"fee_usd": 1694980.9063719949,
"volume_usd": 1734853642.9715002,
"share_volume_usd": 1734853642.9715002,
"fills": 624051,
"users": 11785,
"revenue_per_user": 143.82527843631692,
"fee_rate_bps": 9.77016656845352,
"fee_usd_node": 1694980.9063719949,
"trader_fee_usd": 2336519.341554998,
"builder_routed_deployer_fee_usd": 19095.864119999915,
"closed_pnl_usd": -254356.91895500242,
"active_days": 31,
"crossed_fills": 597098,
"taker_pct": 95.68096197265929,
"first_seen": "2026-09-24T17:15:58.728000+00:00",
"last_seen": "2026-10-24T17:15:32.443000+00:00",
"market_share_pct": 0.3671049363754683,
"first_seen_lifetime": "2026-04-09T17:31:47.951000+00:00"
},
{
"builder": "0x2a2b6b093a9813fbd8cddae800c3d17d46460d17",
"rank": 2,
"fee_usd": 1519398.1700610293,
"volume_usd": 3399204170.8862233,
"share_volume_usd": 3399204170.8862233,
"fills": 1481946,
"users": 24043,
"revenue_per_user": 63.195032652374046,
"fee_rate_bps": 4.469864396715245,
"fee_usd_node": 1519398.1700610293,
"trader_fee_usd": 2705472.7070469656,
"builder_routed_deployer_fee_usd": 27051.37528399998,
"closed_pnl_usd": -801703.9878200449,
"active_days": 31,
"crossed_fills": 1419485,
"taker_pct": 95.78520404927036,
"first_seen": "2026-09-24T17:16:09.849000+00:00",
"last_seen": "2026-10-24T17:15:42.142000+00:00",
"market_share_pct": 0.719291011052114,
"first_seen_lifetime": "2026-06-05T19:32:02.620000+00:00"
},
{
"builder": "0xe95a5e31904e005066614247d309e00d8ad753aa",
"rank": 3,
"fee_usd": 1472403.344218992,
"volume_usd": 1484121319.153926,
"share_volume_usd": 1484121319.153926,
"fills": 601277,
"users": 9276,
"revenue_per_user": 158.73257268423802,
"fee_rate_bps": 9.92104435948933,
"fee_usd_node": 1472403.344218992,
"trader_fee_usd": 1912544.961612003,
"builder_routed_deployer_fee_usd": 14358.660937999997,
"closed_pnl_usd": -816151.4375589866,
"active_days": 31,
"crossed_fills": 544408,
"taker_pct": 90.54196318834747,
"first_seen": "2026-09-24T17:15:57.759000+00:00",
"last_seen": "2026-10-24T17:15:42.278000+00:00",
"market_share_pct": 0.3140485450451502,
"first_seen_lifetime": "2025-08-19T22:14:56+00:00"
}
],
"nextCursor": "eyJiIjoiMHhlOTVhNWUzMTkwNGUwMDUwNjY2MTQyNDdkMzA5ZTAwZDhhZDc1M2FhIiwiaGkiOiIyMDI2LTEwLTI0VDE3OjE1OjUxLjU2NjAwMCswMDowMCIsImxvIjoiMjAyNi0wOS0yNFQxNzoxNTo1MS41NjYwMDArMDA6MDAiLCJyIjozLCJ2IjoxNDcyNDAzLjM0NDIxODk5Mn0"
}Variations
Rank by volume or by users. Set sort and window.
# the front-ends that reached the most distinct traders this week
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders?window=7d&sort=users&limit=20"The venue-wide totals. The stats route sums the whole builder ecosystem.
# how many builders are active, their users, revenue, and their share of all volume
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders/stats?window=30d" \
| jq '.totals | {builders, users, fee_usd, volume_usd, builder_routed_share_pct}'Over the same 30 days: 947 builders, 191,670 users, $11.03M of builder revenue, and 5.9% of all volume routed through a builder code.
The next page. Follow nextCursor.
# NEXT is the previous response's nextCursor; it pins the window, so the walk is one snapshot
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders?limit=50&cursor=$NEXT"Before you rely on it
fee ranks the builder's cut, not the user's cost
sort=fee ranks fee_usd, the builder's own revenue. Take rates differ by builder, so the fee ranking and the volume
ranking disagree. users counts distinct wallets in the window. Every *_pct field is percentage points from 0 to
100.
Long windows can be shorter than their name
Builder history is still being filled in from the venue's published files, so a long window can cover fewer days
than it names. Read active_days beside window.start and window.end before comparing builders.
market_share_pct is measured from market_share_window_start, which can be later than window.start; audit it
as share_volume_usd / venue_volume_usd, never with volume_usd.
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_builders tool answers with view: leaderboard, at 1 credit a call.
Rank Hyperliquid builder codes by fee revenue over the last 30 days, with their users and take rate