> For a complete page index, fetch https://docs.conduit.xyz/llms.txt

# Simulate transactions

> Use the Conduit Explorer Simulate page to run a contract call or replay an existing transaction against chain state without signing or broadcasting it, then inspect the result, revert reason, trace, state changes, events, and gas.

The Simulate page in [Conduit Explorer](/chains/explorer) runs a contract call against your chain's current or historical state and shows exactly what would happen: whether it succeeds, why it reverts, which contracts it calls, what state it changes, and how much gas it uses. You don't sign or broadcast anything, so you can test a call before sending it or debug a transaction that already reverted.

See it in action on the [BOB Explorer](https://explorer.gobob.xyz/simulate).

## Open the simulator

You can reach the Simulate page in several ways:

* **From the home page**—select **Simulate** below the search bar, or go to `/simulate` on your explorer's domain.
* **From a transaction**—select **Re-run** on any transaction, or **Debug** on a reverted one, to replay it in the simulator.
* **From a contract**—on the **Interact** tab, select the flask icon next to any write function to simulate that call with the arguments you entered. You don't need to connect a wallet.

## Simulate a call

#### Enter the call

Fill in the call details:

* **To**—the contract address to call. This is the only required field.
* **Calldata**—the encoded call data. When Conduit Explorer has the contract's ABI, switch to **Decoded** to pick a function and enter its arguments instead of writing hex.
* **From**—the sender address. Defaults to the zero address.
* **Value**—the amount of native token to send, in wei.
* **Gas limit**—defaults to the block gas limit.

#### Choose the block

Under **Simulate against**, choose **Latest** to run the call at the end of the latest block, or **Pinned block** and enter a block hash to run it against historical state.

#### Run the simulation

Select **Simulate**, or press <kbd>⌘</kbd>+<kbd>Enter</kbd> (<kbd>Ctrl</kbd>+<kbd>Enter</kbd> on Windows and Linux). Edit any field and select **Re-run** to compare the new result against the previous run.

## Replay an existing transaction

Paste a transaction hash into **Replay an existing transaction** and select **Load**. Conduit Explorer fills in the transaction's sender, target, calldata, value, and gas, pins the simulation to the transaction's parent block, and runs it. The result shows how the replay compares to the original on-chain outcome.

Replay is useful for finding out why a transaction reverted, or for changing one input and checking whether the transaction would have succeeded.

## Read the results

The result pane opens with a summary: whether the call succeeded or reverted, and gas used out of the gas limit. When a call reverts, Conduit Explorer decodes the revert reason—including custom errors from the contract's ABI—and links to the call frame that reverted.

The tabs below the summary break the result down:

* **Overview**—the sender, function, target, value, gas used, block, and per-account token balance changes.
* **Trace**—the full call tree, with each nested call decoded and the failing frame highlighted.
* **State**—the storage and balance changes the call makes, account by account.
* **Events**—the event logs the call emits, with decoded parameters.
* **Gas**—gas used per call frame, with a flame graph for calls with several frames.

Use **Input**, **Split**, and **Result** at the top of the page to show the form, the result, or both side by side.

## Share a simulation

The page URL stores every input, the selected tab, and the selected trace frame, so a link reproduces the same simulation. Select **Share** to copy it. The URL doesn't store calldata longer than 3,000 bytes.

## Limitations

* **Replay doesn't apply earlier transactions in the same block.** A replayed transaction runs at the end of its parent block, so if an earlier transaction in the same block changed relevant state, the result can differ from what happened on-chain.
* **Gas is an estimate.** Conduit Explorer reports gas used but doesn't calculate a fee.
* **Contract creation isn't supported.** You can only simulate calls to an existing contract address.

## RPC requirements

Conduit Explorer runs simulations through your chain's RPC endpoint, which must support these methods:

* `debug_traceCall` with the `callTracer`, for the call tree.
* `eth_simulateV1`, for the outcome, gas, return data, and events.
* `debug_traceCall` with the `prestateTracer`, for the **State** tab. If this tracer isn't available, every other tab still works.

If the RPC endpoint doesn't support a required method, the Simulate page shows an error naming the method. Contact [Conduit support](mailto:support@conduit.xyz) to check whether simulation is available on your chain.