/builders/{builder}
One builder: window totals plus per-asset and per-dex breakdowns, and an unwindowed lifetime block that is what makes a 30-day window interpretable.
GET https://data.vike.io/v1/hyperliquid/builders/{builder}One builder: window totals plus per-asset and per-dex breakdowns, and an unwindowed lifetime
block that is what makes a 30-day window interpretable.
Truncated: by_asset and by_dex each returned 3 rows (breakdown_limit=3), and
user_volume_distribution returned all 10 deciles; one row of each breakdown and the first 2
deciles are shown. totals and lifetime are complete.
# one builder's 30-day economics, with the top three assets and dexes
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=3" \
-H "X-API-KEY: $VIKE_API_KEY"
# a recent read: the last 7 days with a wider per-asset breakdown
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=7d&breakdown_limit=10" \
-H "X-API-KEY: $VIKE_API_KEY"
# the whole history of the builder in one window
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=all&breakdown_limit=3" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '{window: .window, lifetime: .lifetime}'
# how concentrated is the user base: volume share per decile of users
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=1" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '.user_volume_distribution | map({decile, users, volume_share_pct, profitable_users_pct})'
# was a breakdown truncated: totals.assets counts the whole window, by_asset only what breakdown_limit allowed
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=3" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '{assets_in_window: .totals.assets, assets_returned: (.by_asset | length)}'
# drill into the wallets behind the totals
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=30d&limit=20" \
-H "X-API-KEY: $VIKE_API_KEY"builderpathrequiredwindowqueryoptional1d | 7d | 30d | all. Default 30dbreakdown_limitqueryoptional{
"builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b",
"window": {
"window": "30d",
"start": "2026-08-04T08:06:57.246000+00:00",
"end": "2026-09-03T08:06:57.246000+00:00"
},
"totals": {
"fee_usd": 1292173.7512559998,
"volume_usd": 2459698781.897407,
"share_volume_usd": 2459698781.897407,
"fills": 1276030,
"users": 28785,
"revenue_per_user": 44.8905246224075,
"fee_rate_bps": 5.253382083879472,
"fee_usd_node": 1292173.7512559998,
"trader_fee_usd": 2179038.6845209985,
"builder_routed_deployer_fee_usd": 32029.181042999997,
"active_days": 31,
"crossed_fills": 1264333,
"taker_pct": 99.08332876186296,
"first_seen": "2026-08-04T08:06:58.003000+00:00",
"last_seen": "2026-09-03T08:06:53.487000+00:00",
"fee_rate_bps_p50": 4.99999153161867,
"trader_fee_rate_bps": 8.858965579680014,
"routed_closed_pnl_usd": 5411823.867884997,
"assets": 281,
"dexes": 3,
"buy_volume_usd": 1235042429.759386,
"sell_volume_usd": 1224656352.1380203,
"non_usd_fee_fills": 0,
"non_usd_fee_volume_usd": 0.0,
"profitable_users": 14950,
"profitable_users_pct": 51.93677262463089,
"market_share_pct": 0.4897971159612295,
"venue_volume_usd": 502187273412.22394,
"market_share_window_start": "2026-08-04T08:06:57.246000+00:00",
"biggest_day": {
"date": "2026-08-21",
"fee_usd": 109113.4776180001,
"volume_usd": 218226896.66830376,
"fills": 94276,
"users": 6570
}
},
"by_asset": [
{
"asset": "BTC",
"fee_usd": 509022.96058600006,
"volume_usd": 1018046131.9743183,
"share_volume_usd": 1018046131.9743183,
"fills": 242890,
"users": 14148,
"revenue_per_user": 35.97843939680521,
"fee_rate_bps": 4.9999989646720735,
"fee_usd_node": 509022.96058600006,
"trader_fee_usd": 926359.8724370012,
"builder_routed_deployer_fee_usd": 0.0,
"closed_pnl_usd": 853354.1283130016,
"active_days": 31,
"crossed_fills": 241199,
"taker_pct": 99.30380007410761,
"first_seen": "2026-08-04T08:07:07.023000+00:00",
"last_seen": "2026-09-03T08:06:34.662000+00:00",
"fee_rate_bps_p50": 4.999993656788234
}
],
"by_dex": [
{
"dex_name": "HL",
"fee_usd": 988497.2047849979,
"volume_usd": 1976995273.7509472,
"share_volume_usd": 1976995273.7509472,
"fills": 983697,
"users": 25961,
"revenue_per_user": 38.076237617387534,
"fee_rate_bps": 4.99999781440815,
"fee_usd_node": 988497.2047849979,
"trader_fee_usd": 1804190.5380139945,
"builder_routed_deployer_fee_usd": 0.0,
"closed_pnl_usd": 3855774.905621013,
"active_days": 31,
"crossed_fills": 976935,
"taker_pct": 99.31259320705462,
"first_seen": "2026-08-04T08:07:07.023000+00:00",
"last_seen": "2026-09-03T08:06:48.794000+00:00",
"fee_rate_bps_p50": 4.999988076025987
}
],
"user_volume_distribution": [
{
"decile": 1,
"users": 2879,
"volume_usd": 86655.32764499992,
"volume_share_pct": 0.0035230056738148317,
"fee_usd": 45.37262100000003,
"min_volume_usd": 0.003927,
"max_volume_usd": 54.04912,
"profitable_users": 875,
"profitable_users_pct": 30.392497394928796,
"closed_pnl_usd": 271.7052880000002
},
{
"decile": 2,
"users": 2879,
"volume_usd": 275014.79240599985,
"volume_share_pct": 0.01118083215839356,
"fee_usd": 143.7351350000003,
"min_volume_usd": 54.053650000000005,
"max_volume_usd": 148.43142,
"profitable_users": 1157,
"profitable_users_pct": 40.187565126780136,
"closed_pnl_usd": 1358.2858930000023
}
],
"lifetime": {
"first_seen": "2025-06-12T01:30:06+00:00",
"last_seen": "2026-09-03T08:06:53.487000+00:00",
"active_days": 449,
"fills": 20546541,
"users": 169550,
"fee_usd": 25097457.752429612,
"volume_usd": 49197763660.69259,
"revenue_per_user": 148.0239324826282
}
}fee_rate_bps is the realized rate, not an advertised one
fee_rate_bps is the realized effective rate (fee ÷ volume); the venue's configured
per-order rate is not in the data. fee_rate_bps_p50 — the median across fills that actually paid
a builder fee — is the closest observable thing to an advertised rate, because 21% of rows pay the
builder nothing and drag the mean.
user_volume_distribution splits users into volume deciles, so "19k users" and "one whale plus a
tail" stop looking the same. profitable_users is a per-wallet test (sum(closed_pnl) > 0),
not a per-fill one: a wallet that won once and lost once is one loser.