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

# Get available trading markets



## OpenAPI

````yaml https://vooi-api-app.fly.dev/swagger/json get /exchange/markets
openapi: 3.1.0
info:
  title: VOOI API
  description: Unified perps API
  version: '1.0'
  contact: {}
servers:
  - url: https://perps-api.vooi.io
security: []
tags: []
paths:
  /exchange/markets:
    get:
      tags:
        - Exchange
      summary: Get available trading markets
      operationId: ExchangeController_getMarkets
      parameters:
        - name: exchanges
          required: false
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - aster
                  - binance
                  - bybit
                  - extended
                  - gate
                  - hyperliquid
                  - lighter
                  - mexc
                  - ondo
                  - robinhood
                description: Supported perpetual exchange
              - type: array
                items:
                  type: string
                  enum:
                    - aster
                    - binance
                    - bybit
                    - extended
                    - gate
                    - hyperliquid
                    - lighter
                    - mexc
                    - ondo
                    - robinhood
                  description: Supported perpetual exchange
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GetMarketsDto'
        '503':
          description: ExchangeApiError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDTO'
components:
  schemas:
    GetMarketsDto:
      type: object
      properties:
        baseDecimals:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          example: 3
        baseSymbol:
          type: string
          example: ETH
        category:
          type: string
          enum:
            - commodities
            - crypto
            - etf-index
            - forex
            - pre-ipo
            - stocks-asia
            - stocks-us
          description: >-
            Asset class of the underlying: `crypto` (digital assets, including
            tokenized-RWA protocol tokens), `stocks-us` (equities listed on a US
            exchange, including foreign companies trading as depositary
            receipts), `stocks-asia` (equities listed on an Asian exchange and
            not on a US one — an Asian company with a US listing is `stocks-us`,
            so Sony and Alibaba sit there while Tencent sits here), `etf-index`
            (equity, commodity and macro index products and ETFs, including
            funds whose exposure is a metal or commodity; crypto-native index
            perps such as `BTCDOM` and `DEFI` stay in `crypto`), `commodities`
            (physical goods priced directly — metals, energy, agricultural and
            hardware spot indices such as GPU rental and memory — including
            gold-backed tokens), `forex` (currency pairs and the dollar index),
            or `pre-ipo` (private companies traded ahead of listing). The value
            belongs to the underlying rather than the venue, so every market
            sharing a `unifiedSymbol` reports the same category.
          example: stocks-us
        data:
          description: Custom metadata for specific market
        exchange:
          type: string
          enum:
            - aster
            - binance
            - bybit
            - extended
            - gate
            - hyperliquid
            - lighter
            - mexc
            - ondo
            - robinhood
          description: Perpetual exchange
        fundingInterval:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
          description: Funding settlement interval in hours
          example: 1
        fundingRate:
          type: string
          description: Hourly funding rate for the market as a decimal.
          example: '0.001'
        id:
          type: string
        maxLeverage:
          type: number
          exclusiveMinimum: 0
          description: Highest leverage this market allows, for any account.
          example: 50
        nextFundingTime:
          description: Next funding settlement time
          example: '2025-01-15T12:00:00.000Z'
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
        open:
          type: boolean
          example: true
        openInterest:
          type: string
          description: >-
            Open interest as USD notional, one-sided. Multiply by 2 for
            two-sided.
          example: '12345678.9'
        price:
          type: string
          example: '1850.50'
        price24hPercent:
          type: number
          description: >-
            Price change over the last 24 hours, as percent (e.g. -2.27 for
            -2.27%).
          example: -2.27
        priceDecimals:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          example: 2
        quoteDecimals:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          example: 6
        quoteSymbol:
          type: string
          example: USDC
        schedule:
          type: object
          properties:
            corrections:
              description: >-
                Session overrides for specific dates, in TradingView format:
                semicolon-separated entries, each `HHMM-HHMM:YYYYMMDD` (dates
                within an entry comma-separated).
              example: 0930-1300:20261127
              type: string
            session:
              type: string
              description: >-
                Regular trading hours as a TradingView session string: `24x7`
                for round-the-clock, otherwise `HHMM-HHMM` windows with day
                codes (1=Sunday … 7=Saturday), e.g. `0930-1600:23456`.
              example: 0930-1600:23456
            sessionHolidays:
              description: Comma-separated `YYYYMMDD` dates the market is fully closed.
              example: 20261225,20270101
              type: string
            timezone:
              type: string
              description: IANA timezone the session and corrections are expressed in.
              example: America/New_York
          required:
            - session
            - timezone
          title: MarketSchedule
          description: >-
            The market's trading schedule in TradingView session format (`24x7`
            for crypto, weekday or custom session windows for tokenized stocks
            and other TradFi instruments).
        unifiedSymbol:
          type: string
          description: >-
            Cross-exchange grouping key: the alias key (e.g. `alias:aapl`) for
            assets listed under different venue symbols, otherwise equal to
            `baseSymbol`.
          example: alias:aapl
        volume24h:
          type: number
          minimum: 0
          description: 24h volume
          example: 100000.1234
      required:
        - baseDecimals
        - baseSymbol
        - category
        - data
        - exchange
        - fundingInterval
        - fundingRate
        - id
        - maxLeverage
        - nextFundingTime
        - open
        - openInterest
        - price
        - price24hPercent
        - priceDecimals
        - quoteDecimals
        - quoteSymbol
        - schedule
        - unifiedSymbol
        - volume24h
      title: Market
    ErrorResponseDTO:
      type: object
      properties:
        message:
          type: string
          example: 'Invalid order id: 123'
        statusCode:
          example: 503
          type: number
      required:
        - message
      title: ErrorResponse

````

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