/builders/stats
Builder-code economics for the whole venue — how many builders are active, how many distinct traders route through one, what share of all Hyperliquid fill notional carries a builder code.
GET https://data.vike.io/v1/hyperliquid/builders/statsBuilder-code economics for the whole venue — how many builders are active, how many distinct
traders route through one, what share of all Hyperliquid fill notional carries a builder code, and
how that moved day by day. lifetime.fee_usd is all-time and unwindowed.
Truncated: daily holds 31 buckets; the first 2 are shown. totals and lifetime are complete.
# venue-wide builder economics over 30 days
curl -s "https://data.vike.io/v1/hyperliquid/builders/stats?window=30d" \
-H "X-API-KEY: $VIKE_API_KEY"
# the shortest window: the last day of fills
curl -s "https://data.vike.io/v1/hyperliquid/builders/stats?window=1d" \
-H "X-API-KEY: $VIKE_API_KEY"
# the share of all fill notional that carries a builder code, per window
curl -s "https://data.vike.io/v1/hyperliquid/builders/stats?window=7d" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '.totals | {builders, users, fee_usd, builder_routed_share_pct}'
# a day-by-day fee series for a chart
curl -s "https://data.vike.io/v1/hyperliquid/builders/stats?window=30d" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '.daily | map({date, builders, fee_usd, volume_usd})'
# read the real coverage start from the data, never from prose
curl -s "https://data.vike.io/v1/hyperliquid/builders/stats?window=1d" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '.lifetime'
# then rank the builders behind these totals
curl -s "https://data.vike.io/v1/hyperliquid/builders?window=30d&limit=10" \
-H "X-API-KEY: $VIKE_API_KEY"windowqueryoptional1d | 7d | 30d | all. Default 30d{
"window": {
"window": "30d",
"start": "2026-08-04T08:06:47.379000+00:00",
"end": "2026-09-03T08:06:47.379000+00:00"
},
"totals": {
"fee_usd": 8905954.222539285,
"volume_usd": 21384665654.34212,
"share_volume_usd": 21384665654.34212,
"fills": 21464158,
"users": 175990,
"revenue_per_user": 50.60488790578604,
"fee_rate_bps": 4.1646450622579385,
"fee_usd_node": 8905954.222539285,
"trader_fee_usd": 15342433.846149018,
"builder_routed_deployer_fee_usd": 276863.60111752996,
"active_days": 31,
"crossed_fills": 15039788,
"taker_pct": 70.06931275850653,
"first_seen": "2026-08-04T08:06:47.689000+00:00",
"last_seen": "2026-09-03T08:06:47.379000+00:00",
"builders": 773,
"assets": 1189,
"routed_closed_pnl_usd": 40440208.459194675,
"venue_volume_usd": 502186586606.7108,
"builder_routed_share_pct": 4.258310800142816,
"market_share_window_start": "2026-08-04T08:06:47.379000+00:00"
},
"lifetime": {
"fee_usd": 102158419.77212027,
"first_seen": "2024-10-27T18:15:13+00:00",
"last_seen": "2026-09-03T08:06:47.379000+00:00"
},
"daily": [
{
"date": "2026-09-03",
"builders": 313,
"assets": 416,
"fee_usd": 68310.92594833038,
"volume_usd": 189551581.736281,
"share_volume_usd": 189551581.736281,
"fills": 314223,
"users": 14027,
"revenue_per_user": 4.869959788146459,
"fee_rate_bps": 3.6038172471369765,
"fee_usd_node": 68310.92594833038,
"trader_fee_usd": 119872.31359066741,
"builder_routed_deployer_fee_usd": 3257.024262140485,
"crossed_fills": 193620,
"taker_pct": 61.618659359754055,
"routed_closed_pnl_usd": -173991.42875996322
},
{
"date": "2026-09-02",
"builders": 426,
"assets": 519,
"fee_usd": 243552.30523937644,
"volume_usd": 649788619.894209,
"share_volume_usd": 649788619.894209,
"fills": 960364,
"users": 31046,
"revenue_per_user": 7.8448851781027,
"fee_rate_bps": 3.748177450061049,
"fee_usd_node": 243552.30523937644,
"trader_fee_usd": 436195.37178474676,
"builder_routed_deployer_fee_usd": 15056.07115401947,
"crossed_fills": 606377,
"taker_pct": 63.14033012482767,
"routed_closed_pnl_usd": -550294.1408118871
}
]
}stats is a reserved segment on this path
/builders/stats is always this route, never a
/builders/{builder} lookup — a builder address is
a hex string, so nothing is shadowed, but do not expect {builder} to accept the literal stats.
No coverage start date is quoted here, and none should be: builder history is imported from
Hyperliquid's published per-builder fee CSVs and both the totals and the start move as that import
proceeds. Read lifetime.first_seen for the actual coverage start — a coverage date quoted in
prose here was measured 40% low and eight months stale within a day of being written.