Recipe 53 of 65
What is the funding-rate history of a Hyperliquid coin, with premium and open interest?
/v1/hyperliquid/symbols/hourly returns, per perp and hour, the traded close, open interest, funding_rate and premium, up to 400 days back and 64 symbols per call; predicted funding is not served.
GET /v1/hyperliquid/symbols/hourly answers it in one call, as the hourly market history of Hyperliquid perps: close from executed fills, and
open_interest, funding_rate and premium from the venue's own readings, averaged over the hour. Ask for up to 64
symbols at once, with days (1 to 400) or a pinned start and end. Rows are arrays in columns order. The full parameter list is on
Coins hourly.
Quick answer
Name the coin and how many days back.
# 30 days of hourly BTC close, open interest, funding rate and premium
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/hourly?symbols=BTC&days=30"Example response
Captured from the live API on 2026-10-24 at 17:16 UTC from the same call with symbols=BTC,ETH,SOL,HYPE,XRP,DOGE&days=30, trimmed to BTC's
newest 3 of 4,320 rows.
ts is the hour's start in epoch seconds (1792857600 is 16:00 UTC). open_interest is in coins (43,345 BTC), not
USD. funding_rate is a fraction per hour: 0.0000100 is 0.001% an hour, about 8.8% a year. premium is a fraction
too: -0.000437 is -4.4 bps. The last row is the 17:00 hour, still in progress.
{
"symbols": ["BTC", "ETH", "SOL", "HYPE", "XRP", "DOGE"],
"tz": "UTC",
"source": "1h fills rollup + hourly asset summary",
"start": 1790270179,
"end": 1792862179,
"columns": ["ts", "asset", "close", "open_interest", "funding_rate", "premium"],
"rows": [
[1792854000, "BTC", 79789.0, 43080.143939999805, 9.31456935483871e-06, -0.00045313535134408595],
[1792857600, "BTC", 80175.0, 43345.12522166666, 1.0013016666666666e-05, -0.000436831925],
[1792861200, "BTC", 80115.0, 43648.260513333335, 4.3116e-06, -0.0002914231333333333]
]
}Variations
Readable rows. Zip each positional row back into an object with its column names.
# one day of BTC rows as objects
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/hourly?symbols=BTC&days=1" \
| jq '. as $d | $d.rows[] | [$d.columns, .] | transpose | map({(.[0]): .[1]}) | add'Annualized funding and premium in bps. Convert on your side, hour by hour.
# BTC funding as a yearly percentage and premium in basis points, hour by hour
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/hourly?symbols=BTC&days=30" \
| jq '[.rows[] | select(.[4] != null) | {ts: .[0], close: .[2], funding_apr_pct: (.[4] * 24 * 365 * 100), premium_bps: (.[5] * 10000)}]'On the 30-day capture BTC's hourly funding_rate ran from -0.0000176 to 0.0000125.
The longest window. 400 days is the limit of days. A basket of many symbols over a long window can pass the 256,000-row ceiling; split
the symbol list across calls with the same pinned window.
# BTC and ETH, hourly, from 2026-01-01
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/hourly?symbols=BTC,ETH&start=2026-01-01T00:00:00Z"Funding a wallet actually paid. The panel is the market rate per hour; what one wallet paid or received on each position is on its funding history.
# funding payments of one wallet on BTC; negative payment_usd = the wallet paid
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/funding?symbol=BTC&limit=100"Before you rely on it
History only: no predicted funding, no other venues
The panel is what the venue published, hour by hour. Predicted funding for the next hour is not served, and neither is
funding history of other exchanges, so a cross-venue funding spread cannot be built from this route. A positive
funding_rate means longs pay shorts.
Averaged samples, nulls and missing hours
funding_rate, premium and open_interest are the venue's readings sampled about every 5 minutes and averaged over
the hour, not the settled payment. A missing sample arrives as null, never 0. An hour with no trade in the perp has
no row at all, because each row starts from the traded close. Rows come sorted by symbol, then hour.
Ask your agent
No MCP tool returns funding history: perp_funding gives current rates only, so run the Quick answer call.