> ## Documentation Index
> Fetch the complete documentation index at: https://api.docs.rocketfi.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get instruments

> Returns all **tradable instruments** with listing metadata, 24h statistics, current funding snapshots, and daily price change — the RocketFi equivalent of a consolidated **markets** discovery call.

### Parameters

| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| pageNumber | yes | integer | Page index for instrument listing pagination. |
| pageSize | yes | integer | Number of instruments to return per page. |

### Response fields

| Parameter | Required | Type | Description |
| --------- | -------- | ---- | ----------- |
| `dailyChanges` | yes | object | — |
| `dailyChanges.*` | yes | object (map) | An instrument identifier (8-byte hash). |
| `dailyChanges.*.actualAvailableDataTimeRangeMs` | yes | integer (int64) | — |
| `dailyChanges.*.priceChangeQuote` | yes | string | — |
| `fundingRates` | yes | object | — |
| `fundingRates.*` | yes | object (map) | An instrument identifier (8-byte hash). |
| `fundingRates.*.fundingRate` | yes | string | — |
| `fundingRates.*.premiumIndex` | yes | string | — |
| `fundingRates.*.round` | yes | integer (int64) | — |
| `fundingRates.*.timestamp` | yes | integer (int64) | — |
| `instrumentStats` | yes | object | — |
| `instrumentStats.*` | yes | object (map) | An instrument identifier (8-byte hash). |
| `instrumentStats.*.fundingRate1H` | yes | number (double) | — |
| `instrumentStats.*.openInterest` | yes | number (double) | — |
| `instrumentStats.*.volume24H` | yes | number (double) | — |
| `instruments` | yes | object | — |
| `instruments.*` | yes | object (map) | An instrument identifier (8-byte hash). |
| `instruments.*.expiry` | no | string \| null | — |
| `instruments.*.id` | yes | string | — |
| `instruments.*.instrumentType` | yes | string | — |
| `instruments.*.isTrading` | yes | boolean | — |
| `instruments.*.lastMatchPrice` | yes | string | — |
| `instruments.*.listedAt` | no | integer (int64) | — |
| `instruments.*.maxLeverage` | no | string \| null | — |
| `instruments.*.maxLeverageMargin` | no | string \| null | — |
| `instruments.*.priceScale` | yes | integer (int32) | — |
| `instruments.*.quantityScale` | yes | integer (int32) | — |
| `instruments.*.settlementAsset` | yes | string | — |
| `instruments.*.strike` | no | string \| null | — |
| `instruments.*.ticker` | yes | string | — |
| `instruments.*.underlyingAsset` | yes | string | — |
| `instruments.*.worstCasePriceMovePct` | no | string \| null | — |
| `instruments.*.worstCasePriceMovePctMargin` | no | string \| null | — |

### Response example

A sample **`200`** JSON body is attached to this operation as an OpenAPI **example** (Mintlify shows it in the example panel, similar to other exchange API docs).



## OpenAPI

````yaml /specs/openapi.json get /instruments
openapi: 3.1.0
info:
  title: RocketFi REST API
  description: REST API for Rocket Chain / RocketFi integrations.
  license:
    name: ''
  version: 0.1.0
servers:
  - url: https://beta.rocketfi.io
    description: Beta
  - url: https://testnet.rocket-cluster-1.com
    description: Testnet
  - url: https://devnet.rocket-cluster-1.com
    description: Devnet
security: []
tags:
  - name: Service
    description: Health and availability.
  - name: Market data
    description: Instruments, candles, fees, leverage, and funding data.
  - name: Account
    description: Account nonce, fees, collateral, positions, and orders.
  - name: Trading
    description: Transactions and order activity.
  - name: Vault and bridge
    description: Vaults, history, and bridge events.
  - name: Faucet (testnet)
    description: Testnet faucet for development.
paths:
  /instruments:
    get:
      tags:
        - Market data
      summary: Get instruments
      description: >-
        Returns all **tradable instruments** with listing metadata, 24h
        statistics, current funding snapshots, and daily price change — the
        RocketFi equivalent of a consolidated **markets** discovery call.


        ### Parameters


        | Parameter | Required | Type | Description |

        | --------- | -------- | ---- | ----------- |

        | pageNumber | yes | integer | Page index for instrument listing
        pagination. |

        | pageSize | yes | integer | Number of instruments to return per page. |


        ### Response fields


        | Parameter | Required | Type | Description |

        | --------- | -------- | ---- | ----------- |

        | `dailyChanges` | yes | object | — |

        | `dailyChanges.*` | yes | object (map) | An instrument identifier
        (8-byte hash). |

        | `dailyChanges.*.actualAvailableDataTimeRangeMs` | yes | integer
        (int64) | — |

        | `dailyChanges.*.priceChangeQuote` | yes | string | — |

        | `fundingRates` | yes | object | — |

        | `fundingRates.*` | yes | object (map) | An instrument identifier
        (8-byte hash). |

        | `fundingRates.*.fundingRate` | yes | string | — |

        | `fundingRates.*.premiumIndex` | yes | string | — |

        | `fundingRates.*.round` | yes | integer (int64) | — |

        | `fundingRates.*.timestamp` | yes | integer (int64) | — |

        | `instrumentStats` | yes | object | — |

        | `instrumentStats.*` | yes | object (map) | An instrument identifier
        (8-byte hash). |

        | `instrumentStats.*.fundingRate1H` | yes | number (double) | — |

        | `instrumentStats.*.openInterest` | yes | number (double) | — |

        | `instrumentStats.*.volume24H` | yes | number (double) | — |

        | `instruments` | yes | object | — |

        | `instruments.*` | yes | object (map) | An instrument identifier
        (8-byte hash). |

        | `instruments.*.expiry` | no | string \| null | — |

        | `instruments.*.id` | yes | string | — |

        | `instruments.*.instrumentType` | yes | string | — |

        | `instruments.*.isTrading` | yes | boolean | — |

        | `instruments.*.lastMatchPrice` | yes | string | — |

        | `instruments.*.listedAt` | no | integer (int64) | — |

        | `instruments.*.maxLeverage` | no | string \| null | — |

        | `instruments.*.maxLeverageMargin` | no | string \| null | — |

        | `instruments.*.priceScale` | yes | integer (int32) | — |

        | `instruments.*.quantityScale` | yes | integer (int32) | — |

        | `instruments.*.settlementAsset` | yes | string | — |

        | `instruments.*.strike` | no | string \| null | — |

        | `instruments.*.ticker` | yes | string | — |

        | `instruments.*.underlyingAsset` | yes | string | — |

        | `instruments.*.worstCasePriceMovePct` | no | string \| null | — |

        | `instruments.*.worstCasePriceMovePctMargin` | no | string \| null | —
        |


        ### Response example


        A sample **`200`** JSON body is attached to this operation as an OpenAPI
        **example** (Mintlify shows it in the example panel, similar to other
        exchange API docs).
      operationId: get_instruments
      parameters:
        - name: pageNumber
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/usize'
          description: Page index for instrument listing pagination.
        - name: pageSize
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/usize'
          description: Number of instruments to return per page.
      responses:
        '200':
          description: All instruments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInstrumentsResponse'
              example:
                instruments:
                  '4509715668973587':
                    id: '4509715668973587'
                    ticker: BTC-PERP
                    instrumentType: Perpetual
                    underlyingAsset: BTC
                    settlementAsset: USDC
                    isTrading: true
                    priceScale: 2
                    quantityScale: 8
                    lastMatchPrice: '67250.50'
                    listedAt: 1700000000000
                    maxLeverage: '50'
                    maxLeverageMargin: '0.02'
                    expiry: null
                    strike: null
                    worstCasePriceMovePct: '0.05'
                    worstCasePriceMovePctMargin: '0.03'
                instrumentStats:
                  '4509715668973587':
                    fundingRate1H: 0.0001
                    volume24H: 125000000.5
                    openInterest: 4500.25
                fundingRates:
                  '4509715668973587':
                    fundingRate: '0.0000125'
                    premiumIndex: '0.0001'
                    timestamp: 1704067200000
                    round: 1849200
                dailyChanges:
                  '4509715668973587':
                    priceChangeQuote: '1250.25'
                    actualAvailableDataTimeRangeMs: 86400000
components:
  schemas:
    usize:
      type: integer
      minimum: 0
    GetInstrumentsResponse:
      type: object
      required:
        - instruments
        - instrumentStats
        - fundingRates
        - dailyChanges
      properties:
        dailyChanges:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/InstrumentDailyPriceChange'
          propertyNames:
            type: integer
            format: int64
            description: An instrument identifier (8-byte hash).
            minimum: 0
        fundingRates:
          $ref: '#/components/schemas/FundingRateByInstrumentClientView'
        instrumentStats:
          $ref: '#/components/schemas/HashMap'
        instruments:
          $ref: '#/components/schemas/InstrumentsSetView'
    InstrumentDailyPriceChange:
      type: object
      required:
        - priceChangeQuote
        - actualAvailableDataTimeRangeMs
      properties:
        actualAvailableDataTimeRangeMs:
          $ref: '#/components/schemas/u64'
        priceChangeQuote:
          type: string
    FundingRateByInstrumentClientView:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/FundingRateView'
      propertyNames:
        type: integer
        format: int64
        description: An instrument identifier (8-byte hash).
        minimum: 0
    HashMap:
      type: object
      additionalProperties:
        type: object
        required:
          - fundingRate1H
          - volume24H
          - openInterest
        properties:
          fundingRate1H:
            type: number
            format: double
          openInterest:
            type: number
            format: double
          volume24H:
            type: number
            format: double
      propertyNames:
        type: integer
        format: int64
        description: An instrument identifier (8-byte hash).
        minimum: 0
    InstrumentsSetView:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/InstrumentView'
      propertyNames:
        type: integer
        format: int64
        description: An instrument identifier (8-byte hash).
        minimum: 0
    u64:
      type: integer
      format: int64
      minimum: 0
    FundingRateView:
      type: object
      required:
        - fundingRate
        - premiumIndex
        - timestamp
        - round
      properties:
        fundingRate:
          type: string
        premiumIndex:
          type: string
        round:
          type: integer
          format: int64
          minimum: 0
        timestamp:
          $ref: '#/components/schemas/u64'
    InstrumentView:
      type: object
      required:
        - id
        - ticker
        - instrumentType
        - underlyingAsset
        - settlementAsset
        - isTrading
        - priceScale
        - quantityScale
        - lastMatchPrice
      properties:
        expiry:
          type:
            - string
            - 'null'
        id:
          type: string
        instrumentType:
          type: string
        isTrading:
          type: boolean
        lastMatchPrice:
          type: string
        listedAt:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/u64'
        maxLeverage:
          type:
            - string
            - 'null'
        maxLeverageMargin:
          type:
            - string
            - 'null'
        priceScale:
          type: integer
          format: int32
        quantityScale:
          type: integer
          format: int32
        settlementAsset:
          type: string
        strike:
          type:
            - string
            - 'null'
        ticker:
          type: string
        underlyingAsset:
          type: string
        worstCasePriceMovePct:
          type:
            - string
            - 'null'
        worstCasePriceMovePctMargin:
          type:
            - string
            - 'null'

````