Skip to main content
POST
Simulate an EVM transaction, including an unsigned Safe multisig

Authorizations

X-API-KEY
string
header
required

Authorization method required to allow user to access the api endpoints.

Body

application/json
network
enum<string>
required
Available options:
eth,
arb1,
base,
oeth,
pol,
bnb,
avax
Example:

"eth"

transaction
object
required
state_overrides
object

Per-address state overrides applied before the simulation, keyed by address. Forwarded to the node as-is.

Example:

Response

200 - application/json
network
string
required
Example:

"eth"

status
enum<string>
required
Available options:
success,
reverted
error
object | null
required
gas_used
string
required
Example:

"0x5208"

created_contract
string | null
required
balance_deltas
object[]
required
transfers
object[]
required
approvals
object[]
required
addresses
object[]
required

Every address the simulation touched, ordered by screening priority rather than by where it appeared in the transaction. The parties to the transaction come first, then the Safe and the contracts a batch pointed at, then the contracts that were merely called. Position means nothing beyond that, so it should not be read as the order in which effects happened.

meta
object
required
safe
object

Present only when the calldata decoded as a Safe execTransaction and the Safe answered. For every other transaction this field is absent altogether, rather than null or an empty object.

batch
object[] | null

One object per MultiSend entry, in payload order. Null whenever safe.batch_state is not decoded, and absent alongside safe. The arrays above carry applied effects only, so on a failed batch they are empty while each entry still reports what it attempted.

Last modified on September 17, 2026