openapi: 3.0.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: 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: '0x1234567890abcdef1234567890abcdef12345678' refundRecipient: type: string description: Address that received the refund (only set when intent has been refunded) example: '0x1234567890abcdef1234567890abcdef12345678' 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 sourceTransfers: description: Array of reward token transfers (what the prover receives from the creator). Does not include recipients. example: - token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' amount: '1000000' type: array items: $ref: '#/components/schemas/SourceTransferV3DTO' destinationTransfers: description: Array of destination transfers (tokens and recipients on the destination chain). Always includes recipients. example: - token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' amount: '1000000' recipient: '0x054968e2f376192c69b8f30870d450519ff77ac8' type: array items: $ref: '#/components/schemas/DestinationTransferV3DTO' required: - sourceChainID - destinationChainID - creator - deadline - createdAt - sourceTransfers - destinationTransfers TransactionInfoV3DTO: type: object properties: chainId: type: number description: Chain ID where this transaction occurred example: 1 transactionHash: type: string description: Hash of the transaction example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12' blockExplorerUrl: type: string description: URL to view this transaction on a block explorer example: https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12 required: - chainId - transactionHash - blockExplorerUrl 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 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 IntentByHashRequestV3DTO: type: object properties: intentHash: type: string description: Intent hash to look up example: 0xabc123... required: - intentHash Permit3DTO: type: object properties: chainId: type: number description: The original chain ID from the signature example: 1 permitContract: type: string description: Address of the Permit3 contract example: '0x1234567890123456789012345678901234567890' owner: type: string description: Owner address of the tokens being permitted example: '0x0987654321098765432109876543210987654321' salt: type: string description: Unique salt value for the permit signature example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' signature: type: string description: Cryptographic signature for the permit example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1b' deadline: type: string description: Expiration timestamp for the permit signature example: '1234567890' timestamp: type: number description: Unix timestamp when the permit was created example: 1234567890 merkleRoot: type: string description: Merkle root hash representing all chain permit leaves example: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd' leaves: description: Array of merkle tree leaf hashes for multi-chain permits example: - '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab' - '0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321' type: array items: type: string allowanceOrTransfers: description: Array of allowance or transfer data organized by chain for multi-chain permits type: array items: $ref: '#/components/schemas/AllowanceOrTransferDTO' required: - chainId - permitContract - owner - salt - signature - deadline - timestamp - merkleRoot - leaves - allowanceOrTransfers 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 IntentsByAddressRequestV3DTO: type: object properties: evmAddresses: description: Array of EVM addresses (0x...) to filter intents by creator/funder example: - '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb' type: array items: type: string solanaAddresses: description: Array of Solana addresses (base58) to filter intents by creator/funder example: - 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM type: array items: type: string tronAddresses: description: Array of Tron addresses (T...) to filter intents by creator/funder example: - TYASr5UV6HEcXatwdFQfmLVUqQQQMUxHLS type: array items: type: string startTimestamp: type: number description: 'Start timestamp (Unix seconds) for date range filter (default: 7 days ago)' example: 1704067200 endTimestamp: type: number description: 'End timestamp (Unix seconds) for date range filter (default: now)' example: 1704153600 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 IntentByHashResponseV3DTO: type: object properties: data: description: Intent activity details allOf: - $ref: '#/components/schemas/IntentActivityV3DTO' required: - data 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 InitiateGaslessIntentResponseV3DTO: type: object properties: data: description: Gasless intent execution response data allOf: - $ref: '#/components/schemas/GaslessIntentExecutionResponseDTO' required: - data SingleResponseV3DTO: type: object properties: data: description: Quote response data allOf: - $ref: '#/components/schemas/QuoteResponseV3DTO' 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 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 TransactionWithTransfersV3DTO: type: object properties: chainId: type: number description: Chain ID where this transaction occurred example: 42161 timestamp: type: number description: Unix timestamp of the transaction example: 1729163645 txHash: type: string description: Transaction hash example: '0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f' txLink: type: string description: Block explorer URL for this transaction example: https://arbiscan.io/tx/0xe1ffdcf09d5aa92a2d89b1b39db3f8cadf09428a296cce0d5e387595ac83d08f transfers: type: array description: Token transfers associated with this transaction. Source transfers (sendingTxs) do not include recipients. Destination transfers (receivingTxs) include recipients. items: oneOf: - $ref: '#/components/schemas/SourceTransferV3DTO' - $ref: '#/components/schemas/DestinationTransferV3DTO' example: - token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' amount: '1000000' recipient: '0x054968e2f376192c69b8f30870d450519ff77ac8' required: - chainId - timestamp - txHash - txLink - transfers 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 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 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 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 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 RewardDataDTO: type: object properties: creator: type: string description: Address of the user creating this intent, this will be the recipient of a refund if the intent expires example: '0x742d35Cc6634C0532925a3b8D56C85e83F9D18Fa' proverContract: type: string description: Address of the prover contract that validates intent execution example: '0x1234567890abcdef1234567890abcdef12345678' deadline: type: string description: Unix timestamp deadline for when this intent expires (in seconds) example: '1699123456' nativeValue: type: string description: Native token amount offered (in wei) example: '0' tokens: description: Array of ERC20 tokens and amounts offered on the origin chain for fulfilling the intent type: array items: $ref: '#/components/schemas/TokenAmountDataDTO' required: - creator - proverContract - deadline - nativeValue - tokens QuotesResponseV3DTO: type: object properties: data: description: Array of solver quote responses type: array items: $ref: '#/components/schemas/SolverQuoteV2ResponseDTO' required: - data 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 GaslessIntentRequestIntentEntryDTO: type: object properties: routeData: description: Route configuration specifying source and destination chains and transfer details allOf: - $ref: '#/components/schemas/RouteDataDTO' rewardData: description: Reward configuration defining tokens and amounts offered to solvers for executing the intent allOf: - $ref: '#/components/schemas/RewardDataDTO' quoteID: type: string description: Unique identifier of the quote being used to initiate the gasless intent example: quote:01234567-89ab-cdef-0123-456789abcdef solverID: type: string description: Address of the solver that provided the quote example: '0x742d35Cc6634C0532925a3b8D56C85e83F9D18Fa' salt: type: string required: - routeData - rewardData - quoteID - solverID - salt 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 IntentsResponseV3DTO: type: object properties: data: description: Array of intents matching the request type: array items: $ref: '#/components/schemas/IntentActivityV3DTO' required: - data 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 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 StatusV3DTO: type: object properties: status: type: string enum: - Pending - Completed description: High-level status of the intent (Pending or Completed) example: Pending subStatus: type: string enum: - WaitingToFulfill - WaitingForRefund - Fulfilled - Refunded description: Detailed status indicating the specific stage of intent execution example: WaitingToFulfill subStatusMessage: type: string description: Human-readable description of the substatus example: The intent is waiting to be fulfilled required: - status - subStatus - subStatusMessage SolverQuoteV2ResponseDTO: type: object properties: quoteID: type: string solverID: type: string receiveSignedIntentUrl: type: string quoteData: $ref: '#/components/schemas/SolverQuoteDataV2DTO' required: - quoteID - solverID - receiveSignedIntentUrl - quoteData 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 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' GaslessIntentExecutionResponseDTO: type: object properties: successes: description: Array of successfully initiated gasless intent executions type: array items: $ref: '#/components/schemas/GaslessIntentExecutionResponseEntryDTO' failures: description: Array of failed gasless intent execution attempts with error details type: array items: $ref: '#/components/schemas/GaslessIntentExecutionResponseEntryDTO' required: - successes - failures IntentStatusResponseV3DTO: type: object properties: data: description: Intent status response data allOf: - $ref: '#/components/schemas/IntentStatusV3DTO' required: - data AllowanceOrTransferDTO: type: object properties: chainID: type: number description: The chain ID where the allowance or transfer occurs example: 1 modeOrExpiration: type: number description: Mode for allowance (0) or expiration timestamp for transfer example: 0 tokenKey: type: string description: Token contract address example: '0xA0b86a33E6441B8Ec2c8C7E5b0d77D5FdDa0c4E4' account: type: string description: Account address for the allowance or transfer example: '0x742d35cc6634c0532925a3b8b0eff6a2db3b51a' amountDelta: type: string description: Amount delta for the allowance or transfer (in wei) example: '1000000000000000000' required: - chainID - modeOrExpiration - tokenKey - account - amountDelta 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 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 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 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 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 EventInfoDTO: type: object properties: txHash: type: string description: Transaction hash of the event example: 0x1234567890abcdef... timestamp: type: number description: Unix timestamp when the event occurred example: 1729600000 chainID: type: number description: Chain ID where the event occurred example: 8453 required: - txHash - timestamp - chainID