Simulate

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
Authorizations
Query parameters
formatstring · enumOptional

Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.

Possible values:
Body

Request type for simulation endpoint.

allow-empty-signaturesbooleanOptional

Allows transactions without signatures to be simulated as if they had correct signatures.

allow-more-loggingbooleanOptional

Lifts limits on log opcode usage during simulation.

allow-unnamed-resourcesbooleanOptional

Allows access to unnamed resources during simulation.

extra-opcode-budgetintegerOptional

Applies extra opcode budget during simulation for each transaction group.

roundintegerOptional

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.

Responses
200
Result of a transaction group simulation.
post
POST /v2/transactions/simulate HTTP/1.1
Host: algo.nownodes.io
X-Algo-API-Token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 253

{
  "allow-empty-signatures": true,
  "allow-more-logging": true,
  "allow-unnamed-resources": true,
  "exec-trace-config": {
    "enable": true,
    "scratch-change": true,
    "stack-change": true,
    "state-change": true
  },
  "extra-opcode-budget": 1,
  "round": 1,
  "txn-groups": [
    {
      "txns": [
        "text"
      ]
    }
  ]
}
{
  "eval-overrides": {
    "allow-empty-signatures": true,
    "allow-unnamed-resources": true,
    "extra-opcode-budget": 1,
    "max-log-calls": 1,
    "max-log-size": 1
  },
  "exec-trace-config": {
    "enable": true,
    "scratch-change": true,
    "stack-change": true,
    "state-change": true
  },
  "initial-states": {
    "app-initial-states": [
      {
        "app-boxes": {
          "account": "text",
          "kvs": [
            {
              "key": "Ynl0ZXM=",
              "value": {
                "bytes": "Ynl0ZXM=",
                "type": 1,
                "uint": 1
              }
            }
          ]
        },
        "app-globals": {
          "account": "text",
          "kvs": [
            {
              "key": "Ynl0ZXM=",
              "value": {
                "bytes": "Ynl0ZXM=",
                "type": 1,
                "uint": 1
              }
            }
          ]
        },
        "app-locals": [
          {
            "account": "text",
            "kvs": [
              {
                "key": "Ynl0ZXM=",
                "value": {
                  "bytes": "Ynl0ZXM=",
                  "type": 1,
                  "uint": 1
                }
              }
            ]
          }
        ],
        "id": 1
      }
    ]
  },
  "last-round": 1,
  "txn-groups": [
    {
      "app-budget-added": 1,
      "app-budget-consumed": 1,
      "failed-at": [
        1
      ],
      "failure-message": "text",
      "txn-results": [
        {
          "app-budget-consumed": 1,
          "exec-trace": {
            "approval-program-hash": "Ynl0ZXM=",
            "approval-program-trace": [
              {
                "pc": 1,
                "scratch-changes": [
                  {
                    "new-value": {
                      "bytes": "Ynl0ZXM=",
                      "type": 1,
                      "uint": 1
                    },
                    "slot": 1
                  }
                ],
                "spawned-inners": [
                  1
                ],
                "stack-additions": [
                  {
                    "bytes": "Ynl0ZXM=",
                    "type": 1,
                    "uint": 1
                  }
                ],
                "stack-pop-count": 1,
                "state-changes": [
                  {
                    "account": "text",
                    "app-state-type": "text",
                    "key": "Ynl0ZXM=",
                    "new-value": {
                      "bytes": "Ynl0ZXM=",
                      "type": 1,
                      "uint": 1
                    },
                    "operation": "text"
                  }
                ]
              }
            ],
            "clear-state-program-hash": "Ynl0ZXM=",
            "clear-state-program-trace": [
              {
                "pc": 1,
                "scratch-changes": [
                  {
                    "new-value": {
                      "bytes": "Ynl0ZXM=",
                      "type": 1,
                      "uint": 1
                    },
                    "slot": 1
                  }
                ],
                "spawned-inners": [
                  1
                ],
                "stack-additions": [
                  {
                    "bytes": "Ynl0ZXM=",
                    "type": 1,
                    "uint": 1
                  }
                ],
                "stack-pop-count": 1,
                "state-changes": [
                  {
                    "account": "text",
                    "app-state-type": "text",
                    "key": "Ynl0ZXM=",
                    "new-value": {
                      "bytes": "Ynl0ZXM=",
                      "type": 1,
                      "uint": 1
                    },
                    "operation": "text"
                  }
                ]
              }
            ],
            "clear-state-rollback": true,
            "clear-state-rollback-error": "text",
            "inner-trace": "[Circular Reference]",
            "logic-sig-hash": "Ynl0ZXM=",
            "logic-sig-trace": [
              {
                "pc": 1,
                "scratch-changes": [
                  {
                    "new-value": {
                      "bytes": "Ynl0ZXM=",
                      "type": 1,
                      "uint": 1
                    },
                    "slot": 1
                  }
                ],
                "spawned-inners": [
                  1
                ],
                "stack-additions": [
                  {
                    "bytes": "Ynl0ZXM=",
                    "type": 1,
                    "uint": 1
                  }
                ],
                "stack-pop-count": 1,
                "state-changes": [
                  {
                    "account": "text",
                    "app-state-type": "text",
                    "key": "Ynl0ZXM=",
                    "new-value": {
                      "bytes": "Ynl0ZXM=",
                      "type": 1,
                      "uint": 1
                    },
                    "operation": "text"
                  }
                ]
              }
            ]
          },
          "logic-sig-budget-consumed": 1,
          "txn-result": {
            "application-index": 1,
            "asset-closing-amount": 1,
            "asset-index": 1,
            "close-rewards": 1,
            "closing-amount": 1,
            "confirmed-round": 1,
            "global-state-delta": [
              {
                "key": "text",
                "value": {
                  "action": 1,
                  "bytes": "text",
                  "uint": 1
                }
              }
            ],
            "inner-txns": "[Circular Reference]",
            "local-state-delta": [
              {
                "address": "text",
                "delta": [
                  {
                    "key": "text",
                    "value": {
                      "action": 1,
                      "bytes": "text",
                      "uint": 1
                    }
                  }
                ]
              }
            ],
            "logs": [
              "Ynl0ZXM="
            ],
            "pool-error": "text",
            "receiver-rewards": 1,
            "sender-rewards": 1,
            "txn": {}
          },
          "unnamed-resources-accessed": {
            "accounts": [
              "text"
            ],
            "app-locals": [
              {
                "account": "text",
                "app": 1
              }
            ],
            "apps": [
              1
            ],
            "asset-holdings": [
              {
                "account": "text",
                "asset": 1
              }
            ],
            "assets": [
              1
            ],
            "boxes": [
              {
                "app": 1,
                "name": "Ynl0ZXM="
              }
            ],
            "extra-box-refs": 1
          }
        }
      ],
      "unnamed-resources-accessed": {
        "accounts": [
          "text"
        ],
        "app-locals": [
          {
            "account": "text",
            "app": 1
          }
        ],
        "apps": [
          1
        ],
        "asset-holdings": [
          {
            "account": "text",
            "asset": 1
          }
        ],
        "assets": [
          1
        ],
        "boxes": [
          {
            "app": 1,
            "name": "Ynl0ZXM="
          }
        ],
        "extra-box-refs": 1
      }
    }
  ],
  "version": 1
}