# Simulates a raw transaction or transaction group as it would be evaluated on the network. The simulation will use blockchain state from the latest committed round.

**POST**

**/v2/transactions/simulate**

## Authorizations

- **[api_key](https://dev.algorand.co/reference/rest-api/algod/#api_key)**

## Parameters

### Query Parameters

**format**  
string  
Allowed values:  json  msgpack  
Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.

## Request Body required

The transactions to simulate, along with any other inputs.

Select media typeapplication/jsonapplication/msgpack

Request type for simulation endpoint.

object

**allow-empty-signatures**  
Allows transactions without signatures to be simulated as if they had correct signatures.  
boolean

**allow-more-logging**  
Lifts limits on log opcode usage during simulation.  
boolean

**allow-unnamed-resources**  
Allows access to unnamed resources during simulation.  
boolean

**exec-trace-config**  
An object that configures simulation execution trace.  
object

**enable**  
A boolean option for opting in execution trace features simulation endpoint.  
boolean

**scratch-change**  
A boolean option enabling returning scratch slot changes together with execution trace during simulation.  
boolean

**stack-change**  
A boolean option enabling returning stack changes together with execution trace during simulation.  
boolean

**state-change**  
A boolean option enabling returning application state changes (global, local, and box changes) with the execution trace during simulation.  
boolean

**extra-opcode-budget**  
Applies extra opcode budget during simulation for each transaction group.  
integer

**fix-signers**  
If true, signers for transactions that are missing signatures will be fixed during evaluation.  
boolean

**round**  
If provided, specifies the round preceding the simulation. State changes through this round will be used to run this simulation. Usually only the 4 most recent rounds will be available (controlled by the node config value MaxAcctLookback). If not specified, defaults to the latest available round.  
integer

**txn-groups**  
required  
The transaction groups to simulate.  
Array<object>

**txns**  
required  
An atomic transaction group.  
Array<string>

## Responses

### 200

Result of a transaction group simulation.

Select media typeapplication/jsonapplication/msgpack

object

**eval-overrides**  
The set of parameters and limits override during simulation. If this set of parameters is present, then evaluation parameters may differ from standard evaluation in certain ways.  
object

**allow-empty-signatures**  
If true, transactions without signatures are allowed and simulated as if they were properly signed.  
boolean

**allow-unnamed-resources**  
If true, allows access to unnamed resources during simulation.  
boolean

**extra-opcode-budget**  
The extra opcode budget added to each transaction group during simulation  
integer

**fix-signers**  
If true, signers for transactions that are missing signatures will be fixed during evaluation.  
boolean

**max-log-calls**  
The maximum log calls one can make during simulation  
integer

**max-log-size**  
The maximum byte number to log during simulation  
integer

**exec-trace-config**  
An object that configures simulation execution trace.  
object

**enable**  
A boolean option for opting in execution trace features simulation endpoint.  
boolean

**scratch-change**  
A boolean option enabling returning scratch slot changes together with execution trace during simulation.  
boolean

**stack-change**  
A boolean option enabling returning stack changes together with execution trace during simulation.  
boolean

**initial-states**  
Initial states of resources that were accessed during simulation.  
object

**app-initial-states**  
The initial states of accessed application before simulation. The order of this array is arbitrary.  
Array<object>

**app-boxes**  
An application’s global/local/box state.  
object

**account**  
The address of the account associated with the local state.  
string

**kvs**  
required  
Key-Value pairs representing application states.  
Array<object>

### 400

Bad Request

Select media typeapplication/jsonapplication/msgpack

An error response with optional data field.

object

**data**  
object

**message**  
required  
string

### 401  
Invalid API Token

Select media typeapplication/jsonapplication/msgpack

An error response with optional data field.

object

**data**  
object

**message**  
required  
string

### 500

Internal Error

Select media typeapplication/jsonapplication/msgpack

An error response with optional data field.

object

**data**  
object

**message**  
required  
string

### 503

Service Temporarily Unavailable

Select media typeapplication/jsonapplication/msgpack

An error response with optional data field.

object

**data**  
object

**message**  
required  
string

### default

Unknown Error
