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

# Simulate already-built transactions (standalone)

> Standalone simulator that returns predicted output amounts and gas for transactions that are ALREADY built (from any source). This is NOT part of the routing flow and is NOT a prerequisite for `/shortcuts/route` — `route` already quotes internally and returns executable calldata in a single call. Do not call this before routing. Use it only to independently simulate/validate arbitrary transactions you already have.



## OpenAPI

````yaml /public/quoter-openapi.json post /api/v1/simulate
openapi: 3.1.0
info:
  title: Enso Quoter API
  description: API for quoting DeFi transactions
  contact:
    name: Enso Build
    url: https://enso.build
  license:
    name: ''
  version: 0.1.0
servers:
  - url: https://quoter.api.enso.build
security: []
tags:
  - name: quote
    description: Transaction quoting endpoints
paths:
  /api/v1/simulate:
    post:
      tags:
        - quote
      summary: Simulate already-built transactions (standalone)
      description: >-
        Standalone simulator that returns predicted output amounts and gas for
        transactions that are ALREADY built (from any source). This is NOT part
        of the routing flow and is NOT a prerequisite for `/shortcuts/route` —
        `route` already quotes internally and returns executable calldata in a
        single call. Do not call this before routing. Use it only to
        independently simulate/validate arbitrary transactions you already have.
      operationId: quote_many
      parameters:
        - name: x-request-id
          required: true
          in: header
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteManyRequest'
        required: true
      responses:
        '200':
          description: Quote successful
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Bad request
        '500':
          description: Internal server error
components:
  schemas:
    QuoteManyRequest:
      type: object
      description: Request to quote multiple transactions
      required:
        - chainId
        - transactions
        - tokenIn
        - tokenOut
        - amountIn
      properties:
        amountIn:
          type: array
          items:
            $ref: '#/components/schemas/DecimalU256'
          description: List of input amounts (as decimal strings)
        chainId:
          type: integer
          format: int64
          description: Chain ID (e.g., 1 for Ethereum mainnet)
          example: 1
          minimum: 0
        tokenIn:
          type: array
          items:
            type: string
          description: List of input token addresses
          example: '0xdac17f958d2ee523a2206206994597c13d831ec7'
        tokenOut:
          type: array
          items:
            type: string
          description: List of output token addresses
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/APITransaction'
          description: List of transactions to quote
    QuoteResponse:
      type: object
      description: Response from the quote endpoint
      required:
        - status
      properties:
        amountOut:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/DecimalU256'
          description: Output amounts for each output token (as decimal strings)
        error:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/QuoteError'
              description: Error details if the quote failed
        gas:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/DecimalU256'
              description: Estimated gas for the transaction
        stateOverride:
          type:
            - object
            - 'null'
          description: State override used for simulation
        status:
          $ref: '#/components/schemas/QuoteResponseStatus'
          description: Status of the quote (Success or Error)
    DecimalU256:
      type: string
      example: '1000000000000000000'
    APITransaction:
      type: object
      required:
        - data
        - value
        - to
        - from
      properties:
        data:
          type: string
          description: Transaction calldata
          example: '0x1234'
        executor:
          type:
            - string
            - 'null'
          description: Address that will execute the transaction
        from:
          type: string
          description: Sender address
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
        operationType:
          type:
            - integer
            - 'null'
          format: int32
          description: 'Operation type: 0 for Call, 1 for DelegateCall'
        origin:
          type:
            - string
            - 'null'
          description: Transaction origin address
        receiver:
          type:
            - string
            - 'null'
          description: Address that will receive the output tokens
        spender:
          type:
            - string
            - 'null'
          description: >-
            Address that needs to be approved on each tokenIn to perform
            simulation
        to:
          type: string
          description: Target contract address
          example: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D'
        value:
          $ref: '#/components/schemas/DecimalU256'
          description: Native token value to send with the transaction
    QuoteError:
      type: object
      required:
        - message
        - payload
      properties:
        message:
          type: string
        payload:
          $ref: '#/components/schemas/QuoteErrorPayload'
    QuoteResponseStatus:
      type: string
      enum:
        - Success
        - Error
    QuoteErrorPayload:
      oneOf:
        - type: object
          required:
            - payload
            - type
          properties:
            payload:
              $ref: '#/components/schemas/CallFailed'
            type:
              type: string
              enum:
                - CallFailed
        - type: object
          required:
            - payload
            - type
          properties:
            payload:
              $ref: '#/components/schemas/CallFailedWithDetails'
            type:
              type: string
              enum:
                - CallFailedWithDetails
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - CallReverted
        - type: object
          required:
            - payload
            - type
          properties:
            payload:
              $ref: '#/components/schemas/ShortcutFailed'
            type:
              type: string
              enum:
                - ShortcutFailed
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - DecodeError
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - ProviderError
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - UnkownError
    CallFailed:
      type: object
      required:
        - index
        - target
      properties:
        data:
          type:
            - string
            - 'null'
        index:
          type: string
        target:
          type: string
        value:
          type:
            - string
            - 'null'
    CallFailedWithDetails:
      type: object
      required:
        - call
        - simulation_batch
      properties:
        call:
          $ref: '#/components/schemas/CallFailed'
        state_override:
          type:
            - object
            - 'null'
    ShortcutFailed:
      type: object
      required:
        - call
        - command
        - simulation_batch
      properties:
        call:
          $ref: '#/components/schemas/CallFailed'
        command:
          $ref: '#/components/schemas/CommandFailed'
        state_override:
          type:
            - object
            - 'null'
    CommandFailed:
      type: object
      required:
        - index
        - target
      properties:
        arguments:
          type:
            - array
            - 'null'
          items:
            type: string
        command:
          type:
            - string
            - 'null'
        index:
          type: string
        signature:
          type:
            - string
            - 'null'
        target:
          type: string

````