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

# Get Exact Out Quotes

> Retrieve exact out quotes from solvers for a cross-chain token swap. Returns detailed pricing, fees, contract addresses, and estimated fulfillment time for the requested swap.



## OpenAPI

````yaml /openapi.json post /api/v3/quotes/exactOut
openapi: 3.0.0
info:
  title: Eco Routes API
  description: Eco Routes API documentation
  version: '1.0'
  contact: {}
servers:
  - url: https://quotes.eco.com
    description: Production
  - url: https://quotes-preprod.eco.com
    description: Preproduction
  - url: https://quotes.staging.eco.com
    description: Staging
  - url: http://localhost:3000
    description: Local
security: []
tags: []
paths:
  /api/v3/quotes/exactOut:
    post:
      tags:
        - Quotes V3
      summary: Get Exact Out Quotes
      description: >-
        Retrieve exact out quotes from solvers for a cross-chain token swap.
        Returns detailed pricing, fees, contract addresses, and estimated
        fulfillment time for the requested swap.
      operationId: QuotesV3Controller_getQuotes
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuotesRequestV3DTO'
      responses:
        '200':
          description: >-
            Successfully retrieved exact out quotes with pricing and execution
            details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotesResponseV3DTO'
components:
  schemas:
    QuotesRequestV3DTO:
      type: object
      properties:
        dAppID:
          type: string
          description: Unique identifier for the client application making the request
          example: my-dapp
        intentExecutionTypes:
          type: array
          description: Array of intent execution types to fetch quotes for
          example:
            - SELF_PUBLISH
          items:
            type: string
            enum:
              - SELF_PUBLISH
              - GASLESS
        quoteRequest:
          description: >-
            Cross-chain token swap request details including source/destination
            tokens and addresses
          allOf:
            - $ref: '#/components/schemas/QuoteRequestV3DTO'
        contracts:
          description: >-
            Optional contract addresses to use for the cross-chain swap (will
            use defaults if not specified)
          allOf:
            - $ref: '#/components/schemas/QuotesV3RequestContractsDTO'
      required:
        - dAppID
        - intentExecutionTypes
        - quoteRequest
    QuotesResponseV3DTO:
      type: object
      properties:
        data:
          description: Array of solver quote responses
          type: array
          items:
            $ref: '#/components/schemas/SolverQuoteV2ResponseDTO'
      required:
        - data
    QuoteRequestV3DTO:
      type: object
      properties:
        sourceChainID:
          type: number
          description: Chain ID of the source network where tokens will be sent from
          example: 1
        destinationChainID:
          type: number
          description: Chain ID of the destination network where tokens will be received
          example: 42161
        sourceToken:
          type: string
          description: Contract address of the token being sent on the source chain
          example: '0xA0b86a33E6441e45C3b9d1C3D6a0b5be4b7b5b5a'
        destinationToken:
          type: string
          description: >-
            Contract address of the token to be received on the destination
            chain
          example: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8'
        sourceAmount:
          type: string
          description: >-
            Amount of source tokens to send, specified as a string
            representation of a bigint
          example: '1000000'
        funder:
          type: string
          description: Address that will provide the tokens and pay for the transaction
          example: '0x742d35Cc6527C92b4A1F3a2a8b1c9b3e8c4c5b2a'
        refundRecipient:
          type: string
          description: >-
            Address to receive refunds if the intent fails (defaults to funder
            if not specified)
          example: '0x742d35Cc6527C92b4A1F3a2a8b1c9b3e8c4c5b2a'
        recipient:
          type: string
          description: Address that will receive the tokens on the destination chain
          example: '0x8Ba1c0a8B4A4b9e8A9f1a6B7c8d9e0F1234567890'
      required:
        - sourceChainID
        - destinationChainID
        - sourceToken
        - destinationToken
        - sourceAmount
        - funder
        - recipient
    QuotesV3RequestContractsDTO:
      type: object
      properties:
        sourcePortal:
          type: string
          description: >-
            Contract address for the intent source (where intents are created
            and managed)
          example: '0x1234567890abcdef1234567890abcdef12345678'
        destinationPortal:
          type: string
          description: >-
            Contract address for the inbox (receives and processes cross-chain
            messages)
          example: '0x567890abcdef1234567890abcdef1234567890ab'
        prover:
          type: string
          description: >-
            Contract address for the prover (handles cross-chain proof
            verification)
          example: '0xabcdef1234567890abcdef1234567890abcdef12'
    SolverQuoteV2ResponseDTO:
      type: object
      properties:
        quoteID:
          type: string
        solverID:
          type: string
        receiveSignedIntentUrl:
          type: string
        quoteData:
          $ref: '#/components/schemas/SolverQuoteDataV2DTO'
      required:
        - quoteID
        - solverID
        - receiveSignedIntentUrl
        - quoteData
    SolverQuoteDataV2DTO:
      type: object
      properties:
        quoteResponse:
          description: >-
            Detailed quote information including tokens, amounts, fees, and
            timing
          allOf:
            - $ref: '#/components/schemas/QuoteResponseDataV3DTO'
        contracts:
          description: Contract addresses required for executing this cross-chain swap
          allOf:
            - $ref: '#/components/schemas/QuoteV3ResponseContractsDTO'
      required:
        - contracts
    QuoteResponseDataV3DTO:
      type: object
      properties:
        intentExecutionType:
          type: string
          enum:
            - SELF_PUBLISH
            - GASLESS
          description: The execution type for this quote entry
          example: SELF_PUBLISH
        sourceChainID:
          type: number
          description: Chain ID of the source network where tokens will be sent from
          example: 1
        destinationChainID:
          type: number
          description: Chain ID of the destination network where tokens will be received
          example: 42161
        sourceToken:
          type: string
          description: Contract address of the token being sent on the source chain
          example: '0xA0b86a33E6441e45C3b9d1C3D6a0b5be4b7b5b5a'
        destinationToken:
          type: string
          description: >-
            Contract address of the token to be received on the destination
            chain
          example: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8'
        sourceAmount:
          type: string
          description: >-
            Amount of source tokens to send, as a string representation of a
            bigint
          example: '1000000'
        destinationAmount:
          type: string
          description: >-
            Amount of destination tokens to be received, as a string
            representation of a bigint
          example: '995000'
        funder:
          type: string
          description: Address that will provide the tokens and pay for the transaction
          example: '0x742d35Cc6527C92b4A1F3a2a8b1c9b3e8c4c5b2a'
        refundRecipient:
          type: string
          description: Address to receive refunds if the intent fails
          example: '0x742d35Cc6527C92b4A1F3a2a8b1c9b3e8c4c5b2a'
        recipient:
          type: string
          description: Address that will receive the tokens on the destination chain
          example: '0x8Ba1c0a8B4A4b9e8A9f1a6B7c8d9e0F1234567890'
        fees:
          description: >-
            Array of fees that will be charged for executing this cross-chain
            swap
          type: array
          items:
            $ref: '#/components/schemas/FeeV3DTO'
        deadline:
          type: number
          description: >-
            Unix timestamp (in seconds) after which this quote expires and
            cannot be executed
          example: 1672531200
        estimatedFulfillTimeSec:
          type: number
          description: Estimated time in seconds for the cross-chain swap to be completed
          example: 300
        encodedRoute:
          type: string
          description: ABI-encoded route data for onchain intent execution
          example: >-
            0x00000000000000000000000000000000000000000000000000000000000000202810ea6d0860ce5315ef2b62b1b580f2b4ef158b76a6ea8f8982600c130e55e70000000000000000000000000000000000000000000000000000000068e56fa2000000000000000000000000b5e58a8206473dc3ab9b8d4d3b0f84c0ba68f8b5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000833589fcd6edb6e082dc7c32d4f71b54bda0291300000000000000000000000000000000000000000000000000000000004bd61000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000002b2c52b1b63c4bfc7f16910a1734641d8e34de6200000000000000000000000000000000000000000000000000000000004bd61000000000000000000000000000000000000000000000000000000000
      required:
        - intentExecutionType
        - sourceChainID
        - destinationChainID
        - sourceToken
        - destinationToken
        - sourceAmount
        - destinationAmount
        - funder
        - refundRecipient
        - recipient
        - fees
        - deadline
        - estimatedFulfillTimeSec
        - encodedRoute
    QuoteV3ResponseContractsDTO:
      type: object
      properties:
        sourcePortal:
          type: string
          description: >-
            Contract address for the intent source (where intents are created
            and managed)
          example: '0x1234567890abcdef1234567890abcdef12345678'
        destinationPortal:
          type: string
          description: >-
            Contract address for the inbox (receives and processes cross-chain
            messages)
          example: '0x567890abcdef1234567890abcdef1234567890ab'
        prover:
          type: string
          description: >-
            Contract address for the prover (handles cross-chain proof
            verification)
          example: '0xabcdef1234567890abcdef1234567890abcdef12'
      required:
        - sourcePortal
        - destinationPortal
        - prover
    FeeV3DTO:
      type: object
      properties:
        name:
          type: string
          description: Name identifier for the fee type
          example: Solver Fee
        description:
          type: string
          description: Human-readable description of what this fee covers
          example: Fee paid to the solver for executing the cross-chain swap
        token:
          description: Token information for the fee payment
          allOf:
            - $ref: '#/components/schemas/TokenInfoV3DTO'
        amount:
          type: string
          description: Fee amount as a string representation of a bigint
          example: '1000'
      required:
        - name
        - description
        - token
        - amount
    TokenInfoV3DTO:
      type: object
      properties:
        address:
          type: string
          description: Contract address of the token
          example: '0xA0b86a33E6441e45C3b9d1C3D6a0b5be4b7b5b5a'
        decimals:
          type: number
          description: Number of decimal places for the token
          example: 6
        symbol:
          type: string
          description: Token symbol or ticker
          example: USDC
      required:
        - address
        - decimals
        - symbol

````