Skip to main content
Public endpoints for market information. No authentication is required on Production; an API key is optional there. Development and Staging reject any request with no key.

GET /providers

List available perpetual provider platforms.

Parameters

Response 200

Provider Fields

Calling a sub-route (/markets, /assets, createAction, etc.) with the key of an inactive provider fails with 400 and code: 2002 (ValidationError) rather than returning empty data.
Each ProviderCategory in categories describes a trading category within the provider: setup and actions share the ProviderAction shape. A setup entry is a SetupAction: a ProviderAction with two extra fields, options and revoke. Both fields are always present. The example above shortens the option descriptions. Each SetupOption binds one selectable value to the action that applies it: A choice step changes nothing by itself. The client sends the chosen option’s type and params to createAction. No option runs automatically, and the recommended option is only a suggestion. For the full direct-call flow, see Integrating without the SDK. SDK: getProviders()

GET /markets

List the tradeable markets (instruments) for a provider. Returns static instrument metadata only — ids, base/quote assets, decimals, leverage caps, and margin. Live per-market data (mark price, previous-day price, 24h volume, open interest, funding) is served by /marketsContext. Cached for one hour, since instrument metadata changes rarely.

Parameters

Response 200

Each Market carries static metadata only — live data lives on MarketContext:

Response 404

MarketNotFound (2023) — the provider has no markets, or marketIds matches none of them. A partial match returns only the matching markets. SDK: getMarkets()

GET /assets

List the underlying asset registry for a provider. An asset is a transferable balance unit, not a tradable market — markets reference assets as their base/quote legs. Hyperliquid returns its spot token registry (id = venue token index). Lighter returns its asset_id registry. Ondo returns its token config.

Parameters

Response 200

Each Asset: SDK: getAssets()

GET /marketsContext

Get live per-market context for all markets: midPrice, markPrice, and (where the venue publishes it) oraclePrice; prevDayPrice, priceChange24h, and volume24h for every market; marketCap where the venue publishes circulating supply; and openInterest and funding for perps. Intended for frequent polling; pair it with the static metadata from /markets. Cached for one second.

Parameters

Response 200

Each MarketContext:

Response 404

MarketNotFound (2023) — marketIds is supplied and matches none of the markets. A partial match returns only the matching subset. SDK: getMarketsContext()

GET /ohlcv

Get OHLCV candle data for charts.

Parameters

Response 200

Response 404

Market not found error. SDK: getOhlcv()

GET /orderbook

Get current orderbook snapshot.

Parameters

Response 200

Response 404

Market not found error. SDK: getOrderbook()

GET /meta

Get read-only platform metadata: the backend version and the list of active platform-level notices (advisories shown to all users, independent of any provider or market). Cached for one minute.

Parameters

Response 200

Meta: Each Notice:

GET /meta/terms

Get the current terms-of-service document and whether an address has accepted that version. When the address has not accepted, accepted is false and acceptedAt is omitted.

Parameters

Response 200

TermsAcceptanceStatus:

GET /meta/referral

Get an address’s onboarding and internal-referral state: terms acceptance, its attached and owned codes, whether it may create a code, and the verdict on a candidate code. Provider-independent.

Parameters

Response 200

ReferralStatus:

Response 400

ValidationError — malformed address or code.

GET /meta/referral/activity

Get the addresses attached to address’s owned internal referral code, paginated. Provider-independent.

Parameters

Response 200

ReferralActivityResponse: Each ReferralActivityItem:

Response 400

ValidationError — malformed address, limit, or cursor.