Eco

Eco Quotes V3 API

The Quotes V3 API from Eco — 9 operation(s) for quotes v3.

Operations 9

POST /api/v3/intents/intentStatus Get Intent Status #
POST /api/v3/intents/status Get Intent Status Array #
POST /api/v3/intents/intentsByAddress Get Intents By Address #
POST /api/v3/intents/intentByHash Get Intent Activity By Hash #
POST /api/v3/intents/refundableIntents Get Refundable Intents #
POST /api/v3/quotes/exactOut Get Exact Out Quotes #
POST /api/v3/quotes/exactIn Get Exact In Quotes #
POST /api/v3/quotes/single Get Single Quote #
POST /api/v3/quotes/initiateGaslessIntent Initiate Gasless Intent #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eco-quotes-v3-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eco-quotes-v3-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eco Routes Quotes V1 Quotes V3 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
tags:
- name: Quotes V3
paths:
  /api/v3/intents/intentStatus:
    post:
      operationId: IntentsController_getIntentStatus
      summary: Get Intent Status
      description: 'Query the current status of a cross-chain intent transaction. Provide one of: intentHash, intentCreatedHash, or fulfillmentHash to track the intent''s progress through the execution lifecycle.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntentStatusRequestV3DTO'
      responses:
        '200':
          description: Successfully retrieved intent status and transaction details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentStatusResponseV3DTO'
      tags:
      - Quotes V3
  /api/v3/intents/status:
    post:
      operationId: IntentsController_getIntentStatusArray
      summary: Get Intent Status Array
      description: 'Query the status of multiple intents created in the same transaction. Returns an array of intent statuses ordered by creation event log index. Provide one of: intentHash, intentCreatedHash, or fulfillmentHash. Limited to 100 results.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntentStatusRequestV3DTO'
      responses:
        '200':
          description: Successfully retrieved array of intent statuses ordered by log index
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentStatusArrayResponseV3DTO'
        '404':
          description: No intents found matching the search criteria
      tags:
      - Quotes V3
  /api/v3/intents/intentsByAddress:
    post:
      operationId: IntentsController_getIntentsByAddress
      summary: Get Intents By Address
      description: Query intents by creator/funder addresses across EVM, Solana, and Tron chains. Supports pagination and date range filtering. At least one address array must be provided.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntentsByAddressRequestV3DTO'
      responses:
        '200':
          description: Successfully retrieved intents for the provided addresses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentsResponseV3DTO'
      tags:
      - Quotes V3
  /api/v3/intents/intentByHash:
    post:
      operationId: IntentsController_getIntentByHash
      summary: Get Intent Activity By Hash
      description: Lookup an intent by its hash and return full activity details including lifecycle events (fulfillment, refund). Searches across EVM, Solana, and Tron chains.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntentByHashRequestV3DTO'
      responses:
        '200':
          description: Successfully retrieved intent activity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentByHashResponseV3DTO'
      tags:
      - Quotes V3
  /api/v3/intents/refundableIntents:
    post:
      operationId: IntentsController_getRefundableIntents
      summary: Get Refundable Intents
      description: Query refundable intents (expired without fulfillment or refund) by creator/funder addresses across EVM, Solana, and Tron chains. At least one address array must be provided.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundableIntentsRequestV3DTO'
      responses:
        '200':
          description: Successfully retrieved refundable intents for the provided addresses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentsResponseV3DTO'
      tags:
      - Quotes V3
  /api/v3/quotes/exactOut:
    post:
      operationId: QuotesV3Controller_getQuotes
      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.
      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'
      tags:
      - Quotes V3
  /api/v3/quotes/exactIn:
    post:
      operationId: QuotesV3Controller_getReverseQuotes
      summary: Get Exact In Quotes
      description: Retrieve exact in quotes from solvers for a given intent. Exact in quotes allow you to specify what you want to offer and get quotes for what will be received and can only have transfer calls.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuotesRequestV3DTO'
      responses:
        '201':
          description: Successfully retrieved exact in quotes from solvers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotesResponseV3DTO'
      tags:
      - Quotes V3
  /api/v3/quotes/single:
    post:
      operationId: QuotesV3Controller_createQuote
      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.
      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'
      tags:
      - Quotes V3
  /api/v3/quotes/initiateGaslessIntent:
    post:
      operationId: QuotesV3Controller_initiateGaslessIntent
      summary: Initiate Gasless Intent
      description: Submit a gasless intent transaction using a previously obtained quote. This endpoint initiates the gasless execution of an intent with the specified solver.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiateGaslessIntentV3DTO'
      responses:
        '201':
          description: Successfully initiated gasless intent transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiateGaslessIntentResponseV3DTO'
      tags:
      - Quotes V3
components:
  schemas:
    SourceTransferV3DTO:
      type: object
      properties:
        token:
          type: string
          description: Token address (use "0x" for native tokens)
          example: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount:
          type: string
          description: Token amount as string
          example: '1000000'
      required:
      - token
      - amount
    QuotesResponseV3DTO:
      type: object
      properties:
        data:
          description: Array of solver quote responses
          type: array
          items:
            $ref: '#/components/schemas/SolverQuoteV2ResponseDTO'
      required:
      - data
    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
    IntentStatusResponseV3DTO:
      type: object
      properties:
        data:
          description: Intent status response data
          allOf:
          - $ref: '#/components/schemas/IntentStatusV3DTO'
      required:
      - data
    SolverQuoteV2ResponseDTO:
      type: object
      properties:
        quoteID:
          type: string
        solverID:
          type: string
        receiveSignedIntentUrl:
          type: string
        quoteData:
          $ref: '#/components/schemas/SolverQuoteDataV2DTO'
      required:
      - quoteID
      - solverID
      - receiveSignedIntentUrl
      - quoteData
    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
    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'
    TokenAmountDataDTO:
      type: object
      properties:
        token:
          type: string
          description: Address of the ERC20 token contract
          example: '0xA0b86a33E6441446C1c3df4c64B739C7e4a81ec0'
        amount:
          type: string
          description: Token amount in smallest unit (wei for ETH, base units for ERC20 tokens)
          example: '1000000'
      required:
      - token
      - amount
    IntentActivityV3DTO:
      type: object
      properties:
        intentHash:
          type: string
          description: Intent hash (properly formatted with/without 0x prefix based on source chain)
          example: 0xabc123...
        sourceChainID:
          type: number
          description: Source chain ID where the intent was created
          example: 1399811149
        destinationChainID:
          type: number
          description: Destination chain ID where the intent will be fulfilled
          example: 8453
        creator:
          type: string
          description: Address that created the intent
          example: 0x123...
        funder:
          type: string
          description: Address that funded the intent (if different from creator)
          example: 0x456...
        recipient:
          type: string
          description: Destination address for the intent
          example: 0x789...
        deadline:
          type: number
          description: Unix timestamp when the intent expires and becomes refundable
          example: 1730000000
        createdAt:
          type: number
          description: Unix timestamp when the intent was created
          example: 1729500000
        version:
          type: string
          description: Intent version (from EVM indexer or "3.0.0-alpha.8" for Solana/Tron)
          example: 1.7.13
        params:
          type: object
          description: Raw intent parameters for frontend parsing
          example: {}
        createdTxHash:
          type: string
          description: Transaction hash of the intent creation
          example: 0xabc...
        contract:
          type: string
          description: Contract address that emitted the intent creation event
          example: 0xdef...
        isGasless:
          type: boolean
          description: Whether this is a gasless intent (funder is different from creator)
          example: true
        fulfillment:
          description: Fulfillment event details (if intent was fulfilled)
          allOf:
          - $ref: '#/components/schemas/EventInfoDTO'
        refund:
          description: Refund event details (if intent was refunded)
          allOf:
          - $ref: '#/components/schemas/EventInfoDTO'
      required:
      - intentHash
      - sourceChainID
      - destinationChainID
      - creator
      - deadline
      - createdAt
      - version
      - params
      - createdTxHash
      - contract
      - isGasless
    IntentByHashResponseV3DTO:
      type: object
      properties:
        data:
          description: Intent activity details
          allOf:
          - $ref: '#/components/schemas/IntentActivityV3DTO'
      required:
      - data
    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
    IntentsResponseV3DTO:
      type: object
      properties:
        data:
          description: Array of intents matching the request
          type: array
          items:
            $ref: '#/components/schemas/IntentActivityV3DTO'
      required:
      - data
    GaslessIntentExecutionResponseEntryDTO:
      type: object
      properties:
        chainID:
          type: number
          description: Chain ID where the gasless intent was executed
          example: 1
        quoteIDs:
          description: Array of quote IDs associated with this execution
          example:
          - quote_abc123def456
          - quote_ghi789jkl012
          type: array
          items:
            type: string
        transactionHash:
          type: string
          description: Transaction hash of the executed gasless intent
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
        error:
          type: object
          description: Error details if the gasless intent execution failed
          example:
            message: Insufficient balance
            code: INSUFFICIENT_FUNDS
      required:
      - chainID
      - quoteIDs
      - transactionHash
    RouteDataDTO:
      type: object
      properties:
        originChainID:
          type: string
          description: Chain ID where the intent originates
          example: '8453'
        destinationChainID:
          type: string
          description: Chain ID where the intent will be executed
          example: '10'
        inboxContract:
          type: string
          description: Address of the inbox contract on the destination chain
          example: '0x123abc456def789012345678901234567890abcd'
        tokens:
          description: Array of ERC20 tokens and amounts involved in the destination calls
          type: array
          items:
            $ref: '#/components/schemas/TokenAmountDataDTO'
        calls:
          description: Array of contract calls to be executed on the destination chain
          type: array
          items:
            $ref: '#/components/schemas/CallDataDTO'
        salt:
          type: string
          description: Salt for the intent (used when initiating gasless intents or publishing onchain, set to '0x0' for quote requests)
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
      required:
      - originChainID
      - destinationChainID
      - inboxContract
      - tokens
      - calls
    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
    IntentStatusV3DTO:
      type: object
      properties:
        intentHash:
          type: string
          description: Hash of the intent being tracked
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12'
        status:
          description: Current status and sub-status of the intent execution
          allOf:
          - $ref: '#/components/schemas/StatusV3DTO'
        intentCreated:
          description: Transaction details for when the intent was created
          allOf:
          - $ref: '#/components/schemas/TransactionInfoV3DTO'
        fulfillment:
          description: Transaction details for when the intent was fulfilled (if completed)
          allOf:
          - $ref: '#/components/schemas/TransactionInfoV3DTO'
        refund:
          description: Transaction details for when the intent was refunded (if refunded)
          allOf:
          - $ref: '#/components/schemas/TransactionInfoV3DTO'
      required:
      - intentHash
      - status
      - intentCreated
    IntentStatusWithMetadataV3DTO:
      type: object
      properties:
        intentHash:
          type: string
          description: Hash of the intent being tracked
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12'
        status:
          description: Current status and sub-status of the intent execution
          allOf:
          - $ref: '#/components/schemas/StatusV3DTO'
        intentData:
          description: Intent definition data including chain IDs, creator, deadline, and transfers
          allOf:
          - $ref: '#/components/schemas/IntentDataV3DTO'
        sendingTxs:
          description: Transactions that sent tokens on the source chain (intent creation). Transfers do not include recipients.
          example:
          - chainId: 42161
            timestamp: 1729163645
            txHash: '0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f'
            txLink: https://arbiscan.io/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f
            transfers:
            - token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
              amount: '1000000'
          type: array
          items:
            $ref: '#/components/schemas/TransactionWithTransfersV3DTO'
        receivingTxs:
          description: Transactions that received tokens on the destination chain (fulfillment or refund). Transfers always include recipients.
          example:
          - chainId: 10
            timestamp: 1729164000
            txHash: '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'
            txLink: https://optimistic.etherscan.io/tx/0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
            transfers:
            - token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
              amount: '1000000'
              recipient: '0x054968e2f376192c69b8f30870d450519ff77ac8'
          type: array
          items:
            $ref: '#/components/schemas/TransactionWithTransfersV3DTO'
      required:
      - intentHash
      - status
      - intentData
      - sendingTxs
      - receivingTxs
    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
    InitiateGaslessIntentV3DTO:
      type: object
      properties:
        intentGroupID:
          type: string
          description: Unique identifier of the group of intents being used
          example: group:01234567-89ab-cdef-0123-456789abcdef
        dAppID:
          type: string
          description: Identifier for the client application initiating the gasless intent
          example: my-dapp
        intentEntries:
          description: Array of intent request entries
          type: array
          items:
            $ref: '#/components/schemas/GaslessIntentRequestIntentEntryDTO'
        gaslessIntentData:
          description: Gasless intent configuration containing permit signatures and execution parameters
          allOf:
          - $ref: '#/components/schemas/GaslessIntentDataV3DTO'
      required:
      - intentGroupID
      - dAppID
      - intentEntries
      - gaslessIntentData
    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
    IntentStatusRequestV3DTO:
      type: object
      properties:
        intentHash:
          type: string
          description: Hash of the intent to query status for
        intentCreatedHash:
          type: string
          description: Transaction hash of the intent creation transaction
        fulfillmentHash:
          type: string
          description: Transaction hash of the intent fulfillment transaction
      oneOf:
      - required:
        - intentHash
      - required:
        - intentCreatedHash
      - required:
        - fulfillmentHash
    IntentStatusArrayResponseV3DTO:
      type: object
      properties:
        data:
          description: Array of intent statuses matching the search criteria (with log indexes and timestamps)
          type: array
          items:
            $ref: '#/components/schemas/IntentStatusWithMetadataV3DTO'
      required:
      - data
    CallDataDTO:
      type: object
      properties:
        target:
          type: string
          description: Address of the contract to call or recipient for native token transfers
          example: '0x742d35Cc6634C0532925a3b8D56C85e83F9D18Fa'
        data:
          type: string
          description: Encoded function call data or empty for native token transfers
          example: '0xa9059cbb000000000000000000000000742d35cc6634c0532925a3b8d56c85e83f9d18fa0000000000000000000000000000000000000000000000000000000000989680'
        value:
          type: string
          description: Native token value to send with the call (in wei)
          example: '0'
      required:
      - target
      - data
      - value
    RefundableIntentsRequestV3DTO:
      type: object
      properties:
        evmAddresses:
          description: Array of EVM addresses (0x...) to filter refundable intents by creator/funder
          example:
          - '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb'
          type: array
          items:
            type: string
        solanaAddresses:
          description: Array of Solana addresses (base58) to filter refundable intents by creator/funder
          example:
          - 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM
          type: array
          items:
            type: string
        tronAddresses:
          description: Array of Tron addresses (T...) to filter refundable intents by creator/funder
          example:
          - TYASr5UV6HEcXatwdFQfmLVUqQQQMUxHLS
          type: array
          items:
            type: string
    GaslessIntentDataV3DTO:
      type: object
      properties:
        permit3:
          description: Permit3 signature data for multi-chain token approvals
          allOf:
          - $ref: '#/components/schemas/Permit3DTO'
        allowPartial:
          type: boolean
          description: Whether to allow partial funding of the intent
          example: false
          default: false
      required:
      - permit3
    DestinationTransferV3DTO:
      type: object
      properties:
        token:
          type: string
          description: Token address (use "0x" for native tokens)
          example: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount:
          type: string
          description: Token amount as string
          example: '1000000'
        recipient:
          type: string
          description: Recipient address for this transfer
          example: '0x9876543210abcdef9876543210abcdef98765432'
      required:
      - token
      - amount
      - recipient
    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
    IntentDataV3DTO:
      type: object
      properties:
        sourceChainID:
          type: number
          description: Source chain ID where the intent was created
          example: 42161
        destinationChainID:
          type: number
          description: Destination chain ID where the intent will be fulfilled
          example: 167000
        creator:
          type: string
          description: Address that created the intent
          example: '0x1234567890abcdef1234567890abcdef12

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eco/refs/heads/main/openapi/eco-quotes-v3-api-openapi.yml