Recipe 21 of 33
Do smart-money wallets' large fills precede price moves? Log the feed and test it
Poll /large-fills every few minutes, store each fill once with its pnl_cohort, then join 1-minute candles from /ohlcv to measure the price move after each smart-money fill.
GET /v1/hl-cohorts/symbols/{symbol}/large-fills answers the first half: a coin's newest fills over $50,000, each
with the wallet's pnl_cohort, but only the last 200 of them. So you build the history yourself: call it on a
timer, store every fill once, keep the rows where a 3x smart, 2x smart or smart wallet crossed the book
(order_type is market), and compare the close N minutes later from
/v1/hyperliquid/ohlcv at interval=1m with the fill price. The full
parameter list is on Large fills.
Quick answer
Run it every few minutes and append the new rows to your log.
# every BTC fill over $50,000 the feed holds; run it every few minutes and append the new rows to your log
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hl-cohorts/symbols/BTC/large-fills"Example response
Captured from the live API on 2026-10-24 at 17:14 UTC with limit=5; 3 of the 5 rows are shown. The default limit is 200, everything
the feed holds for the coin.
covered_from is 18 minutes before the call and truncated is true: the feed had already dropped older BTC fills.
The first two rows are the two sides of one trade (same ts, size and price): a 3x smart wallet's resting buy
filled by a 3x rekt wallet's market sell. The third row is the kind this test counts: a 3x smart wallet bought
at market for $50,832. There is no fill id, so de-duplicate your log on ts, wallet, direction, size_usd and
price.
{
"symbol": "BTC",
"min_usd": 50000.0,
"hours": 24,
"covered_from": "2026-10-24T16:56:39.239000+00:00",
"truncated": true,
"has_more": true,
"size_cohort_basis": "current",
"fills": [
{
"ts": "2026-10-24T17:13:33.040000+00:00",
"wallet": "0x53136b4a7c432585f28903b77c7816a723e0271f",
"direction": "buy",
"size_token": 1.5211,
"size_usd": 121802.08249999999,
"price": 80075.0,
"order_type": "limit",
"size_cohort": "2x dolphin",
"pnl_cohort": "3x smart",
"pnl_cohort_basis": "current"
},
{
"ts": "2026-10-24T17:13:33.040000+00:00",
"wallet": "0xb371766bcdcd556ce6b6cf164be6019d01441042",
"direction": "sell",
"size_token": 1.5211,
"size_usd": 121802.08249999999,
"price": 80075.0,
"order_type": "market",
"size_cohort": "2x fish",
"pnl_cohort": "3x rekt",
"pnl_cohort_basis": "current"
},
{
"ts": "2026-10-24T17:12:37.822000+00:00",
"wallet": "0x0faef09b4deaedb0b99d68131f76acbef7cb4c8c",
"direction": "buy",
"size_token": 0.63442,
"size_usd": 50831.63366,
"price": 80123.0,
"order_type": "market",
"size_cohort": "2x dolphin",
"pnl_cohort": "3x smart",
"pnl_cohort_basis": "current"
}
]
}Variations
The candles to join. 1-minute bars, oldest first; ts is the start of the minute in epoch milliseconds. Take the close of the fill's minute
and the close N minutes later.
# ten minutes of BTC 1-minute candles around the captured fills; end is exclusive
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/ohlcv?symbol=BTC&interval=1m&start=2026-10-24T17:10:00Z&end=2026-10-24T17:20:00Z"Only the bigger fills. min_usd raises the floor; it cannot go below 50000.
# BTC fills of $250,000 or more still in the feed
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hl-cohorts/symbols/BTC/large-fills?min_usd=250000"Backfill past days from the archive. The daily fills file holds every fill with wallet, crossed and size_usd, but no cohort. Join it on wallet and
hour to the pnl_cohort of the same day's positions file; a wallet that held no position in that hour has no label
there.
# a temporary link to every fill of 2026-10-23
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/archive/url?dataset=fills&date=2026-10-23"Before you rely on it
The feed is minutes deep on busy coins
The feed keeps only the newest 200 fills over $50,000 per coin from the last 24 hours. On BTC that reached back 18
minutes at capture, so a gap in your polling is a gap in your log: poll every few minutes and check truncated and
covered_from on every answer. pnl_cohort is graded at the fill's own hour when that hour is labelled and today
otherwise, so store pnl_cohort_basis with each row; size_cohort is the wallet's tier now, not at the fill.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The hl_market tool answers (view large_fills), with hl_ohlcv for the price, at 1 credit a call each.
Show the latest BTC fills over $50,000 where a 3x smart wallet crossed the book, and the BTC price ten minutes after each