Skip to main content
Use market data to understand what can be traded, where the market is trading now, and how activity has changed over time.
The TypeScript examples on this page use a PublicClient. The same market-data methods are also available on SecureClient instances.

Fetch Instruments

Fetch instruments before your integration lets users choose or submit orders for a Perps market. Instrument data gives you the constraints needed to validate that workflow.
Fetch instruments with client.fetchPerpsInstruments().
where PerpsInstrument is:
Use displaySymbol ?? symbol for a label and keep id for trading and storage. displaySymbol is optional and does not change the canonical symbol. closeOnly: true requires reduce-only orders. closeOnly defaults to false when absent from an older response.To inspect a retired instrument, filter by its known ID; retired instruments are omitted from the unfiltered collection.
A retired instrument has a settlement record. This is an illustrative record:
PerpsInstrumentSettlement Example
settlement.timestamp is Unix milliseconds. sequence is the accepted engine sequence and must be a safe integer, at most Number.MAX_SAFE_INTEGER; the SDK rejects larger values. price and insuranceDebit remain exact decimal strings. insuranceDebit is the total quote amount debited from the insurance fund. An instrument without a record has settlement: undefined.PerpsInstrument includes the market metadata and trading constraints your app needs before submitting orders.
During close-only operation, pricing, funding, and risk management continue. A settlement record means the instrument has permanently retired: remaining positions close at the final settlement price, and trading cannot resume. The recorded cutoff permanently waives funding that had not already applied; already applied funding remains effective.

Fetch Tickers

Use tickers when you need a lightweight view of where one or more markets are trading now.
Fetch one ticker when you already know which instrument your integration is tracking.
Fetch all tickers to build a market list or refresh a dashboard.
where PerpsTicker is:
Ticker snapshots are refreshed in the background and may be up to ten seconds old. When the gateway cannot guarantee that bound — for example while its data store is unavailable — the endpoint returns 503 Service Unavailable rather than stale prices. Treat a 503 as transient and retry with backoff.

Fetch the Order Book

Use the order book before choosing an order price or size. It shows available liquidity at the requested depth.
Choose how many price levels to request. Supported depths are 10, 100, 500, and 1000. When omitted, the SDK requests 100 levels.
Fetch the book for the selected instrument. Bids and asks are returned as price levels with decimal string prices and quantities.
where PerpsBook and PerpsBookLevel are:

List Candles

Use candles when your workflow needs time-bucketed price history for charts, backtests, or trading signals.
The SDK paginates candle history. When start is omitted, it starts from the past 24 hours.
where PerpsCandle is:

Fetch Mark Price History

Mark price history shows how an instrument’s mark price changed over time. Each data point contains the last mark price recorded for an interval, independent of whether trades occurred during that interval.
Fetch bucketed mark prices for an instrument and interval. start_timestamp is required; end_timestamp is optional. The API returns at most 1000 points per request.
The response returns mark price points in data and a more flag for continuation. Only buckets that contain at least one mark update are included.
Each point is [bucket_open_time_ms, last_mark_price_in_bucket].

List Trades

Use public trades when recent executions matter more than aggregated candles. This is useful for trade tape views and execution analysis.
The SDK paginates trade history, including cursor handling and boundary deduplication.
where PerpsPublicTrade is:
settlement is true for an instrument-settlement close and defaults to false on older responses.

List Funding History

Use funding-rate history when estimating carry costs or explaining why Perps prices differ from the index over time.
The SDK paginates funding-rate history.
where PerpsFundingRate is: