vike
API EndpointsHyperliquid

/builders

The builder-code leaderboard: fee revenue, routed volume, unique traders, fills, market_share_pct.

GET https://data.vike.io/v1/hyperliquid/builders

The builder-code leaderboard: fee revenue, routed volume, unique traders, fills, market_share_pct.

cURL
# the builder-code leaderboard, ranked by the builder's own fee revenue
curl -s "https://data.vike.io/v1/hyperliquid/builders?limit=3" \
  -H "X-API-KEY: $VIKE_API_KEY"

# next page of the call just above: NEXT is its nextCursor, passed back verbatim
curl -s "https://data.vike.io/v1/hyperliquid/builders?limit=3&cursor=$NEXT" \
  -H "X-API-KEY: $VIKE_API_KEY"

# rank by routed volume instead: a different ordering, because take rates differ
curl -s "https://data.vike.io/v1/hyperliquid/builders?sort=volume&limit=10" \
  -H "X-API-KEY: $VIKE_API_KEY"

# which front-ends reach the most distinct traders this week
curl -s "https://data.vike.io/v1/hyperliquid/builders?window=7d&sort=users&limit=10" \
  -H "X-API-KEY: $VIKE_API_KEY"

# check a market-share figure against its inputs: share_volume_usd over the top-level venue_volume_usd
curl -s "https://data.vike.io/v1/hyperliquid/builders?window=30d&limit=10" \
  -H "X-API-KEY: $VIKE_API_KEY" \
  | jq '.venue_volume_usd as $v | .builders[] | {builder, audited_pct: (.share_volume_usd / $v * 100), reported_pct: .market_share_pct}'

# tell a quiet builder from an unfilled window on a long query: read active_days beside the window
curl -s "https://data.vike.io/v1/hyperliquid/builders?window=all&limit=50" \
  -H "X-API-KEY: $VIKE_API_KEY" \
  | jq '{window: .window, builders: [.builders[] | {builder, active_days, first_seen_lifetime}]}'
windowqueryoptional
1d | 7d | 30d | all. Default 30d
sortqueryoptional
fee | volume | users | fills. Default fee
orderqueryoptional
asc | desc. Default desc
limitqueryoptional
Default 50, max 500
cursorqueryoptional
Keyset cursor
Example response
{
  "window": {
    "window": "30d",
    "start": "2026-08-04T08:06:47.379000+00:00",
    "end": "2026-09-03T08:06:47.379000+00:00"
  },
  "sort": "fee",
  "order": "desc",
  "venue_volume_usd": 502186586606.7108,
  "market_share_window_start": "2026-08-04T08:06:47.379000+00:00",
  "builders": [
    {
      "builder": "0xe95a5e31904e005066614247d309e00d8ad753aa",
      "rank": 1,
      "fee_usd": 1499518.2846610104,
      "volume_usd": 1618501175.9291677,
      "share_volume_usd": 1618501175.9291677,
      "fills": 529981,
      "users": 9437,
      "revenue_per_user": 158.89777309113177,
      "fee_rate_bps": 9.264857554398438,
      "fee_usd_node": 1499518.2846610104,
      "trader_fee_usd": 1911054.1162650166,
      "builder_routed_deployer_fee_usd": 21187.156330000034,
      "closed_pnl_usd": 4617426.625648984,
      "active_days": 31,
      "crossed_fills": 495218,
      "taker_pct": 93.44070825180525,
      "first_seen": "2026-08-04T08:07:13.004000+00:00",
      "last_seen": "2026-09-03T08:06:41.614000+00:00",
      "market_share_pct": 0.32229080168497265,
      "first_seen_lifetime": "2025-08-19T22:14:56+00:00"
    },
    {
      "builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b",
      "rank": 2,
      "fee_usd": 1292163.5658959982,
      "volume_usd": 2459678115.583188,
      "share_volume_usd": 2459678115.583188,
      "fills": 1276026,
      "users": 28783,
      "revenue_per_user": 44.8932899939547,
      "fee_rate_bps": 5.253384813685782,
      "fee_usd_node": 1292163.5658959982,
      "trader_fee_usd": 2179019.0573659376,
      "builder_routed_deployer_fee_usd": 32029.19622199984,
      "closed_pnl_usd": 5411672.672201046,
      "active_days": 31,
      "crossed_fills": 1264329,
      "taker_pct": 99.08332588834396,
      "first_seen": "2026-08-04T08:06:50.331000+00:00",
      "last_seen": "2026-09-03T08:06:34.662000+00:00",
      "market_share_pct": 0.4897936705564566,
      "first_seen_lifetime": "2025-06-12T01:30:06+00:00"
    },
    {
      "builder": "0x5af1b5f44207784dcb850bbb4143c5dcd1885f71",
      "rank": 3,
      "fee_usd": 1061419.7763880126,
      "volume_usd": 1460325459.6318128,
      "share_volume_usd": 1460325459.6318128,
      "fills": 440461,
      "users": 9616,
      "revenue_per_user": 110.38059238644057,
      "fee_rate_bps": 7.268378219302051,
      "fee_usd_node": 1061419.7763880126,
      "trader_fee_usd": 1565598.9851990165,
      "builder_routed_deployer_fee_usd": 29707.97636299997,
      "closed_pnl_usd": 4744467.146989997,
      "active_days": 31,
      "crossed_fills": 429636,
      "taker_pct": 97.5423476766388,
      "first_seen": "2026-08-04T08:06:49.661000+00:00",
      "last_seen": "2026-09-03T08:06:47.072000+00:00",
      "market_share_pct": 0.29079340201005244,
      "first_seen_lifetime": "2026-04-09T17:31:47.951000+00:00"
    }
  ],
  "nextCursor": "eyJiIjoiMHg1YWYxYjVmNDQyMDc3ODRkY2I4NTBiYmI0MTQzYzVkY2QxODg1ZjcxIiwiaGkiOiIyMDI2LTA5LTAzVDA4OjA2OjQ3LjM3OTAwMCswMDowMCIsImxvIjoiMjAyNi0wOC0wNFQwODowNjo0Ny4zNzkwMDArMDA6MDAiLCJyIjozLCJ2IjoxMDYxNDE5Ljc3NjM4ODAxMjZ9"
}

sort=fee ranks the builder's own cut, not the trader's total cost, and the two orderings differ materially — take rates range from roughly 0.2 bps to 3.4 bps across the top of the board.

market_share_pct is measured over an overlap window that can start later than yours

market_share_pct is taken over the overlap of your window and the venue's own fill history. Its denominator is all Hyperliquid fill notional, whose history is shorter than the builder-fill history — the latter reaches months further back via Hyperliquid's published CSVs. That gap is permanent, not a backlog, so the share is taken from market_share_window_start to window.end. To audit it, divide the per-row share_volume_usd (the clamped numerator) by the top-level venue_volume_usd. Do not use volume_usd — that is the row's full unclamped notional for the requested window, so on window=all it can exceed the numerator by more than 2x.

active_days tells a quiet builder from an unfilled window

active_days is on every row because the historical backfill of builder fills is still running: a long window can currently cover fewer days than it names, and active_days beside the resolved window.start/window.end is how you tell a quiet builder from an unfilled window. first_seen_lifetime is not window-scoped (first_seen is) — it is the builder's genuine first fill. Every *_pct field here is percentage points, 0–100.

The three fee columns are not interchangeable — see Builders.

cURL
# the builder-code leaderboard, ranked by the builder's own fee revenuecurl -s "https://data.vike.io/v1/hyperliquid/builders?limit=3" \  -H "X-API-KEY: $VIKE_API_KEY"# next page of the call just above: NEXT is its nextCursor, passed back verbatimcurl -s "https://data.vike.io/v1/hyperliquid/builders?limit=3&cursor=$NEXT" \  -H "X-API-KEY: $VIKE_API_KEY"# rank by routed volume instead: a different ordering, because take rates differcurl -s "https://data.vike.io/v1/hyperliquid/builders?sort=volume&limit=10" \  -H "X-API-KEY: $VIKE_API_KEY"# which front-ends reach the most distinct traders this weekcurl -s "https://data.vike.io/v1/hyperliquid/builders?window=7d&sort=users&limit=10" \  -H "X-API-KEY: $VIKE_API_KEY"# check a market-share figure against its inputs: share_volume_usd over the top-level venue_volume_usdcurl -s "https://data.vike.io/v1/hyperliquid/builders?window=30d&limit=10" \  -H "X-API-KEY: $VIKE_API_KEY" \  | jq '.venue_volume_usd as $v | .builders[] | {builder, audited_pct: (.share_volume_usd / $v * 100), reported_pct: .market_share_pct}'# tell a quiet builder from an unfilled window on a long query: read active_days beside the windowcurl -s "https://data.vike.io/v1/hyperliquid/builders?window=all&limit=50" \  -H "X-API-KEY: $VIKE_API_KEY" \  | jq '{window: .window, builders: [.builders[] | {builder, active_days, first_seen_lifetime}]}'
Example response
{  "window": {    "window": "30d",    "start": "2026-08-04T08:06:47.379000+00:00",    "end": "2026-09-03T08:06:47.379000+00:00"  },  "sort": "fee",  "order": "desc",  "venue_volume_usd": 502186586606.7108,  "market_share_window_start": "2026-08-04T08:06:47.379000+00:00",  "builders": [    {      "builder": "0xe95a5e31904e005066614247d309e00d8ad753aa",      "rank": 1,      "fee_usd": 1499518.2846610104,      "volume_usd": 1618501175.9291677,      "share_volume_usd": 1618501175.9291677,      "fills": 529981,      "users": 9437,      "revenue_per_user": 158.89777309113177,      "fee_rate_bps": 9.264857554398438,      "fee_usd_node": 1499518.2846610104,      "trader_fee_usd": 1911054.1162650166,      "builder_routed_deployer_fee_usd": 21187.156330000034,      "closed_pnl_usd": 4617426.625648984,      "active_days": 31,      "crossed_fills": 495218,      "taker_pct": 93.44070825180525,      "first_seen": "2026-08-04T08:07:13.004000+00:00",      "last_seen": "2026-09-03T08:06:41.614000+00:00",      "market_share_pct": 0.32229080168497265,      "first_seen_lifetime": "2025-08-19T22:14:56+00:00"    },    {      "builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b",      "rank": 2,      "fee_usd": 1292163.5658959982,      "volume_usd": 2459678115.583188,      "share_volume_usd": 2459678115.583188,      "fills": 1276026,      "users": 28783,      "revenue_per_user": 44.8932899939547,      "fee_rate_bps": 5.253384813685782,      "fee_usd_node": 1292163.5658959982,      "trader_fee_usd": 2179019.0573659376,      "builder_routed_deployer_fee_usd": 32029.19622199984,      "closed_pnl_usd": 5411672.672201046,      "active_days": 31,      "crossed_fills": 1264329,      "taker_pct": 99.08332588834396,      "first_seen": "2026-08-04T08:06:50.331000+00:00",      "last_seen": "2026-09-03T08:06:34.662000+00:00",      "market_share_pct": 0.4897936705564566,      "first_seen_lifetime": "2025-06-12T01:30:06+00:00"    },    {      "builder": "0x5af1b5f44207784dcb850bbb4143c5dcd1885f71",      "rank": 3,      "fee_usd": 1061419.7763880126,      "volume_usd": 1460325459.6318128,      "share_volume_usd": 1460325459.6318128,      "fills": 440461,      "users": 9616,      "revenue_per_user": 110.38059238644057,      "fee_rate_bps": 7.268378219302051,      "fee_usd_node": 1061419.7763880126,      "trader_fee_usd": 1565598.9851990165,      "builder_routed_deployer_fee_usd": 29707.97636299997,      "closed_pnl_usd": 4744467.146989997,      "active_days": 31,      "crossed_fills": 429636,      "taker_pct": 97.5423476766388,      "first_seen": "2026-08-04T08:06:49.661000+00:00",      "last_seen": "2026-09-03T08:06:47.072000+00:00",      "market_share_pct": 0.29079340201005244,      "first_seen_lifetime": "2026-04-09T17:31:47.951000+00:00"    }  ],  "nextCursor": "eyJiIjoiMHg1YWYxYjVmNDQyMDc3ODRkY2I4NTBiYmI0MTQzYzVkY2QxODg1ZjcxIiwiaGkiOiIyMDI2LTA5LTAzVDA4OjA2OjQ3LjM3OTAwMCswMDowMCIsImxvIjoiMjAyNi0wOC0wNFQwODowNjo0Ny4zNzkwMDArMDA6MDAiLCJyIjozLCJ2IjoxMDYxNDE5Ljc3NjM4ODAxMjZ9"}