---
title: "Simulate multiple transactions in a single quoter call"
method: POST
path: "/api/v1/simulate/batch"
tags: ["quote"]
---

# Simulate multiple transactions in a single quoter call

`POST /api/v1/simulate/batch`

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

## Headers

- `x-request-id` string, required

## Request body

- SimulateBatchRequest
  - `chainId` number, required — Chain ID
  - `transactions` TransactionDto[], required — Transactions to simulate in a single quoter call. All transactions share the same tokenIn, tokenOut, and amountIn.
    - `data` string, required — Calldata
    - `value` string, required — Value in wei (decimal or 0x string)
    - `to` string, required — Target contract address
    - `from` string, required — Sender address
    - `operationType` number — 0 = Call, 1 = DelegateCall
    - `receiver` string — Token receiver address
    - `spender` string — Address that needs to be approved on each tokenIn to perform simulation
    - `executor` string — Contract executor address
    - `origin` string — Original caller address
    - `authorityDelegate` string — Delegation authority address
    - `initCode` string — Init code for contract creation
  - `tokenIn` string[], required — Input token addresses (shared across all transactions)
  - `tokenOut` string[], required — Output token addresses (shared across all transactions)
  - `amountIn` string[], required — Input amounts in wei (decimal or 0x strings, shared across all transactions)

## Response `200`

- SimulateBatchResponse
  - `chainId` number, required — Chain ID
  - `results` SimulateResponse[], required — One result per input transaction, in the same order. Each item has its own simulationId for use with /validate.
    - `simulationId` string, required — Unique simulation identifier
    - `chainId` number, required — Chain ID
    - `result` SimulateResultDto, required
      - `status` 'Success' | 'Error', required
      - `amountOut` string[] — Output amounts in wei
      - `gas` string — Gas used
      - `error` object — Error details

---

[API](https://skmtc.dev/enso/apis/enso-api.md) · [All operations](https://skmtc.dev/enso/apis/enso-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/enso/enso-api/revisions/249f471fdafd/schema)
