On this page
Hyperliquid Builder Perp Dexes
The /v1/markets/hyperliquid/perp-dex/* namespace covers third-party
builder perp dexes on Hyperliquid: separate exchanges that share HL's
matching engine but list non-crypto underlyings. As of May 2026, this
includes:
| Dex shortname | Full name | Notable listings |
|---|---|---|
xyz | XYZ | AAPL, TSLA, NVDA, COIN, BRENTOIL, GOLD, more |
flx | Felix Exchange | Crypto majors with custom margin rules |
vntl | Ventuals | Venture-style perps |
hyna | HyENA | Mid-cap altcoins |
km | Markets by Kinetiq | Kinetiq-curated set |
abcd | ABCDEx | Single-contract experimental |
cash | dreamcash | Meme + cash markets |
para | Paragon | Niche perps |
Builder dexes are governed by their deployers, not by Hyperliquid Labs. Order-book matching and clearing run on HL's L1, but the contract universe, fees, and oracle updaters are at the deployer's discretion. Treat builder-dex risk independently from the main HL perp risk.
Endpoint summary
| Method | Path | Cache |
|---|---|---|
| GET | /v1/markets/hyperliquid/perp-dex | 5 min |
| GET | /v1/markets/hyperliquid/perp-dex/{dex}/contracts | 60s |
| GET | /v1/markets/hyperliquid/perp-dex/{dex}/contracts/{symbol} | 5s |
| GET | /v1/markets/hyperliquid/perp-dex/{dex}/contracts/{symbol}/orderbook | 2s |
| GET | /v1/markets/hyperliquid/perp-dex/{dex}/contracts/{symbol}/trades | 5s |
| GET | /v1/markets/hyperliquid/perp-dex/{dex}/contracts/{symbol}/candles | 30s |
All five require the read scope and meter under the markets.read SKU
(same pool as the main HL perp / spot endpoints — no double-billing for
crossing dex boundaries).
List dexes
bashcurl -H "Authorization: Bearer art_live_<your-key>" \
"https://api.artery.questflow.ai/v1/markets/hyperliquid/perp-dex"jsonc{
"dexes": [
{ "name": "xyz", "fullName": "XYZ", "deployer": "0x88806a71..." },
{ "name": "flx", "fullName": "Felix Exchange", "deployer": "0x2fab5525..." },
{ "name": "vntl", "fullName": "Ventuals", "deployer": "0x88888881..." }
]
}The list is discovered live from HL's perpDexs action — newly-launched
dexes appear here without a code change.
List contracts
bashcurl -H "Authorization: Bearer art_live_<your-key>" \
"https://api.artery.questflow.ai/v1/markets/hyperliquid/perp-dex/xyz/contracts"jsonc{
"contracts": [
{ "symbol": "AAPL", "upstreamCoin": "xyz:AAPL", "decimals": 3, "maxLeverage": 30 },
{ "symbol": "TSLA", "upstreamCoin": "xyz:TSLA", "decimals": 3, "maxLeverage": 30 },
{ "symbol": "BRENTOIL", "upstreamCoin": "xyz:BRENTOIL", "decimals": 3, "maxLeverage": 30 }
]
}symbolis what you pass in subsequent endpoints;upstreamCoinis HL's raw form (xyz:AAPL) — useful if you also call the/v1/hyperliquid/info/*raw passthrough.- Delisted contracts are filtered out (you can still see them via
/v1/hyperliquid/info/meta?dex=xyz).
Contract snapshot
bashcurl -H "Authorization: Bearer art_live_<your-key>" \
"https://api.artery.questflow.ai/v1/markets/hyperliquid/perp-dex/xyz/contracts/AAPL"jsonc{
"symbol": "AAPL",
"markPrice": 195.6,
"oraclePrice": 195.55,
"midPrice": 195.62,
"fundingRate": 0.00001,
"openInterest": 12345.67,
"dayNotionalVolume": 1234567.89,
"dayBaseVolume": 6321.45
}Same shape as the main /v1/markets/hyperliquid/coins/{coin} endpoint —
the field semantics are identical (fundingRate is per-hour decimal,
prices are in the dex's quote unit).
Unknown dex → 404 unknown_dex. Unknown symbol on a known dex → 404 unknown_symbol.
Orderbook / trades / candles
These three follow the same shape as the main perp namespace — see the
Hyperliquid Markets reference for
parameter docs. The only difference is the URL: replace
/coins/{coin}/... with /perp-dex/{dex}/contracts/{symbol}/....
bash# AAPL orderbook on the xyz dex
curl -H "Authorization: Bearer art_live_<your-key>" \
"https://api.artery.questflow.ai/v1/markets/hyperliquid/perp-dex/xyz/contracts/AAPL/orderbook?depth=10"
# TSLA recent fills on the xyz dex
curl -H "Authorization: Bearer art_live_<your-key>" \
"https://api.artery.questflow.ai/v1/markets/hyperliquid/perp-dex/xyz/contracts/TSLA/trades?limit=50"
# COIN 1h candles for May 18 (UTC)
curl -H "Authorization: Bearer art_live_<your-key>" \
"https://api.artery.questflow.ai/v1/markets/hyperliquid/perp-dex/xyz/contracts/COIN/candles?interval=1h&start_time=2026-05-18T00:00:00Z&end_time=2026-05-19T00:00:00Z&limit=24"Error responses
| HTTP | error.code | When |
|---|---|---|
| 400 | validation_failed | Malformed dex / symbol, bad interval, start >= end |
| 404 | unknown_dex | dex not in HL perpDexs |
| 404 | unknown_symbol | symbol not in that dex's universe |
| 401 | unauthenticated | Missing / invalid Authorization |
| 403 | insufficient_scope | Key lacks read |
| 429 | rate_limited | Over markets.read SKU quota |
| 502 | upstream_unavailable | HL Info endpoint 5xx'd or timed out |