> ## 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 Single Quote

> Retrieve the best quote for a cross-chain single token swap. Returns detailed pricing, fees, contract addresses, and estimated fulfillment time for the requested swap. This endpoint should only be used for intents intended to be published onchain.



## OpenAPI

````yaml /openapi.json post /api/v3/quotes/single
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/single:
    post:
      tags:
        - Quotes V3
      summary: Get Single Quote
      description: >-
        Retrieve the best quote for a cross-chain single token swap. Returns
        detailed pricing, fees, contract addresses, and estimated fulfillment
        time for the requested swap. This endpoint should only be used for
        intents intended to be published onchain.
      operationId: QuotesV3Controller_createQuote
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SingleRequestV3DTO'
      responses:
        '200':
          description: Successfully retrieved quote with pricing and execution details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleResponseV3DTO'
components:
  schemas:
    SingleRequestV3DTO:
      type: object
      properties:
        dAppID:
          type: string
          description: Unique identifier for the client application making the request
          example: my-dapp
        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
        - quoteRequest
    SingleResponseV3DTO:
      type: object
      properties:
        data:
          description: Quote response data
          allOf:
            - $ref: '#/components/schemas/QuoteResponseV3DTO'
      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'
    QuoteResponseV3DTO:
      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

````