> ## 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.

# Post apiv2quotereverse



## OpenAPI

````yaml /solver_openapi.json post /api/v2/quote/reverse
openapi: 3.0.0
info:
  title: Solver API
  description: The api for the solver queries
  version: '0.1'
  contact: {}
servers: []
security: []
tags:
  - name: solver
    description: ''
paths:
  /api/v2/quote/reverse:
    post:
      tags:
        - QuoteV2
      operationId: QuoteV2Controller_getReverseQuote
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteV2RequestDTO'
      responses:
        '201':
          description: ''
components:
  schemas:
    QuoteV2RequestDTO:
      type: object
      properties:
        quoteID:
          type: string
          description: Unique identifier for the quote request
          example: quote:966ee977-586b-4bca-abf1-e7def508a19c
        dAppID:
          type: string
        intentExecutionTypes:
          type: array
          description: Array of intent execution types to fetch quotes for
          example:
            - SELF_PUBLISH
          items:
            type: string
            enum:
              - SELF_PUBLISH
              - GASLESS
        quoteRequest:
          $ref: '#/components/schemas/QuoteV2QuoteRequestDTO'
        contracts:
          $ref: '#/components/schemas/QuoteV2ContractsRequestDTO'
        gaslessIntentData:
          description: >-
            Optional gasless intent data containing permit signatures for token
            approvals and execution configuration
          allOf:
            - $ref: '#/components/schemas/GaslessIntentDataV2DTO'
      required:
        - quoteID
        - dAppID
        - intentExecutionTypes
        - quoteRequest
    QuoteV2QuoteRequestDTO:
      type: object
      properties:
        sourceChainID:
          type: number
        destinationChainID:
          type: number
        sourceToken:
          type: string
        destinationToken:
          type: string
        sourceAmount:
          type: string
        funder:
          type: string
        refundRecipient:
          type: string
        recipient:
          type: string
      required:
        - sourceChainID
        - destinationChainID
        - sourceToken
        - destinationToken
        - sourceAmount
        - funder
        - recipient
    QuoteV2ContractsRequestDTO:
      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'
    GaslessIntentDataV2DTO:
      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
    Permit3DTO:
      type: object
      properties:
        chainId:
          type: number
          description: The original chain ID where the request is being signed or executed
          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 used for EIP-712 signature and nonce tracking
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
        signature:
          type: string
          description: EIP-712 cryptographic signature from the token owner
          example: >-
            0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1b
        deadline:
          format: int64
          type: integer
          description: Expiration timestamp for the permit signature (uint48)
          example: 1699999999
        timestamp:
          type: number
          description: Unix timestamp when the permit was created (uint48)
          example: 1699988888
        merkleRoot:
          type: string
          description: Merkle root hash representing all chain permit leaves
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd'
        leaves:
          description: >-
            Optional array of Merkle tree leaves (hashed ChainPermits), useful
            for client-side debugging or proof regeneration
          example:
            - '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'
            - '0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321'
          type: array
          items:
            type: string
        allowanceOrTransfers:
          description: >-
            Flattened list of all permits across chains used to construct
            ChainPermits and Merkle tree leaves
          type: array
          items:
            $ref: '#/components/schemas/AllowanceOrTransferDTO'
      required:
        - chainId
        - permitContract
        - owner
        - salt
        - signature
        - deadline
        - timestamp
        - merkleRoot
        - leaves
        - allowanceOrTransfers
    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 transfer (0) or expiration timestamp for allowance update
          example: 0
        tokenKey:
          type: string
          description: >-
            Encoded tokenKey (ERC20: padded address, NFT: hash of token +
            tokenId)
          example: '0x000000000000000000000000a0b86a33e6441b8ec2c8c7e5b0d77d5fdda0c4e4'
        account:
          type: string
          description: Account address receiving the allowance or transfer
          example: '0x742d35cc6634c0532925a3b8b0eff6a2db3b51a'
        amountDelta:
          format: int64
          type: integer
          description: Amount delta for the allowance or transfer (in wei)
          example: '1000000000000000000'
      required:
        - chainID
        - modeOrExpiration
        - tokenKey
        - account
        - amountDelta

````