Hyperliquid HIP-3 markets API: stocks, oil, gold, indices and more
Data for every HIP-3 market on Hyperliquid: shares, funds, oil, gold, indices, currencies, interest rates and Pre-IPO companies. Funding, candles, positions, liquidations, trades and who is long or short, by market name, over MCP and REST on one free key.
“What has the funding rate of oil (xyz:CL) on Hyperliquid been over the last 30 days?”
hl_market“Who got liquidated on Anthropic (io:ANTH) on Hyperliquid this week, and are whales long or short it?”
hl_liquidations hl_cohort_metricsWhat HIP-3 markets are, and how a name works
HIP-3 is the Hyperliquid upgrade that lets a builder run its own perpetual markets on Hyperliquid. Each builder is a venue with its own list of markets, and most of them follow something outside crypto: a share of NVIDIA, a barrel of oil, an ounce of gold, a stock index.
A market's name is its venue and its ticker. In xyz:CL, xyz is the venue and CL the market, WTI crude oil; io:ANTH is Anthropic on the io venue and para:10Y the ten-year US Treasury yield on para. Hyperliquid's own crypto perps, such as BTC, have no prefix.
One company can trade on several venues, each its own market with its own price, funding and open interest: Anthropic is io:ANTH, xyz:ANT and para:ANTH.
Stocks, oil, gold, indices and the rest
Eight kinds of market, each with real names.
| Category | What it follows | Real names |
|---|---|---|
| Stock | One share of a listed company, priced in US dollars, on exchanges in the US and Asia. | xyz:NVDA xyz:MU xyz:MSFT xyz:SPCX xyz:SKHX |
| ETF | One share of an exchange-traded fund: memory chips, South Korea, US energy, semiconductors. | xyz:DRAM xyz:EWY xyz:XLE xyz:SMH |
| Commodity | Crude oil by the barrel, natural gas, gold and silver by the ounce, copper by the pound. | xyz:CL xyz:BRENTOIL xyz:NATGAS xyz:GOLD xyz:SILVER xyz:COPPER |
| Index | A stock index: the S&P 500, 100 large US companies, the Japan 225, the Korea 200. | xyz:SP500 xyz:XYZ100 xyz:JP225 xyz:KR200 |
| Forex | An exchange rate: the euro, the yen and the pound against the US dollar. | xyz:EUR xyz:JPY xyz:GBP |
| Crypto | The crypto market as a whole rather than one coin: altcoins' market value, Bitcoin's share of the total. | para:TOTAL2 para:OTHERS para:BTCD |
| Pre-IPO | A company that has not listed yet, priced on what its shares are expected to be worth. | io:ANTH xyz:ANT para:ANTH io:OAI xyz:OURA |
| Rates | The yield of a US Treasury in percent, at 2, 10 and 30 years. | para:2Y para:10Y para:30Y |
Zhipu, MiniMax, Unitree and SpaceX are not Pre-IPO: Hyperliquid lists xyz:ZHIPU, xyz:MINIMAX, xyz:UNITREE and xyz:SPCX as ordinary shares.
New markets appear every week, so this page keeps no count. Today's list: GET /v1/hyperliquid/funding-rates with no symbol has one row per perp, and a name with a colon is a HIP-3 market. GET /v1/search?q=oil finds a market by its ticker or by what it is, and says its category.
Open a market
Each market's live page on vike.io: no key, no code.
| Market | What it follows |
|---|---|
xyz:CL | WTI crude oil |
xyz:BRENTOIL | Brent crude oil |
xyz:GOLD | Gold |
xyz:SILVER | Silver |
xyz:SP500 | S&P 500 |
xyz:XYZ100 | 100 large US companies |
xyz:NVDA | NVIDIA |
xyz:MU | Micron |
xyz:MSFT | Microsoft |
xyz:AMD | AMD |
xyz:COIN | Coinbase |
xyz:SKHX | SK hynix |
xyz:SPCX | SpaceX |
xyz:DRAM | Roundhill Memory ETF |
io:ANTH | Anthropic, Pre-IPO |
Which API routes take a market name
Each call below answered with HIP-3 data on the live API on 2026-11-05.
Funding, candles and volume
| Call | What it answers | Reference |
|---|---|---|
GET /v1/hyperliquid/funding-rates?symbol=xyz:CL | Hour by hour: funding rate, premium, mid price and open interest, from the market's own data_from. With no symbol, the newest reading of every perp. | Parameters → |
GET /v1/hyperliquid/ohlcv?symbol=xyz:CL&interval=1h | Candles and tick bars built from the market's fills. | Parameters → |
GET /v1/hyperliquid/ohlcv/export?symbol=xyz:CL&interval=1d | The same candles as an NDJSON file, for a long window. | Parameters → |
GET /v1/hyperliquid/ohlcv/latest?dex=XYZ | The newest 1-minute candle of every market of one venue that traded in the last hour. Takes no symbol. | Parameters → |
GET /v1/hyperliquid/symbols/hourly?symbols=xyz:CL,xyz:GOLD,io:ANTH | Hourly close, open interest, funding rate and premium of many markets in one call, 64 at most. | Parameters → |
GET /v1/hyperliquid/stats/volume?symbol=xyz:CL | Traded volume and fill count, hour by hour. | Parameters → |
Open positions
| Call | What it answers | Reference |
|---|---|---|
GET /v1/hyperliquid/positions?symbol=xyz:CL&sort=size | The biggest open positions: wallet, side, size, entry price, liquidation price. start and end switch to history, not before 2026-05-01. | Parameters → |
GET /v1/hyperliquid/positions/match?symbol=xyz:CL&side=short&leverage=0&entry_price=95.15 | Whose position is this: the wallets holding a side and an entry price. | Parameters → |
GET /v1/hyperliquid/positions/symbols | Open interest of every market beside the venue's own figure. Takes no symbol. | Parameters → |
Who is long and who is short
| Call | What it answers | Reference |
|---|---|---|
GET /v1/hl-cohorts/symbols/xyz:CL/metrics?limit=24 | Hourly open interest, position count and long/short bias. Sliced to one cohort it starts at 2026-04-07. | Parameters → |
GET /v1/hl-cohorts/symbols/xyz:CL/cohort-metrics?axis=size&hours=24 | Every cohort of whales, sharks and shrimp, hour by hour. Starts at 2026-04-07. | Parameters → |
GET /v1/hl-cohorts/symbols/xyz:CL/indices?hours=24 | The Smart Money and Whale-vs-Shrimp indices, now and hourly. The hourly series starts at 2026-04-07. | Parameters → |
GET /v1/hl-cohorts/symbols/xyz:CL/size-breakdown | Positions now, split into ten dollar-size buckets. | Parameters → |
GET /v1/hl-cohorts/symbols/xyz:CL/large-fills?limit=50 | Fills of $50,000 or more from the last 24 hours, with the wallet. | Parameters → |
Liquidations
| Call | What it answers | Reference |
|---|---|---|
GET /v1/hyperliquid/liquidations?symbol=xyz:CL | Every liquidation, newest first: exact since 2026-08-03, estimated from position snapshots before. | Parameters → |
GET /v1/hyperliquid/symbols/xyz:CL/liquidation-heatmap?bins=50 | Where its open positions would be liquidated, by price. | Parameters → |
GET /v1/hyperliquid/liquidations/risk?min_value_usd=1000000 | The share of each market's open interest close to liquidation, HIP-3 markets among the rest. Takes no symbol. | Parameters → |
Orders and leverage
| Call | What it answers | Reference |
|---|---|---|
GET /v1/hyperliquid/orders?symbol=xyz:CL | Every order resting at one instant, from 5-minute snapshots. | Parameters → |
GET /v1/hyperliquid/symbols/xyz:CL/order-clusters?range_pct=2 | Standing orders, stops and take-profits bucketed by price around the mid. | Parameters → |
GET /v1/hyperliquid/twaps?symbol=xyz:CL | TWAP orders, one row per status change, the last 24 hours by default. | Parameters → |
GET /v1/hyperliquid/leverage-changes?symbol=xyz:CL | Positions whose leverage or margin mode just changed. | Parameters → |
One wallet or builder in one market
| Call | What it answers | Reference |
|---|---|---|
GET /v1/hyperliquid/wallets/{address}/trades?symbol=xyz:CL | The wallet's trades in this market, open to close. | Parameters → |
GET /v1/hyperliquid/wallets/{address}/fills?symbol=xyz:CL | Its fills, newest first. | Parameters → |
GET /v1/hyperliquid/wallets/{address}/funding?symbol=xyz:CL | The funding it paid or received, hour by hour. | Parameters → |
GET /v1/hyperliquid/wallets/{address}/orders?symbol=xyz:CL | Its resting orders and order history. | Parameters → |
GET /v1/hyperliquid/wallets/{address}/twaps?symbol=xyz:CL | Its TWAP orders. | Parameters → |
GET /v1/hyperliquid/builders/{builder}/fills?symbol=xyz:CL | The fills routed through one builder code. | Parameters → |
No route lists every trade of one market: /large-fills holds those of $50,000 or more from the last day, and all of them are in the Parquet archive, one fills file a day, where asset holds the same name.
On the WebSocket the same name is the coin filter, {"coin": ["xyz:CL"]}: every channel.
What does not work
- The whole name is the parameter.
symbol=CLfinds nothing; only candles also takesymbol=CL&dex=XYZ. A name that does not exist is a404on/funding-ratesand a400on/liquidation-heatmap, but a 200 with no rows on the other routes, so an empty answer can mean a typo. - A wallet's
account_valueis its account on Hyperliquid's own venue. A builder venue's account is separate, so a wallet that trades only HIP-3 markets can read0. - Funding before 2026-11-03. From 2026-04-22 13:00 to 2026-11-03 a HIP-3 market's hour is the rate the venue settled at its end, not a mean of readings, and a delisted market's missing value is
null.
HIP-3 questions, answered with code
Each with the sentence to ask your AI instead and what it printed. Every block was run against the live API on 2026-11-05.
What did oil's funding cost over the last 30 days?
One market's funding, hour by hour, from /v1/hyperliquid/funding-rates: symbol is the whole name. Hyperliquid settles funding every hour; a positive rate means longs pay shorts.
- Uses
/funding-rates- Verified
- live API, 2026-11-05: 1 call, all 200
xyz:CL funding averaged -0.00122% an hour over 30 days, about -10.7% a year: shorts paid in 366 hours and longs in 354.The code
import os, requests
from datetime import datetime, timedelta, timezone
start = (datetime.now(timezone.utc) - timedelta(days=30)).strftime("%Y-%m-%dT%H:00:00Z")
r = requests.get(
"https://data.vike.io/v1/hyperliquid/funding-rates",
params={"symbol": "xyz:CL", "start": start, "limit": 5000},
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
timeout=30,
)
r.raise_for_status()
hours = [h for h in r.json()["items"] if h["funding_rate"] is not None]
mean = sum(h["funding_rate"] for h in hours) / len(hours)
longs_paid = sum(h["funding_rate"] > 0 for h in hours)
print(f"{len(hours)} hours, mean {mean:+.5%} an hour, {mean * 8760:+.1%} a year")
print(f"longs paid in {longs_paid} hours, shorts in {len(hours) - longs_paid}")
print(f"open interest now ${hours[0]['open_interest_usd']:,.0f}")
# Printed on 2026-11-05:
# 720 hours, mean -0.00122% an hour, -10.7% a year
# longs paid in 354 hours, shorts in 366
# open interest now $162,761,667
NVIDIA's daily candles for the last 30 days
Candles from /v1/hyperliquid/ohlcv, by the market's whole name. The last bar is today, still open.
- Uses
/ohlcv- Verified
- live API, 2026-11-05: 1 call, all 200
xyz:NVDA closed at 239.96 on the first day of the window and 183.55 on the last, with about $3.03 billion traded.The code
import os, requests
from datetime import datetime, timedelta, timezone
start = (datetime.now(timezone.utc) - timedelta(days=30)).strftime("%Y-%m-%dT00:00:00Z")
r = requests.get(
"https://data.vike.io/v1/hyperliquid/ohlcv",
params={"symbol": "xyz:NVDA", "interval": "1d", "start": start},
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
timeout=30,
)
r.raise_for_status()
bars = r.json()["candles"]
print(f"{len(bars)} days, close {bars[0]['close']} to {bars[-1]['close']}, ${sum(b['volume_usd'] for b in bars):,.0f} traded")
for b in bars[-3:]:
day = datetime.fromtimestamp(b["ts"] / 1000, timezone.utc).date()
print(day, b["open"], b["high"], b["low"], b["close"], f"${b['volume_usd']:,.0f}")
# Printed on 2026-11-05:
# 31 days, close 239.96 to 183.55, $3,034,834,065 traded
# 2026-11-03 203.7 211.01 202.57 208.1 $241,231,849
# 2026-11-04 208.12 210.99 199.84 201.25 $167,161,588
# 2026-11-05 201.22 201.36 181.78 183.55 $222,178,641
Who got liquidated on Anthropic in the last 30 days?
Every liquidation of one Pre-IPO market from /v1/hyperliquid/liquidations, page after page with nextCursor.
- Uses
/liquidations- Verified
- live API, 2026-11-05: 1 call, all 200
io:ANTH in 30 days: $3.17 million of longs against $0.30 million of shorts, the largest $514,121.The code
import os, requests
from datetime import datetime, timedelta, timezone
start = (datetime.now(timezone.utc) - timedelta(days=30)).strftime("%Y-%m-%dT%H:00:00Z")
rows, cursor = [], ""
while True:
r = requests.get(
"https://data.vike.io/v1/hyperliquid/liquidations",
params={"symbol": "io:ANTH", "start": start, "limit": 5000, "cursor": cursor},
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
timeout=30,
)
r.raise_for_status()
rows += r.json()["liquidations"]
cursor = r.json()["nextCursor"]
if not cursor:
break
longs = sum(x["size_usd"] for x in rows if x["side"] == "long")
shorts = sum(x["size_usd"] for x in rows if x["side"] == "short")
print(f"{len(rows)} liquidations: ${longs:,.0f} of longs, ${shorts:,.0f} of shorts")
for x in sorted(rows, key=lambda x: -x["size_usd"])[:3]:
print(x["liq_ts"][:16], x["side"], f"${x['size_usd']:,.0f}", "at", x["mark_price"])
# Printed on 2026-11-05:
# 444 liquidations: $3,166,520 of longs, $304,203 of shorts
# 2026-10-30T10:17 long $514,121 at 1737.1
# 2026-11-05T15:30 long $301,817 at 1756.2
# 2026-11-03T20:51 long $173,648 at 1768.3
Are the biggest wallets long or short gold?
Each size cohort of one market, hour by hour, from /v1/hl-cohorts/symbols/{symbol}/cohort-metrics: the whale cohorts 30 days ago and now. Cohort data starts at 2026-04-07; an older start is served from there.
- Uses
/v1/hl-cohorts/symbols/{…}/cohort-metrics- Verified
- live API, 2026-11-05: 1 call, all 200
4x whale wallets held $88.9 million short of xyz:GOLD against $14.0 million long, more one-sided than 30 days earlier (bias -0.54 to -0.73).The code
import os, requests
from datetime import datetime, timedelta, timezone
start = (datetime.now(timezone.utc) - timedelta(days=30)).strftime("%Y-%m-%dT%H:00:00Z")
r = requests.get(
"https://data.vike.io/v1/hl-cohorts/symbols/xyz:GOLD/cohort-metrics",
params={"axis": "size", "start": start, "hours": 720},
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
timeout=60,
)
r.raise_for_status()
rows = r.json()["metrics"]
hours = sorted({x["ts"] for x in rows})
for ts in (hours[0], hours[-1]):
print(ts[:16])
for x in rows:
if x["ts"] == ts and "whale" in x["cohort"]:
long_usd = x["total_position_value_long"]
short_usd = x["total_position_value"] - long_usd
print(f" {x['cohort']:9} long ${long_usd:>13,.0f} short ${short_usd:>13,.0f} bias {x['bias']:+.2f}")
# Printed on 2026-11-05:
# 2026-10-06T19:00
# 4x whale long $ 22,615,125 short $ 75,440,244 bias -0.54
# 3x whale long $ 986,704 short $ 1,361,144 bias -0.16
# 2x whale long $ 18,222,922 short $ 9,770,433 bias +0.30
# whale long $ 12,369,936 short $ 10,638,557 bias +0.08
# 2026-11-05T17:00
# 4x whale long $ 14,028,041 short $ 88,885,547 bias -0.73
# 3x whale long $ 763,936 short $ 1,770,058 bias -0.40
# 2x whale long $ 6,112,927 short $ 8,682,894 bias -0.17
# whale long $ 29,620,460 short $ 18,076,151 bias +0.24
Hyperliquid HIP-3 markets FAQ
What is HIP-3 on Hyperliquid?
What do names like xyz:CL and io:ANTH mean?
xyz:CL is WTI crude oil on the xyz venue, io:ANTH Anthropic on io. Every route takes the whole name.Is there an API for HIP-3 stock, oil and gold perps?
How do I list every HIP-3 market?
GET /v1/hyperliquid/funding-rates with no symbol has one row per perp; a name with a colon is a HIP-3 market. New ones appear every week, so read the list instead of keeping your own.Which HIP-3 markets are Pre-IPO?
io:ANTH, xyz:ANT, para:ANTH, io:OAI, xyz:OURA. Zhipu, MiniMax, Unitree and SpaceX are listed as ordinary shares.How far back does HIP-3 data go?
data_from each answer states. Liquidations are exact since 2026-08-03 and estimated before. Position history starts at 2026-05-01, and cohort data on every route at 2026-04-07.