Simulation Platform detects marketable transactions in the mempool that contain internal transactions and simulates them on the current block height to show their effects.
Simulation Platform provides visibility into the effects of internal transactions. It notably highlights netBalanceChanges of the contract calls a pending transaction is making, based on the most current state of the chain.
Simulation Platform traces transactions on a cluster of our custom, latency-optimized implementation of simulation dedicated Ethereum nodes. It applies two simple rules to determine the eligibility of a transaction for simulation:
Whether the transaction is sent to a smart contract method and therefore may have internal transactions
Whether the transaction is marketable; marketable transactions are defined as transactions that have a competitive gasPrice .to get into the next block.
If a pending transaction in the mempool meets both conditions, Simulation platform will commence tracing it on the latest block height and Blocknative will deliver the pending-simulated payload to all parties monitoring the address(es) involved in the internal transactions. The block height the transaction was simulated on will appear in the payload as pendingBlockNumber.
Watching an address that is part of an internal call, but not an address in the from or to fields, will receive pending-simulation notifications and the payload will include the internalTransactions structure.
Simply start monitoring a contract address on Mempool Explorer and Simulation Platform will automatically simulate any marketable transactions that have internal transactions for that subscription. Simulated transaction payloads will have their status as pending-simulated. You can try the sample Mempool Explorer configuration below to see Simulated Transactions.
Sample Mempool Explorer feed that monitors Simulated Transactions
Mempool Explorer will automatically display simulated transaction payloads based on the address you're watching. Simulated payloads will have a Simulated badge on them and have a different tinted background.
You can use Global or Local filters to filter specifically for status=pending-simulated transactions, or you can use filters to exlcude simulated transactions from your custom mempool feed.
Simulation Platform is currently only supported for Ethereum: Main. Please stay tuned for its availability on other networks supported by Blocknative.