Preview the outcome of multi-step onchain flows in Simulation Bundles before executing them in production. Model a treasury movement, including a multisig sequence, or reproduce a user's exact steps to find where their flow breaks when you're handling technical support.
Run up to five stateful simulations
Simulate the entire sequence of interconnected transactions and preview the cumulative result. Run up to five simulations that execute in a single request, with each one relying on the state of the previous step. Step through each simulation to evaluate gas usage, state changes, events, and token transfers per step.

Then, open any step for more granular debugging in the same view.

Edit every step in the bundle
Build and adjust the flow without leaving the page. Open each step on the left while inspecting the details on the right, in the same view. Pick a contract and function, and the parameter inputs are automatically filled from the ABI, or switch to raw mode to paste calldata.

Reorder steps within a bundle to simulate outcomes under different conditions or resolve failures by applying different rules.

Collapse to a focused view to inspect only the steps and the result.

Run any scenario with cheatcodes
Set up custom conditions for a specific simulation in a bundle. Override contract or network state, fund addresses with one or more tokens, advance the block or timestamp, or add an EIP-2930 access list.

Resimulate from any transaction
Replay a transaction or a previous bundle, pre-filled with the last run. Tweak, add, or remove steps, apply cheatcodes for custom conditions, and run the new bundle, with the original information still on the right for comparison.

Each run produces a new bundle result, without affecting the outcome of your first flow. This way, you can compare results or resimulate the entire bundle for further iterations.
Validate a whole flow before production
Chain up to five stateful simulations, edit each step in place, and simulate any multi-step flow in a single bundle. See how interconnected transactions execute against specific conditions so you can run them safely in production.