API EndpointsHyperliquid
/builders/{builder}/fills
Raw builder-routed fills, newest first.
GET https://data.vike.io/v1/hyperliquid/builders/{builder}/fillsRaw builder-routed fills, newest first.
# the newest fills routed through one builder
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?limit=3" \
-H "X-API-KEY: $VIKE_API_KEY"
# one coin, buy side only: what this front-end's users are buying on ETH
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?coin=ETH&side=buy&limit=100" \
-H "X-API-KEY: $VIKE_API_KEY"
# one day of fills, the largest page the route serves, for an event study (end is inclusive here)
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?start=2026-09-01T00:00:00Z&end=2026-09-02T00:00:00Z&limit=5000" \
-H "X-API-KEY: $VIKE_API_KEY"
# next page of the same query: NEXT is the previous response's nextCursor, passed back verbatim
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?start=2026-09-01T00:00:00Z&end=2026-09-02T00:00:00Z&limit=5000&cursor=$NEXT" \
-H "X-API-KEY: $VIKE_API_KEY"
# the builder's dollar revenue over a page: fee_usd is dollars on every row, so it sums safely
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?limit=1000" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '[.fills[].fee_usd] | add'
# summing the raw fee column instead: group by fee_token first, never add across tokens
curl -s "https://data.vike.io/v1/hyperliquid/builders/0xb84168cf3be63c6b8dad05ff5d755e97432ff80b/fills?limit=1000" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '.fills | group_by(.fee_token) | map({fee_token: .[0].fee_token, fee: (map(.fee) | add)})'builderpathrequiredBuilder address
coinqueryoptionalHL coin ticker
sidequeryoptionalbuy | sellstartqueryoptionalISO-8601 UTC bounds
endqueryoptionalISO-8601 UTC bounds
limitqueryoptionalDefault 100, max 5000
cursorqueryoptionalKeyset cursor
{
"builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b",
"fills": [
{
"ts": "2026-09-03T08:06:53.487000+00:00",
"wallet": "0xb52271dd584fbfcae3f0a051abaaf81797a0f303",
"asset": "xyz:SKHX",
"dex_name": "XYZ",
"side": "buy",
"size_token": 0.012,
"price": 1179.3,
"size_usd": 14.1516,
"fee_usd": 0.007075,
"deployer_fee_usd": 0.00055,
"fee": 0.008297,
"fee_token": "USDC",
"closed_pnl": 0.0,
"crossed": true,
"order_id": 534782081176,
"trade_id": 460836386307183
},
{
"ts": "2026-09-03T08:06:48.794000+00:00",
"wallet": "0xb2761bd82613b5bab1b2925b82b94cc8f3e17581",
"asset": "XRP",
"dex_name": "HL",
"side": "sell",
"size_token": 2748.0,
"price": 1.3786,
"size_usd": 3788.3928,
"fee_usd": 1.894196,
"deployer_fee_usd": 0.0,
"fee": 3.598972,
"fee_token": "USDC",
"closed_pnl": 27.111768,
"crossed": true,
"order_id": 534782009091,
"trade_id": 1000357728267580
},
{
"ts": "2026-09-03T08:06:48.794000+00:00",
"wallet": "0xb2761bd82613b5bab1b2925b82b94cc8f3e17581",
"asset": "XRP",
"dex_name": "HL",
"side": "sell",
"size_token": 1613.0,
"price": 1.3786,
"size_usd": 2223.6818000000003,
"fee_usd": 1.11184,
"deployer_fee_usd": 0.0,
"fee": 2.112496,
"fee_token": "USDC",
"closed_pnl": 15.913858,
"crossed": true,
"order_id": 534782009091,
"trade_id": 682445774914906
}
],
"nextCursor": "eyJpIjo2ODI0NDU3NzQ5MTQ5MDYsInQiOiIyMDI2LTA5LTAzIDA4OjA2OjQ4Ljc5NCIsInciOiIweGIyNzYxYmQ4MjYxM2I1YmFiMWIyOTI1YjgyYjk0Y2M4ZjNlMTc1ODEifQ"
}fee ships raw on this route, beside its own fee_token
Unlike every aggregate in this namespace, fee ships raw on this route, beside its own
fee_token. 0.95% of fills pay in a non-dollar token, so summing that column client-side without
grouping by fee_token produces nonsense. fee_usd (the builder's slice) is dollars on every row.