> ## 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 multiple transactions in a single quoter call

> Standalone batch simulator that returns predicted output amounts and gas for up to 5 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. All transactions share the same tokenIn, tokenOut, and amountIn. Returns one simulationId per transaction for use with `/validate`.



## OpenAPI

````yaml /public/quoter-openapi.json post /api/v1/simulate/batch
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/batch:
    post:
      tags:
        - quote
      summary: Simulate multiple transactions in a single quoter call
      description: >-
        Standalone batch simulator that returns predicted output amounts and gas
        for up to 5 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. All transactions share the same tokenIn, tokenOut, and
        amountIn. Returns one simulationId per transaction for use with
        `/validate`.
      operationId: SimulateController_simulateBatch
      parameters:
        - name: x-request-id
          required: true
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimulateBatchRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimulateBatchResponse'
components:
  schemas:
    SimulateBatchRequest:
      type: object
      properties:
        chainId:
          type: number
          description: Chain ID
          example: 1
        transactions:
          description: >-
            Transactions to simulate in a single quoter call. All transactions
            share the same tokenIn, tokenOut, and amountIn.
          type: array
          items:
            $ref: '#/components/schemas/TransactionDto'
        tokenIn:
          description: Input token addresses (shared across all transactions)
          example:
            - '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE'
          type: array
          items:
            type: string
        tokenOut:
          description: Output token addresses (shared across all transactions)
          example:
            - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          type: array
          items:
            type: string
        amountIn:
          description: >-
            Input amounts in wei (decimal or 0x strings, shared across all
            transactions)
          example:
            - '1000000000000000000'
          type: array
          items:
            type: string
      required:
        - chainId
        - transactions
        - tokenIn
        - tokenOut
        - amountIn
    SimulateBatchResponse:
      type: object
      properties:
        chainId:
          type: number
          description: Chain ID
        results:
          description: >-
            One result per input transaction, in the same order. Each item has
            its own simulationId for use with /validate.
          type: array
          items:
            $ref: '#/components/schemas/SimulateResponse'
      required:
        - chainId
        - results
    TransactionDto:
      type: object
      properties:
        data:
          type: string
          description: Calldata
          example: '0xabcdef'
        value:
          type: string
          description: Value in wei (decimal or 0x string)
          example: '1000000000000000000'
        to:
          type: string
          description: Target contract address
          example: '0x80EbA3855878739F4710233A8a19d89Bdd2ffB8E'
        from:
          type: string
          description: Sender address
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
        operationType:
          type: number
          description: 0 = Call, 1 = DelegateCall
        receiver:
          type: string
          description: Token receiver address
        spender:
          type: string
          description: >-
            Address that needs to be approved on each tokenIn to perform
            simulation
        executor:
          type: string
          description: Contract executor address
        origin:
          type: string
          description: Original caller address
        authorityDelegate:
          type: string
          description: Delegation authority address
        initCode:
          type: string
          description: Init code for contract creation
      required:
        - data
        - value
        - to
        - from
    SimulateResponse:
      type: object
      properties:
        simulationId:
          type: string
          description: Unique simulation identifier
        chainId:
          type: number
          description: Chain ID
        result:
          description: Simulation result
          allOf:
            - $ref: '#/components/schemas/SimulateResultDto'
      required:
        - simulationId
        - chainId
        - result
    SimulateResultDto:
      type: object
      properties:
        status:
          type: string
          enum:
            - Success
            - Error
        amountOut:
          description: Output amounts in wei
          type: array
          items:
            type: string
        gas:
          type: string
          description: Gas used
        error:
          type: object
          description: Error details
      required:
        - status

````