list_hyperliquid_perp_markets
Use one no-argument call to read up to 500 current default and HIP-3 perps, or filter by one name, then copy exact supported AssetRef values into a draft.
| Field | Meaning |
|---|---|
| Side effects | None. This is a bounded public-market read; names are informational and never authorize. |
| Next step | Use supported asset_ref values with draft_pakt; an any-asset draft needs no full scan. Resolve specific names again before changing governed assets. |
Arguments
| Argument | Type | Required |
|---|---|---|
cursor | integer | no |
include_delisted | boolean | no |
page_size | integer | no |
query | string | no |
Exact bounds, accepted values, and nested fields are in Full JSON Schema below.
Example
A no-argument call returns up to 500 markets from one live snapshot in Hyperliquid registry order. Search is a substring match when query is supplied. An any-asset draft does not require a catalogue scan. Market support does not override the policy-program or margin-mode checks: each order uses the margin mode selected for its market on Hyperliquid. Isolated margin, whether the venue requires it or the user selected it, is evaluated by every policy-program generation except cross_only_v3; single_margin_mode_v4 allows one margin mode per order.
With an authenticated MCP client:
await client.callTool({
name: "list_hyperliquid_perp_markets",
arguments: {},
});Returns
Important fields in the decoded result; this is not a complete response schema.
| Field | Meaning |
|---|---|
markets[].asset_ref | Copy this exact object into a draft; do not invent venue asset IDs. |
markets[].global_asset_id | The venue-native asset index used by an order. |
markets[].pakt_support | Market-metadata support and remaining account checks; not authorization. |
markets[].live_mark_px | Informational live mark, returned only when query is supplied and only for markets on the first three DEXs in the result; otherwise null. Authorization uses the mark attested at decision time. |
next_cursor | Continue with this numeric cursor until null when searching all pages. |
provenance | Source, observation time, and completeness of this market read. |
For error handling and retry rules, see Statuses and Errors.
Read one live snapshot of Hyperliquid mainnet's perpetual DEX registry and metadata, resolve default and HIP-3 perps to exact global venue asset ids, and return draft-ready AssetRef JSON. With no arguments, returns up to 500 markets in Hyperliquid registry order; continue from next_cursor only when non-null. An any-asset draft does not require enumerating this catalogue. Read-only and informational: names never enter authorization, and this call does not draft, store, activate, prove, sign, propose, or trade. Market-metadata support covers active USDC-collateralized cross-capable and isolated-only perps with supported precision, margin tiers, and fee metadata. Authorization also checks the committed policy program and account margin modes. The current Hyperliquid policy program supports cross and isolated margin, and treats isolated margin the same whether the venue requires it or the account selected it on a cross-capable market. Each order uses the margin mode selected for its market on Hyperliquid, and the Pakt's margin-mode rule applies to every order, including reduce-only closes. By policy_program_generation: current, account_leverage_v6, and mixed_margin_mode_v5 Pakts evaluate isolated orders and positions normally; single_margin_mode_v4 Pakts allow one margin mode per order and refuse orders mixing cross and isolated markets; cross_only_v3 Pakts refuse every order while the account holds isolated margin on a market Pakt can trade or the order uses isolated margin (policy_program_upgrade_required); an isolated position on a market Pakt cannot trade, such as a delisted one, does not trigger that refusal. A cross position on a market Pakt can trade that Hyperliquid has since made isolated-only blocks every order until it is closed on Hyperliquid; one on a delisted or otherwise untradable market is valued separately and does not block. Inactive, non-USDC, or invalid-metadata markets also fail closed. Pass query to receive live_mark_px: Hyperliquid's mark price read live by this call, for orientation only. It is read only for query calls and only for markets on the 3 lowest dex_index values in the result; every other market, and any market whose read failed, has null. Authorization never reads it: a fill-price collar uses the mark attested at decision time, which can differ.
From tools/list, MCP protocol revision 2026-07-28.
{
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Return global asset ids strictly after this cursor.",
"maximum": 4294967295,
"minimum": 0,
"type": "integer"
},
"include_delisted": {
"description": "Include venue entries marked delisted; defaults to false.",
"type": "boolean"
},
"page_size": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Optional case-insensitive symbol/name substring, for example TSLA or xyz:TSLA. Supplying it also returns bounded live_mark_px values; see the tool description.",
"maxLength": 64,
"pattern": "^[A-Za-z0-9:_-]*$",
"type": "string"
}
},
"type": "object"
}