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

# Order Quotes

> Ranked options for paying an order: source tokens (wallet scan and/or explicit list) ranked against the order fulfillment destination, falling back to a settlement currency. EXACT_OUTPUT only.



## OpenAPI

````yaml https://api.coinvoyage.io/v3/openapi.json post /orders/{order_id}/quotes
openapi: 3.1.0
info:
  title: CoinVoyage API (v3)
  description: >-
    CoinVoyage v3 payment API. Unified Intent envelope, snake_case money via the
    Amount shape, and a single SHA-256 signature scheme.
  version: 3.0.0
servers:
  - url: https://api.coinvoyage.io/v3
security: []
paths:
  /orders/{order_id}/quotes:
    post:
      tags:
        - orders
      summary: Order Quotes
      description: >-
        Ranked options for paying an order: source tokens (wallet scan and/or
        explicit list) ranked against the order fulfillment destination, falling
        back to a settlement currency. EXACT_OUTPUT only.
      operationId: v3OrderQuotes
      parameters:
        - description: API key for authentication
          in: header
          name: X-API-KEY
          required: true
          schema:
            type: string
        - in: path
          name: order_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderQuotesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderQuotesResponse'
          description: Ranked options (best→worst)
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Order not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request body or order status
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      security:
        - APIKeyHeader: []
components:
  schemas:
    OrderQuotesRequest:
      example:
        filter:
          limit: 5
          min_balance_usd: 1
          sources:
            - address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
              chain_id: 30000000000001
          wallet:
            address: 0x1234...abcd
            chain_ids:
              - 1
              - 8453
              - 137
            chain_type: EVM
      properties:
        filter:
          anyOf:
            - $ref: '#/components/schemas/OrderQuotesFilter'
            - type: 'null'
      type: object
    OrderQuotesResponse:
      example:
        options:
          - input:
              amount:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              balance:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              breakdown:
                base:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
                fees:
                  custom_fee:
                    raw: '100000000'
                    ui: '100.0'
                    value_usd: 100
                  protocol_fee:
                    raw: '100000000'
                    ui: '100.0'
                    value_usd: 100
                  relayer_fee:
                    raw: '100000000'
                    ui: '100.0'
                    value_usd: 100
                  total_fee:
                    raw: '100000000'
                    ui: '100.0'
                    value_usd: 100
                gas:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
                total:
                  raw: '100000000'
                  ui: '100.0'
                  value_usd: 100
              currency:
                address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                chain_id: 1
                decimals: 6
                id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
                name: USD Coin
                price_usd: 1
                symbol: USDC
            issues:
              price_impact_warning:
                impact: 0.07
                threshold: 0.05
            output:
              amount:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              amount_out_minimum:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              currency:
                address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                chain_id: 1
                decimals: 6
                id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
                name: USD Coin
                price_usd: 1
                symbol: USDC
            rank: 1
        result_type: OK
      properties:
        result_type:
          $ref: '#/components/schemas/QuoteResultType'
          example: OK
        options:
          items:
            $ref: '#/components/schemas/OrderQuoteOption'
          type: array
      required:
        - result_type
        - options
      type: object
    ErrorResponse:
      example:
        code: 400
        error: Bad Request
        message: Invalid request parameters
      properties:
        error:
          example: Bad Request
          type: string
        message:
          example: Invalid request parameters
          type: string
        code:
          example: 400
          format: int64
          type: integer
        details:
          anyOf:
            - type: string
            - type: number
            - type: object
      required:
        - error
        - message
        - code
      type: object
    OrderQuotesFilter:
      example:
        limit: 5
        min_balance_usd: 1
        sources:
          - address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
            chain_id: 30000000000001
        wallet:
          address: 0x1234...abcd
          chain_ids:
            - 1
            - 8453
            - 137
          chain_type: EVM
      properties:
        wallet:
          anyOf:
            - $ref: '#/components/schemas/Wallet'
            - type: 'null'
        sources:
          items:
            $ref: '#/components/schemas/CurrencyBase'
          type: array
        limit:
          example: 5
          type:
            - integer
            - 'null'
        min_balance_usd:
          example: 1
          type:
            - number
            - 'null'
      type: object
    QuoteResultType:
      description: >-
        Soft-error result code returned by /v3/swap/quote endpoints. Non-OK
        values still arrive on a 200 so polling clients don't have to
        special-case errors.
      enum:
        - OK
        - NO_ROUTE
        - HIGH_IMPACT
      type: string
    OrderQuoteOption:
      example:
        input:
          amount:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          balance:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          breakdown:
            base:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            fees:
              custom_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              protocol_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              relayer_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
              total_fee:
                raw: '100000000'
                ui: '100.0'
                value_usd: 100
            gas:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            total:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
          currency:
            address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            chain_id: 1
            decimals: 6
            id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
            name: USD Coin
            price_usd: 1
            symbol: USDC
        issues:
          price_impact_warning:
            impact: 0.07
            threshold: 0.05
        output:
          amount:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          amount_out_minimum:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          currency:
            address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            chain_id: 1
            decimals: 6
            id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
            name: USD Coin
            price_usd: 1
            symbol: USDC
        rank: 1
      properties:
        rank:
          example: 1
          format: int64
          type: integer
        quote_id:
          type: string
        expires_at:
          format: date-time
          type: string
        input:
          anyOf:
            - $ref: '#/components/schemas/QuoteInput'
            - type: 'null'
        output:
          anyOf:
            - $ref: '#/components/schemas/QuoteOutput'
            - type: 'null'
        trade_type:
          $ref: '#/components/schemas/TradeType'
        slippage_bps:
          type:
            - integer
            - 'null'
        price_impact:
          type:
            - number
            - 'null'
        providers:
          items:
            type: string
          type: array
        issues:
          anyOf:
            - $ref: '#/components/schemas/QuoteIssues'
            - type: 'null'
      required:
        - rank
        - expires_at
      type: object
    Wallet:
      example:
        address: 0x1234...abcd
        chain_ids:
          - 1
          - 8453
          - 137
        chain_type: EVM
      properties:
        address:
          example: 0x1234...abcd
          type: string
        chain_type:
          $ref: '#/components/schemas/ChainType'
          example: EVM
        chain_ids:
          example:
            - 1
            - 8453
            - 137
          items:
            $ref: '#/components/schemas/ChainID'
          type: array
      required:
        - address
        - chain_type
      type: object
    CurrencyBase:
      example:
        address: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
        chain_id: 30000000000001
      properties:
        address:
          example: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
          type:
            - string
            - 'null'
        chain_id:
          $ref: '#/components/schemas/ChainID'
          example: 30000000000001
      required:
        - chain_id
      type: object
    QuoteInput:
      example:
        amount:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        balance:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        breakdown:
          base:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          fees:
            custom_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            protocol_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            relayer_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
            total_fee:
              raw: '100000000'
              ui: '100.0'
              value_usd: 100
          gas:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          total:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
        currency:
          address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          chain_id: 1
          decimals: 6
          id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
          name: USD Coin
          price_usd: 1
          symbol: USDC
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyView'
        amount:
          $ref: '#/components/schemas/Amount'
        balance:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
        breakdown:
          anyOf:
            - $ref: '#/components/schemas/QuoteBreakdown'
            - type: 'null'
      required:
        - currency
        - amount
      type: object
    QuoteOutput:
      example:
        amount:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        amount_out_minimum:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        currency:
          address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          chain_id: 1
          decimals: 6
          id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
          name: USD Coin
          price_usd: 1
          symbol: USDC
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyView'
        amount:
          $ref: '#/components/schemas/Amount'
        amount_out_minimum:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
      required:
        - currency
        - amount
      type: object
    TradeType:
      description: Whether the source or destination amount is fixed.
      enum:
        - EXACT_INPUT
        - EXACT_OUTPUT
      type: string
    QuoteIssues:
      example:
        price_impact_warning:
          impact: 0.07
          threshold: 0.05
      properties:
        price_impact_warning:
          anyOf:
            - $ref: '#/components/schemas/PriceImpactWarning'
            - type: 'null'
      type: object
    ChainType:
      enum:
        - EVM
        - SOL
        - SUI
        - UTXO
      type: string
    ChainID:
      enum:
        - 1
        - 10
        - 56
        - 137
        - 8453
        - 42161
        - 20000000000001
        - 30000000000001
        - 30000000000002
      example: 1
      format: int64
      type: integer
    CurrencyView:
      example:
        address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
        chain_id: 1
        decimals: 6
        id: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
        name: USD Coin
        price_usd: 1
        symbol: USDC
      properties:
        id:
          example: 1:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
          type: string
        chain_id:
          $ref: '#/components/schemas/ChainID'
          example: 1
        address:
          example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          type:
            - string
            - 'null'
        symbol:
          example: USDC
          type: string
        name:
          example: USD Coin
          type: string
        decimals:
          example: 6
          format: int64
          type: integer
        image_uri:
          type:
            - string
            - 'null'
        chain_image_uri:
          type:
            - string
            - 'null'
        price_usd:
          example: 1
          type:
            - number
            - 'null'
      required:
        - id
        - chain_id
        - symbol
        - decimals
      type: object
    Amount:
      example:
        raw: '100000000'
        ui: '100.0'
        value_usd: 100
      properties:
        ui:
          example: '100.0'
          type: string
        raw:
          example: '100000000'
          type: string
        value_usd:
          example: 100
          type:
            - number
            - 'null'
      required:
        - ui
        - raw
      type: object
    QuoteBreakdown:
      example:
        base:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        fees:
          custom_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          protocol_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          relayer_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
          total_fee:
            raw: '100000000'
            ui: '100.0'
            value_usd: 100
        gas:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        total:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
      properties:
        total:
          $ref: '#/components/schemas/Amount'
        base:
          $ref: '#/components/schemas/Amount'
        fees:
          anyOf:
            - $ref: '#/components/schemas/QuoteFees'
            - type: 'null'
        gas:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
      required:
        - total
        - base
      type: object
    PriceImpactWarning:
      example:
        impact: 0.07
        threshold: 0.05
      properties:
        impact:
          example: 0.07
          type: number
        threshold:
          example: 0.05
          type: number
      required:
        - impact
        - threshold
      type: object
    QuoteFees:
      example:
        custom_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        protocol_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        relayer_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
        total_fee:
          raw: '100000000'
          ui: '100.0'
          value_usd: 100
      properties:
        total_fee:
          $ref: '#/components/schemas/Amount'
        protocol_fee:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
        custom_fee:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
        relayer_fee:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
      required:
        - total_fee
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-KEY
      type: apiKey

````