Market Data

List Instruments

Changed on

Returns the list of tradeable instruments, including index_id and product_group, optionally filtered by base currency, instrument kind, expiration status, instrument id, product group, and lifecycle state.

This endpoint requires no authentication, but it is served by the Starbase REST gateway and is reachable only through hosted colocation, a cross-connect, or AWS Private Link. The internet-accessible classic JSON-RPC public/get_instruments method also documents index_id and product_group; backend rollout of those fields may temporarily differ between the two endpoints.

Filter semantics (supplied filters are combined):

  • currency filters by the base currency of the instrument's currency pair (case-insensitive match).
  • kind filters by instrument type (case-insensitive match against the kind value enum).
  • expired = true returns only instruments whose expiration_timestamp is in the past; expired = false returns only non-expired instruments. Omit the parameter to get both.
  • instrument_id returns the instrument with that numeric id.
  • product_group filters by Starbase product group (case-insensitive match against BTC, ETH, TIER_2, TIER_3).
  • state filters by instrument lifecycle state (case-insensitive). Values match SBE InstrumentStatus: open, inactive, settlement, delivered, locked, halted.
get/api/v2/public/get_instruments

Request

  • Base URL
    http://195.138.37.5:4410
  • URL
    http://195.138.37.5:4410/api/v2/public/get_instruments
  • Auth
    none required

Query parameters

currencystring

Filter by the base currency of the instrument's currency pair (e.g. BTC, ETH, AVAX). Case-insensitive.

kind'perp_future' | 'option' | 'spot' | 'future_combo' | 'option_combo' | 'dated_future'

Filter by instrument kind. Case-insensitive.

expiredboolean

When true, return only expired instruments. When false, return only currently-active (non-expired) instruments. Omit to return both.

instrument_idinteger

Return the instrument with this numeric id.

product_group'BTC' | 'ETH' | 'TIER_2' | 'TIER_3'

Filter by Starbase product group. Case-insensitive.

state'open' | 'inactive' | 'settlement' | 'delivered' | 'locked' | 'halted'

Filter by instrument lifecycle state. Case-insensitive. Values match SBE InstrumentStatus.

Response

List of instruments matching the supplied filters.

jsonrpc'2.0' required

The JSON-RPC version (2.0)

idinteger

The id that was sent in the request

Example response

{
  "result": [
    {
      "instrument_id": 124942,
      "instrument_name": "ETH-PERPETUAL",
      "product_group": "ETH",
      "base_currency": "ETH",
      "quote_currency": "USDC",
      "settlement_currency": "USDC",
      "tick_size": 0.01,
      "qty_tick_size": 0.1,
      "strike": 70000,
      "expiration_timestamp": 1779148800000,
      "creation_timestamp": 1747500000000
    }
  ]
}

Changes

    • info

      added the new optional query request parameter instrument_id

    • info

      added the new optional query request parameter product_group

    • info

      added the new optional query request parameter state

    • info

      added the optional property // to the response with the status