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

# Trading Pairs

> Trading Pairs

 Get paginated list of trading pairs with optional filtering by market
 type, base token, quote token, and active status.



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/market/pairs
openapi: 3.0.3
info:
  title: Monaco Protocol API
  description: REST API for the Monaco Protocol hybrid CLOB exchange.
  version: 1.0.0
servers:
  - url: https://staging.apimonaco.xyz
    description: Staging server (Testnet)
security: []
tags:
  - name: AccountsService
  - name: ApplicationsService
  - name: AuthService
  - name: BuildercodeRewardsService
  - name: CopyTradingService
  - name: DelegatedAgentsService
  - name: FaucetService
  - name: FeesService
  - name: HealthService
  - name: ManagedMarketsService
    description: |-
      Wallet-authenticated maker assignments. The signed session must match both
       configured maker user and application. Owner IDs are process fences, never auth.
       Only wallet sessions are supported; delegated-agent sessions receive 403.
  - name: MarginAccountsService
    description: |-
      Current public isolated-margin semantics:
       - a user has one parent margin account per application scope
       - opening orders create or reuse isolated position buckets under that parent
       - parent account creation is handled internally by margin workflows
  - name: MarketService
  - name: OrderbookService
  - name: OrdersService
  - name: PositionsService
    description: |-
      Current public isolated-margin semantics:
       - positions link to a parent margin account and, when applicable, a bucket id
       - opening orders create or reuse isolated position buckets under the parent
       - users can open another isolated position by reusing the parent account with a different market bucket
  - name: PulseService
  - name: SweeperService
  - name: TraderCodeService
  - name: TradesService
  - name: WhitelistService
  - name: WithdrawalsService
paths:
  /api/v1/market/pairs:
    get:
      tags:
        - MarketService
        - Market
      summary: Trading Pairs
      description: |-
        Trading Pairs

         Get paginated list of trading pairs with optional filtering by market
         type, base token, quote token, and active status.
      operationId: list_trading_pairs
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 10000
          description: Page number (1-indexed)
        - name: pageSize
          in: query
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 100
            default: 20
          description: Items per page (max 100)
        - name: marketType
          in: query
          schema:
            type: string
            enum:
              - SPOT
              - MARGIN
            minLength: 1
          description: Filter by market type
        - name: baseToken
          in: query
          schema:
            type: string
        - name: quoteToken
          in: query
          schema:
            type: string
        - name: isActive
          in: query
          schema:
            type: boolean
        - name: category
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTradingPairsResponse'
        '400':
          description: Invalid market type parameter
        '500':
          description: Internal server error
components:
  schemas:
    ListTradingPairsResponse:
      type: object
      properties:
        tradingPairs:
          type: array
          items:
            $ref: '#/components/schemas/TradingPairData'
          nullable: true
        page:
          example: 1
          type: integer
          description: Current page number
          format: uint32
          nullable: true
        pageSize:
          example: 20
          type: integer
          description: Items per page
          format: uint32
          nullable: true
        total:
          example: 50
          type: integer
          description: Total number of trading pairs
          format: uint32
          nullable: true
        totalPages:
          example: 3
          type: integer
          description: Total number of pages
          format: uint32
          nullable: true
      description: Paginated list of trading pairs.
    TradingPairData:
      type: object
      properties:
        baseAssetId:
          example: 456e7890-e12b-12d3-a456-426614174000
          type: string
          description: Base asset UUID
          format: uuid
          nullable: true
        baseDecimals:
          example: 8
          type: integer
          description: Base token decimal places
          format: int32
          nullable: true
        baseIconUrl:
          example: https://cdn.0xmonaco.com/assets/btc.svg
          type: string
          description: Base token icon URL
          nullable: true
        baseToken:
          example: BTC
          type: string
          description: Base token symbol
          nullable: true
        baseTokenContract:
          example: '0x1234567890abcdef1234567890abcdef12345678'
          type: string
          description: Base token contract address
          nullable: true
        id:
          example: 123e4567-e89b-12d3-a456-426614174000
          type: string
          description: Trading pair UUID
          format: uuid
          nullable: true
        isActive:
          example: true
          type: boolean
          description: Pair active
          nullable: true
        makerFeeBps:
          example: -2
          deprecated: true
          type: integer
          description: >-
            DEPRECATED: legacy flat maker fee in bps (negative = rebate). This
            is the pre-tiered pair-level rate and does NOT reflect the tiered
            fee actually charged, which is per-user and fractional. Do not
            display this as the user's fee — call GET /api/v1/fees/tier for the
            caller's real rate.
          format: int32
          nullable: true
        marketType:
          example: SPOT
          type: string
          description: 'Market type: SPOT or MARGIN'
          nullable: true
        maxOrderSize:
          example: '100.0'
          type: string
          description: Maximum order size in base token
          nullable: true
        minOrderSize:
          example: '0.0001'
          type: string
          description: Minimum order size in base token
          nullable: true
        quoteAssetId:
          example: 789e0123-e45b-12d3-a456-426614174000
          type: string
          description: Quote asset UUID
          format: uuid
          nullable: true
        quoteDecimals:
          example: 6
          type: integer
          description: Quote token decimal places
          format: int32
          nullable: true
        quoteIconUrl:
          example: https://cdn.0xmonaco.com/assets/usdc.svg
          type: string
          description: Quote token icon URL
          nullable: true
        quoteToken:
          example: USDC
          type: string
          description: Quote token symbol
          nullable: true
        quoteTokenContract:
          example: '0x6a86da986797d59a839d136db490292cd560c131'
          type: string
          description: Quote token contract address
          nullable: true
        symbol:
          example: BTC/USDC
          type: string
          description: Trading pair symbol
          nullable: true
        takerFeeBps:
          example: 10
          deprecated: true
          type: integer
          description: >-
            DEPRECATED: legacy flat taker fee in bps. This is the pre-tiered
            pair-level rate and does NOT reflect the tiered fee actually
            charged, which is per-user and fractional. Do not display this as
            the user's fee — call GET /api/v1/fees/tier for the caller's real
            rate.
          format: int32
          nullable: true
        tickSize:
          example: '0.01'
          type: string
          description: Minimum price increment
          nullable: true
        minLeverage:
          example: '1'
          type: string
          description: Minimum supported leverage for margin markets
          nullable: true
        maxLeverage:
          example: '20'
          type: string
          description: Maximum supported leverage for margin markets
          nullable: true
        category:
          example: crypto
          type: string
          description: 'Asset-class category: crypto, equities, commodities, or fx'
          nullable: true
        quantityStepSize:
          example: '0.00001'
          type: string
          description: Minimum order quantity increment (lot size step) in base token
          nullable: true
        baseAssetName:
          example: Robinhood Markets
          type: string
          description: >-
            Human-readable base asset display name, from the asset registry.
            Lets clients match markets by company or asset name, e.g. a search
            for Robinhood finds HOOD
          nullable: true
        quoteAssetName:
          example: USDC
          type: string
          description: Human-readable quote asset display name, from the asset registry
          nullable: true
        isolatedOnly:
          example: false
          type: boolean
          description: >-
            Isolated-only market: cross margin may only reduce a position here.
            An order from a CROSS risk bucket that is not reduce-only is
            rejected with the error code CROSS_MARGIN_NOT_ALLOWED; open the
            position with margin_mode ISOLATED instead
          nullable: true
      description: Trading pair configuration including tokens, fees, and order limits.

````

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