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

# List instruments

> Lists the instruments your organization's trading accounts can trade: every contract in the markets your organization is enabled for (`markets` in the response), with the specification you need to size orders and value positions.

**Order quantity.** Order and position `quantity` is always a whole number of units. One unit is `contractSize` `sizeUnit`: one contract for futures, a fixed amount of the base asset for perpetuals (for example 0.001 BTC). So a size in `sizeUnit` is `quantity × contractSize`.

**Value.** `pointValue` is what a 1.0 price move is worth for one unit of quantity, and `tickValue` what one tick is worth, both in `quoteCurrency`. Futures are quoted in USD; a perpetual's `quoteCurrency` is its quote asset (for example `USDT`). Unrealized P&L = (price − entry price) × quantity × `pointValue` for a long position.

**Limits.** `minQuantity` is the smallest order. `maxLimitOrderQuantity` and `maxMarketOrderQuantity` are the largest single orders the instrument accepts, or null when the instrument sets none. A trading rule can limit sizes further per account.

**Trading hours.** `sessionCalendar` is `cme` (CME Globex futures sessions, closed at weekends and during the daily break) or `crypto_24x7`.

Expired futures are left out unless `includeInactive=true`. The list changes when contracts roll, so read it again at least once a day rather than hard-coding symbols. Results may be up to a minute old.

Requires **view** permission on traders.



## OpenAPI

````yaml https://api.hyperprop.com/platform/openapi.json get /v1/organization/instruments
openapi: 3.0.0
info:
  title: Hyperprop Platform API
  version: 1.0.0
  description: >-
    REST API for the Hyperprop Trading Platform — provision evaluation and
    funded trading accounts, manage traders and plans, react to account
    lifecycle events via signed webhooks, and reconcile billing. Built for prop
    firms integrating from their own backend.


    Authentication, quick start, error handling, idempotency, pagination, custom
    metadata, webhooks, and the MCP connector are documented at
    https://docs.hyperprop.com.
  x-logo:
    url: https://app.hyperprop.com/logo-icon.svg
    altText: Hyperprop
    href: https://hyperprop.com
servers:
  - url: https://api.hyperprop.com/platform
    description: Production
security: []
tags:
  - name: Trading accounts
    description: Create, update, and inspect trading accounts.
  - name: Traders
    description: Look up and update the traders in your organization.
  - name: Trading plans
    description: Define the plans you sell.
  - name: Trading rules
    description: Define how accounts are evaluated.
  - name: Instruments
    description: >-
      The contracts your organization's accounts can trade, with their
      specifications.
  - name: Lockouts
    description: Pause and resume trading on an account.
  - name: Payouts
    description: Check payout eligibility and record payouts.
  - name: Purchases
    description: Purchases recorded for your organization.
  - name: Time Machine
    description: Restore accounts to an earlier trading day or instant.
  - name: Mass credit
    description: >-
      Credit back losses across many accounts after an incident, as background
      jobs you can follow, pause, export and reverse.
  - name: Webhooks
    description: Register webhook endpoints and inspect deliveries.
  - name: Events
    description: Your organization's event history and real-time event stream.
  - name: Reconciliation
    description: Balances, end-of-day snapshots, and fills for reconciliation.
  - name: Analytics
    description: Organization performance and plan economics.
  - name: Billing
    description: 'Your Hyperprop bill: activity, billing cycles, and forecasts.'
  - name: Team and roles
    description: Manage dashboard access for your staff.
  - name: API keys
    description: >-
      Manage your organization's API keys: rotation, read-only keys and IP
      allowlists.
  - name: Logs and health
    description: >-
      API request logs, the audit log, integration health, and idempotency key
      recovery.
  - name: Organization profile
    description: Your organization's profile and logo.
  - name: Support
    description: Open and follow up on support tickets.
  - name: Partner access
    description: >-
      Read a trader's journal as an approved partner app, with the trader's own
      key.
paths:
  /v1/organization/instruments:
    get:
      tags:
        - Instruments
      summary: List instruments
      description: >-
        Lists the instruments your organization's trading accounts can trade:
        every contract in the markets your organization is enabled for
        (`markets` in the response), with the specification you need to size
        orders and value positions.


        **Order quantity.** Order and position `quantity` is always a whole
        number of units. One unit is `contractSize` `sizeUnit`: one contract for
        futures, a fixed amount of the base asset for perpetuals (for example
        0.001 BTC). So a size in `sizeUnit` is `quantity × contractSize`.


        **Value.** `pointValue` is what a 1.0 price move is worth for one unit
        of quantity, and `tickValue` what one tick is worth, both in
        `quoteCurrency`. Futures are quoted in USD; a perpetual's
        `quoteCurrency` is its quote asset (for example `USDT`). Unrealized P&L
        = (price − entry price) × quantity × `pointValue` for a long position.


        **Limits.** `minQuantity` is the smallest order. `maxLimitOrderQuantity`
        and `maxMarketOrderQuantity` are the largest single orders the
        instrument accepts, or null when the instrument sets none. A trading
        rule can limit sizes further per account.


        **Trading hours.** `sessionCalendar` is `cme` (CME Globex futures
        sessions, closed at weekends and during the daily break) or
        `crypto_24x7`.


        Expired futures are left out unless `includeInactive=true`. The list
        changes when contracts roll, so read it again at least once a day rather
        than hard-coding symbols. Results may be up to a minute old.


        Requires **view** permission on traders.
      operationId: getV1OrganizationInstruments
      parameters:
        - description: Only this market (case-insensitive)
          x-convert:
            trim: true
          name: market
          in: query
          schema:
            type: string
            maxLength: 20
        - description: Only futures or only perpetuals
          name: assetClass
          in: query
          schema:
            type: string
            enum:
              - future
              - perpetual
        - description: >-
            Also list instruments that can no longer be traded, such as expired
            futures
          name: includeInactive
          in: query
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Instruments your organization can trade
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model138'
        '400':
          description: Validation failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model25'
        '401':
          description: Authentication required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model11'
        '403':
          description: Access denied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model74'
        '500':
          description: An unexpected error occurred
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model6'
        '504':
          description: >-
            Gateway Timeout - The request did not complete within 25 seconds
            (`REQUEST_TIMEOUT`). Nothing was changed; retry, or narrow the
            request (for example a shorter date range).
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model139'
      security:
        - X-API-Key: []
components:
  schemas:
    Model138:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/Model137'
    Model25:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 400
        error:
          type: string
          example: Bad Request
        message:
          type: string
          example: Validation failed
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: VALIDATION_ERROR
    Model11:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 401
        error:
          type: string
          example: Unauthorized
        message:
          type: string
          example: Authentication required
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: UNAUTHORIZED
    Model74:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 403
        error:
          type: string
          example: Forbidden
        message:
          type: string
          example: Access denied
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: FORBIDDEN
    Model6:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 500
        error:
          type: string
          example: Internal Server Error
        message:
          type: string
          example: An unexpected error occurred
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: INTERNAL_ERROR
    Model139:
      type: object
      properties:
        statusCode:
          type: number
          example: 504
        error:
          type: string
          example: Gateway Timeout
        message:
          type: string
          example: >-
            The request did not complete within 25 seconds. Try again, or narrow
            it (for example a shorter date range).
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: REQUEST_TIMEOUT
    Model137:
      type: object
      properties:
        markets:
          $ref: '#/components/schemas/markets'
        count:
          type: integer
          example: 1
        instruments:
          $ref: '#/components/schemas/instruments'
    markets:
      type: array
      description: Markets your organization is enabled for
      example:
        - CBOT
        - CME
        - COMEX
        - NYMEX
      items:
        type: string
    instruments:
      type: array
      items:
        $ref: '#/components/schemas/Model136'
    Model136:
      type: object
      properties:
        id:
          type: string
          example: 3f0c9a52-6a1e-4d38-9a3c-1b0f2e7d4c11
          x-format:
            guid: true
        symbol:
          type: string
          description: The symbol orders, positions, fills and the trading stream use
          example: MNQZ6
        rootSymbol:
          type: string
          description: Product root for futures, base asset for perpetuals
          example: MNQ
        name:
          type: string
          example: Micro E-mini Nasdaq-100
        market:
          type: string
          description: '`CME`, `CBOT`, `NYMEX`, `COMEX`, `BINANCE`, `HYPERLIQUID` or `HDL`'
          example: CME
        assetClass:
          $ref: '#/components/schemas/assetClass'
        status:
          $ref: '#/components/schemas/Model135'
        quoteCurrency:
          type: string
          description: Currency prices, `pointValue`, `tickValue` and P&L are in
          example: USD
        tickSize:
          type: number
          description: Minimum price increment
          example: 0.25
        pointValue:
          type: number
          description: >-
            Value of a 1.0 price move for one unit of order quantity, in
            `quoteCurrency`
          example: 2
        tickValue:
          type: number
          description: >-
            Value of one tick for one unit of order quantity (`tickSize ×
            pointValue`)
          example: 0.5
        contractSize:
          type: number
          description: >-
            Size of one unit of order quantity, in `sizeUnit` (1 contract for
            futures, e.g. 0.001 BTC for a perpetual)
          example: 1
        sizeUnit:
          type: string
          description: '`contracts` for futures, the base asset (e.g. `BTC`) for perpetuals'
          example: contracts
        quantityPrecision:
          type: integer
          description: Decimals to show a size in `sizeUnit` with
          example: 0
        minQuantity:
          type: integer
          description: Smallest order, in units of order quantity
          example: 1
        maxLimitOrderQuantity:
          type: integer
          description: >-
            Largest single limit order, in units of order quantity. Null: no
            instrument limit (account rules may still limit size)
          example: null
        maxMarketOrderQuantity:
          type: integer
          description: >-
            Largest single market order, in units of order quantity. Null: no
            instrument limit
          example: null
        sessionCalendar:
          $ref: '#/components/schemas/sessionCalendar'
        expiryDate:
          type: string
          description: Futures expiry date; null for perpetuals
          example: '2026-12-18'
        isFrontMonth:
          type: boolean
          example: true
        perpetual:
          $ref: '#/components/schemas/perpetual'
    assetClass:
      type: string
      example: future
      enum:
        - future
        - perpetual
    Model135:
      type: string
      description: '`active` instruments can be traded'
      example: active
      enum:
        - active
        - inactive
    sessionCalendar:
      type: string
      description: >-
        Trading hours: `cme` follows the CME Globex futures sessions,
        `crypto_24x7` trades around the clock
      example: cme
      enum:
        - cme
        - crypto_24x7
    perpetual:
      type: object
      description: Perpetuals only; null for futures
      properties:
        baseAsset:
          type: string
          example: BTC
        maxLeverage:
          type: number
          description: The instrument's leverage ceiling; a plan can set a lower one
          example: 125
        minOrderValue:
          type: number
          description: Smallest order value, in `quoteCurrency`
          example: 100
        fundingIntervalHours:
          type: number
          example: 8
  securitySchemes:
    X-API-Key:
      type: apiKey
      name: X-API-Key
      in: header
      description: >-
        Organization API key. Format: "hp_live_{key}". Organization admins
        manage the key in the dashboard.

````

## Related topics

- [Instrument catalogue](https://docs.hyperprop.com/guides/instruments.md)
- [Execution and fills](https://docs.hyperprop.com/hdl/execution.md)
- [HDL for builders](https://docs.hyperprop.com/hdl/api.md)
- [Hyperprop Deep Liquidity (HDL)](https://docs.hyperprop.com/hdl/overview.md)
- [Transparency and audit](https://docs.hyperprop.com/hdl/transparency.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.