Hyperliquid builder codes: builder fees, volume and users
Hyperliquid builder codes, the front ends and bots that attach their address to an order and earn part of its fee: the builder leaderboard by fees, volume, users or fills, each builder's revenue, users and fills over time, and which builders any wallet trades through.
“Which Hyperliquid builder codes earned the most fees this month, and how many users does each have?”
hl_builders“Which builders does this wallet trade through, and how much of its volume goes through each? (paste an address)”
hl_wallet_activityBuilder codes in numbers
A builder code is a front end's or a bot's address on an order: the builder earns part of the fee. Its revenue, users and share of all Hyperliquid volume, and the builders ranked by what they earned.
| Builder | Fee revenue 7d | vs the 7d before | Volume | Traders | Take rate |
|---|---|---|---|---|---|
| MetaMask | $809.3K | +61.7% | $809.27M | 4,436 | 10.00 bps |
| FOMO | $542.0K | +81.2% | $1.22B | 9,217 | 4.44 bps |
| Phantom | $400.0K | +45.2% | $734.78M | 15,854 | 5.44 bps |
| Trust Wallet | $330.6K | -7.6% | $330.63M | 5,177 | 10.00 bps |
| Hyperdash | $227.8K | +16.0% | $1.53B | 554 | 1.49 bps |
| Rabby | $206.6K | +51.7% | $526.95M | 3,016 | 3.92 bps |
| Liquid Perps | $85.5K | +17.4% | $258.70M | 2,232 | 3.31 bps |
| 0x9c87...0ad9 | $73.9K | -22.3% | $68.63M | 791 | 10.77 bps |
| 0x5aaf...ede4 | $67.3K | -43.5% | $79.23M | 1,215 | 8.50 bps |
| Invo | $66.5K | +16.5% | $189.95M | 13,143 | 3.50 bps |
| 0x7cc0...e781 | $55.6K | +3.5% | $171.57M | 8,955 | 3.24 bps |
| Insilico | $50.1K | +59.1% | $502.42M | 413 | 1.00 bps |
| 0xf85a...5688 | $41.4K | +44.2% | $59.16M | 312 | 7.00 bps |
| Legend Trade | $35.6K | +119.9% | $64.42M | 2,869 | 5.52 bps |
| OneKey | $34.5K | -45.1% | $43.52M | 403 | 7.93 bps |
| 0x74c3...4bd0 | $30.8K | -16.3% | $470.70M | 14 | 0.65 bps |
| 0x14c1...1293 | $29.2K | -38.2% | $29.18M | 176 | 10.00 bps |
| Bitget Wallet | $22.8K | -18.3% | $43.12M | 656 | 5.29 bps |
| Rainbow | $20.3K | +20.3% | $40.69M | 275 | 5.00 bps |
| Metascalp | $18.7K | +301.8% | $99.76M | 497 | 1.88 bps |
| 0x524c...571e | $18.7K | +140.6% | $37.46M | 217 | 5.00 bps |
| 0xdbc2...97a6 | $17.7K | +475.1% | $30.65M | 243 | 5.78 bps |
| MetaMask (Extension) | $14.4K | +46.5% | $14.37M | 486 | 10.00 bps |
| 0x64c0...7f5f | $13.9K | -4.8% | $25.72M | 758 | 5.40 bps |
| Moonbot | $13.5K | +55.7% | $88.50M | 150 | 1.53 bps |
The first 25 of 759 builders, as the site's list opens · built 2026-11-04 02:52 UTC.
Every builder, on vike.io
Builder codes ranked by fee revenue: the volume each routes, what it charges in bps, its share of Hyperliquid volume and how many traders use it; each builder's own page with its per-asset and per-dex breakdown and the traders behind it.
The builder dataset
fee_usd is the builder's own revenue, not what the trader paid.
Builders
Builder-code leaderboard — fee revenue, routed volume, unique traders and fills per builder.
- Routes
/v1/hyperliquid/builders- Built on
- Fills
- MCP
hl_builders
The API's answer
Builder leaderboard · /builders
/v1/hyperliquid/builders?limit=10/v1/hyperliquid/builders?window={window}&sort={sort}&limit={limit}GET /v1/hyperliquid/builders · The builder leaderboard: fees, volume, users or fills
- CLI
vike-data hl builders- MCP
hl_builders· 1 credit- Cost
- 1 request of the hourly limit
Builder leaderboard — fee revenue, routed volume, unique traders, fills.
sort=fee ranks the builder's own cut, not the trader's total cost; the two orderings differ materially because take rates range from ~0.2 bps to ~3.4 bps across the top of the board.
fee_usd and volume_usd cover every builder fill on record, older history included; trader_fee_usd covers only the newer, dollar-paid fills, so fee_usd / trader_fee_usd is not a take rate (it can pass 100%). Use fee_usd_node / trader_fee_usd: fee_usd_node is the builder's revenue over exactly the fills trader_fee_usd covers.
Every row carries active_days for the window. The history is still being filled in, so a long window can currently cover fewer days than it names — active_days beside the resolved window.start / window.end is how a client tells a quiet builder from an unfilled window instead of guessing.
market_share_pct is the row's routed notional over all Hyperliquid fill notional, measured over market_share_window_start → window.end — which can start LATER than window.start. Venue-wide volume exists only from the node's own retained fills, while the builder history reaches months further back via Hyperliquid's published CSVs, and that gap is permanent rather than a backlog. The share is therefore taken over the overlap; a number covering less than the requested window says so instead of quietly meaning something else.
Auditing it: divide share_volume_usd (the clamped numerator, shipped per row) by venue_volume_usd (top level). 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.
first_seen_lifetime is NOT window-scoped (first_seen is) — it is the builder's genuine first fill, which is the only one of the two that answers "how established is this front-end". Every *_pct here is percentage points, 0-100.
Parameters
| Parameter | In | Description |
|---|---|---|
window | query | 1d | 7d | 30d | all. Default 30d |
sort | query | fee | volume | users | fills. Default fee |
order | query | asc | desc. Default desc |
limit | query | Default 50, max 500 |
cursor | query | Keyset cursor |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders?window=7d&sort=fee&limit=20"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=7d&sort=fee&limit=20",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl builders --window 7d --sort fee --limit 20
# any MCP client; or from the terminal:
vike-data call hl_builders --args '{"view": "leaderboard", "window": "7d", "sort": "fee", "limit": 20}'
One builder in depth, and a wallet's builders
Venue-wide builder economics day by day, one builder's coins, users, fills and daily series, and the builders one wallet routes its orders through.
Ask your AI: hl_builders (views leaderboard, stats, profile, users, fills, series; 1 credit a call). Connect Claude, ChatGPT or Cursor: AI & API →
window=all on /builders and /builders/stats is computed per call and took up to 30 seconds (2026-11-03): give it a 90-second timeout. The other windows answer in a few seconds.Builder codes across the venue: builders, users, fees, share of volume
- Route
GET /v1/hyperliquid/builders/stats- CLI
vike-data hl builders- MCP
hl_builders· 1 credit- Cost
- 1 request of the hourly limit
Builder-code economics for the whole venue — the summary-card surface.
Answers what no per-builder route can: 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. No fixed figure or start date is quoted here: builder history is imported from Hyperliquid's published per-builder fee CSVs, which reach back to the launch of builder codes, so both move as that import proceeds. Read lifetime.first_seen for the actual coverage start. (This line previously read "$21.7M since 2026-04-05" and was 40% low and eight months late within a day.)
Declared before /builders/{builder} because Starlette matches in declaration order and compiles {builder} to [^/]+: the other way round, this path returns a 400 for a builder literally named "stats".
Parameters
| Parameter | In | Description |
|---|---|---|
window | query | 1d | 7d | 30d | all. Default 30d |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders/stats?window=30d"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/stats?window=30d",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl builders --view stats --window 30d
# any MCP client; or from the terminal:
vike-data call hl_builders --args '{"view": "stats", "window": "30d"}'
One builder: totals, coins, dexes and user deciles
- Route
GET /v1/hyperliquid/builders/{builder}- CLI
vike-data hl builders- MCP
hl_builders· 1 credit- Cost
- 1 request of the hourly limit
One builder: window totals plus per-asset and per-dex breakdowns.
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 is the median across fills that actually paid a builder fee, which is the closest observable thing to an advertised rate — 21% of rows pay the builder nothing and drag the mean.
user_volume_distribution is the concentration answer: users split 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. lifetime is unwindowed and is what makes a 30-day window interpretable.
Parameters
| Parameter | In | Description |
|---|---|---|
builderrequired | path | Builder address |
window | query | 1d | 7d | 30d | all. Default 30d |
breakdown_limit | query | Rows per breakdown. Default 100, max 1000 |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=10"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=10",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl builders --view profile --builder 0xb84168cf3be63c6b8dad05ff5d755e97432ff80b --window 30d --breakdown-limit 10
# any MCP client; or from the terminal:
vike-data call hl_builders --args '{"view": "profile", "builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b", "window": "30d", "breakdown_limit": 10}'
A builder's users, ranked by volume, fees or their own PnL
- Route
GET /v1/hyperliquid/builders/{builder}/users- CLI
vike-data hl builders- MCP
hl_builders· 1 credit- Cost
- 1 request of the hourly limit
The wallets routing through one builder, ranked.
sort=pnl ranks sum(closed_pnl) — the traders' realized result, not the builder's. It is signed, and a builder whose users lose money is a different business from one whose users win.
Parameters
| Parameter | In | Description |
|---|---|---|
builderrequired | path | Builder address |
window | query | 1d | 7d | 30d | all. Default 30d |
sort | query | volume | fees | pnl. Default volume |
order | query | asc | desc. Default desc |
limit | query | Default 100, max 1000 |
cursor | query | Keyset cursor |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=30d&sort=pnl&limit=20"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=30d&sort=pnl&limit=20",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl builders --view users --builder 0xb84168cf3be63c6b8dad05ff5d755e97432ff80b --window 30d --sort pnl --limit 20
# any MCP client; or from the terminal:
vike-data call hl_builders --args '{"view": "users", "builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b", "window": "30d", "sort": "pnl", "limit": 20}'
Every fill routed through a builder, newest first
- Route
GET /v1/hyperliquid/builders/{builder}/fills- CLI
vike-data hl builders- MCP
hl_builders· 1 credit- Cost
- 1 request of the hourly limit
Raw builder-routed fills, newest first.
fee ships raw beside its own fee_token here, unlike every aggregate in this namespace: 0.95% of fills pay in a non-dollar token, so summing this column client-side without grouping by fee_token produces nonsense. fee_usd (the builder's slice) is dollars on every row.
Parameters
| Parameter | In | Description |
|---|---|---|
builderrequired | path | Builder address |
symbol | query | HL ticker |
side | query | buy | sell |
start | query | ISO-8601 UTC bounds |
end | query | ISO-8601 UTC bounds |
limit | query | Default 100, max 5000 |
cursor | query | Keyset cursor |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?limit=100"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?limit=100",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl builders --view fills --builder 0xb84168cf3be63c6b8dad05ff5d755e97432ff80b --limit 100
# any MCP client; or from the terminal:
vike-data call hl_builders --args '{"view": "fills", "builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b", "limit": 100}'
A builder's fees, volume, users and fills per day or hour
- Route
GET /v1/hyperliquid/builders/{builder}/series- CLI
vike-data hl builders- MCP
hl_builders· 1 credit- Cost
- 1 request of the hourly limit
Fee, volume, users and fills per bucket for one builder, newest first.
users is a distinct count per bucket and is not additive — summing the daily column double-counts anyone who traded on two days. A period total comes from /builders/{builder} over that period.
Parameters
| Parameter | In | Description |
|---|---|---|
builderrequired | path | Builder address |
bucket | query | 1h | 1d. Default 1d |
start | query | ISO-8601 UTC bounds |
end | query | ISO-8601 UTC bounds |
limit | query | Default 500, max 2000 |
cursor | query | Keyset cursor |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/series?bucket=1d&limit=30"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/series?bucket=1d&limit=30",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl builders --view series --builder 0xb84168cf3be63c6b8dad05ff5d755e97432ff80b --bucket 1d --limit 30
# any MCP client; or from the terminal:
vike-data call hl_builders --args '{"view": "series", "builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b", "bucket": "1d", "limit": 30}'
Which builders a wallet trades through
- Route
GET /v1/hyperliquid/wallets/{address}/builders- CLI
vike-data hl wallet-activity- MCP
hl_wallet_activity· 1 credit- Cost
- 1 request of the hourly limit
Reverse lookup — which builders this wallet's flow is routed through.
share_of_volume is the share of the wallet's builder-routed volume. Fills placed without a builder code never reach this table, so it is not a share of the wallet's total trading.
Parameters
| Parameter | In | Description |
|---|---|---|
addressrequired | path | The wallet |
window | query | 1d | 7d | 30d | all. Default all |
limit | query | Default 50, max 500 |
cursor | query | Keyset cursor |
Call it
curl -H "X-API-KEY: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/builders?window=30d"
import os, requests
r = requests.get(
"https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/builders?window=30d",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
vike-data hl wallet-activity 0x25773676902085225ae5751075e4161369334897 --view builders --window 30d
# any MCP client; or from the terminal:
vike-data call hl_wallet_activity --args '{"view": "builders", "address": "0x25773676902085225ae5751075e4161369334897", "window": "30d"}'
6 studies
Each with the sentence to ask your AI instead. Every block was run against the live API on 2026-11-03.
Hyperliquid builder codes leaderboard: revenue, volume, users
Rank Hyperliquid builder codes by fee revenue, routed volume, distinct users or fills over 1d, 7d, 30d or all time.
- Uses
/builders,/builders/stats- Verified
- live API, 2026-11-03: 5 calls, all 200
The code
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# builders ranked by their own fee revenue over the last 30 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?limit=3",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the front-ends that reached the most distinct traders this week
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=7d&sort=users&limit=20",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# how many builders are active, their users, revenue, and their share of all volume
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/stats?window=30d",
headers={"X-API-Key": API_KEY},
)
# then: jq '.totals | {builders, users, fee_usd, volume_usd, builder_routed_share_pct}'
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# NEXT is the first page's nextCursor; it pins the window, so the walk is one snapshot
first = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?limit=50",
headers={"X-API-Key": API_KEY},
).json()
NEXT = first["nextCursor"]
r = requests.get(
f"https://data.vike.io/v1/hyperliquid/builders?limit=50&cursor={NEXT}",
headers={"X-API-Key": API_KEY},
)
How concentrated is Hyperliquid builder-code revenue?
Divide the fee_usd of the top builders from /v1/hyperliquid/builders?sort=fee by totals.fee_usd from /v1/hyperliquid/builders/stats over the same window.
- Uses
/builders,/builders/stats,/builders/{…}- Verified
- live API, 2026-11-03: 5 calls, all 200
The code
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the 10 biggest earners over the whole history (all-time is computed per call: up to ~30 s)
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=all&sort=fee&limit=10",
headers={"X-API-Key": API_KEY},
timeout=90,
)
print(len(r.json()["builders"]), "builders")
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# every builder's revenue together, and how many builders there are, over the same window
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/stats?window=all",
headers={"X-API-Key": API_KEY},
timeout=90,
)
# then: jq '.totals | {fee_usd, builders, users}'
print({k: r.json()["totals"].get(k) for k in ("fee_usd", "builders", "users")})
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the 10 biggest earners of the last 30 days, to divide by the 30-day total
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=30d&sort=fee&limit=10",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# shares of the 500 biggest earners squared and summed
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=30d&sort=fee&limit=500",
headers={"X-API-Key": API_KEY},
)
# then: jq '[.builders[].fee_usd] as $f | ($f | add) as $t | [$f[] | (. / $t * 100) | . * .] | add'
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# one builder's users split into ten volume deciles
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=1",
headers={"X-API-Key": API_KEY},
)
# then: jq '.user_volume_distribution | map({decile, users, volume_share_pct})'
What take rate does each Hyperliquid builder charge?
Every row of /v1/hyperliquid/builders carries fee_rate_bps, the builder's realized fee over its volume; /v1/hyperliquid/builders/{builder} adds fee_rate_bps_p50, the median over the fills that paid it.
- Uses
/builders,/builders/{…}- Verified
- live API, 2026-11-03: 4 calls, all 200
The code
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the realized take rate of the 50 biggest earners over 30 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=30d&limit=50",
headers={"X-API-Key": API_KEY},
)
# then: jq '.builders | map({builder, fee_rate_bps, fee_usd, volume_usd})'
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# realized rate, median rate over paying fills, and what users paid in total
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=1",
headers={"X-API-Key": API_KEY},
)
# then: jq '.totals | {fee_rate_bps, fee_rate_bps_p50, trader_fee_rate_bps}'
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# realized and median rate on each of the builder's 10 biggest coins
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=10",
headers={"X-API-Key": API_KEY},
)
# then: jq '.by_symbol | map({symbol, fee_rate_bps, fee_rate_bps_p50, volume_usd})'
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# builder revenue over the total fee its users paid, on fills that carry both
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=30d&limit=20",
headers={"X-API-Key": API_KEY},
)
# then: jq '.builders | map({builder, cut: (if .trader_fee_usd > 0 then .fee_usd_node / .trader_fee_usd else null end)})'
Do a Hyperliquid builder's users come back? (retention)
Group a builder's users by the month of their first fill for a retention view: /v1/hyperliquid/builders/{builder}/users?window=all gives every user's first and last fill with the builder and its active days.
- Uses
/builders/{…}/series,/builders/{…}/users- Verified
- live API, 2026-11-03: 5 calls, all 200
The code
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# every user of the builder over its whole history, 1,000 per page, with first and last fill and active days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=all&limit=1000",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# NEXT is the first page's nextCursor; the cursor pins the window, so the walk is one snapshot
first = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=all&limit=1000",
headers={"X-API-Key": API_KEY},
).json()
NEXT = first["nextCursor"]
r = requests.get(
f"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=all&limit=1000&cursor={NEXT}",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the wallets that traded through the builder in the last 7 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=7d&limit=1000",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# distinct users per UTC day for the last 90 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/series?bucket=1d&limit=90",
headers={"X-API-Key": API_KEY},
)
One Hyperliquid builder: profile, users, fills, daily revenue series, retention
One builder's window totals, per-coin and per-dex breakdowns, user-volume deciles and lifetime block, from /v1/hyperliquid/builders/{builder}; /users, /fills and /series go one level down.
- Uses
/builders/{…},/builders/{…}/fills,/builders/{…}/series,/builders/{…}/users- Verified
- live API, 2026-11-03: 5 calls, all 200
The code
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# one builder's 30-day profile, with the top three coins and dexes
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b?window=30d&breakdown_limit=3",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the builder's wallets ranked by volume over 30 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=30d&limit=20",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the newest fills routed through the builder
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?limit=100",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# revenue, volume, users and fills per UTC day for September; limit must cover every day
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/series?bucket=1d&start=2026-09-01T00:00:00Z&end=2026-10-01T00:00:00Z&limit=31",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# every user of the builder with first_seen, last_seen and active_days over the whole history
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/users?window=all&limit=1000",
headers={"X-API-Key": API_KEY},
)
Which front-ends and bots does this wallet trade through?
Every builder code a wallet's orders were routed through, by routed volume, with fills, fees and first and last use, from /wallets/{address}/builders.
- Uses
/builders,/builders/{…},/wallets/{…}/builders- Verified
- live API, 2026-11-03: 4 calls, all 200
The code
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# the builder codes this wallet's orders were routed through, biggest volume first
r = requests.get(
"https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/builders?limit=5",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# builders used in the last 30 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/builders?window=30d&limit=50",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# one builder's 30-day totals with per-symbol and per-dex breakdowns
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders/0xab5dbc057628bc18523c4cdfc0e1e2ebdbecb704?window=30d&breakdown_limit=3",
headers={"X-API-Key": API_KEY},
)
import os
import requests
API_KEY = os.environ["VIKE_API_KEY"] # your key, read from the environment
# builders ranked by routed volume over 30 days
r = requests.get(
"https://data.vike.io/v1/hyperliquid/builders?window=30d&sort=volume&limit=50",
headers={"X-API-Key": API_KEY},
)