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

# List directional pairs and constraints

> Returns the configured directional pairs along with per-pair decimals,
quote notional caps, and the default expiry applied when an RFQ omits
`expiry_seconds`. Use this together with `/v1/assets` to discover what
a friendly RFQ can request.




## OpenAPI

````yaml /openapi.yaml get /v1/pairs
openapi: 3.1.0
info:
  title: Firmament Backend API
  version: 0.1.3
  summary: Public backend routes for Firmament swaps and runtime proof.
  description: >
    Firmament is a Solana RFQ maker backend for managed liquidity demos.

    This specification documents the public routes used by the swap app and
    runtime view.
servers:
  - url: https://api.firmament.shaikazeem.com
    description: Deployed Firmament API.
  - url: http://127.0.0.1:5050
    description: Local backend started with `cargo run`.
security: []
tags:
  - name: Health
    description: Runtime liveness.
  - name: Assets
    description: Supported Solana assets.
  - name: Pairs
    description: Configured directional pairs and constraints.
  - name: RFQ
    description: Firm quote requests.
  - name: Settlement
    description: Browser-wallet HTLC settlement.
  - name: Trades
    description: Trade status lookup.
  - name: Runtime
    description: Read-only runtime state, events, ledger, and trades.
paths:
  /v1/pairs:
    get:
      tags:
        - Pairs
      summary: List directional pairs and constraints
      description: |
        Returns the configured directional pairs along with per-pair decimals,
        quote notional caps, and the default expiry applied when an RFQ omits
        `expiry_seconds`. Use this together with `/v1/assets` to discover what
        a friendly RFQ can request.
      operationId: getPairs
      responses:
        '200':
          description: Configured pairs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PairsResponse'
              examples:
                pairs:
                  value:
                    pairs:
                      - input_asset: USDC
                        output_asset: SOL
                        input_mint: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                        output_mint: So11111111111111111111111111111111111111112
                        input_decimals: 6
                        output_decimals: 9
                        max_quote_notional_usd: '2'
                        min_quote_notional_usd: '1'
                        default_expiry_seconds: 45
components:
  schemas:
    PairsResponse:
      type: object
      required:
        - pairs
      properties:
        pairs:
          type: array
          items:
            $ref: '#/components/schemas/Pair'
    Pair:
      type: object
      required:
        - input_asset
        - output_asset
        - input_mint
        - output_mint
        - input_decimals
        - output_decimals
        - max_quote_notional_usd
        - min_quote_notional_usd
        - min_input_trade_amount
        - max_input_trade_amount
        - default_expiry_seconds
      properties:
        input_asset:
          type: string
          example: USDC
        output_asset:
          type: string
          example: SOL
        input_mint:
          $ref: '#/components/schemas/MintAddress'
        output_mint:
          $ref: '#/components/schemas/MintAddress'
        input_decimals:
          type: integer
          minimum: 0
          maximum: 18
        output_decimals:
          type: integer
          minimum: 0
          maximum: 18
        max_quote_notional_usd:
          $ref: '#/components/schemas/DecimalString'
        min_quote_notional_usd:
          $ref: '#/components/schemas/DecimalString'
        min_input_trade_amount:
          $ref: '#/components/schemas/DecimalString'
        max_input_trade_amount:
          $ref: '#/components/schemas/DecimalString'
        default_expiry_seconds:
          type: integer
          minimum: 1
          example: 45
    MintAddress:
      type: string
      description: Solana mint address.
      example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
    DecimalString:
      type: string
      description: Decimal value serialized by the runtime.
      examples:
        - '0'

````