debug_executePayload
Re-executes a payload on top of the state at parent_block_hash and returns the resulting execution witness. The witness comprises the preimages of every hashed trie node, contract code, and unhashed account/storage key that was required during execution, plus any block headers referenced by the BLOCKHASH opcode. Together they are the minimum data needed to prove that the payload executes correctly against the parent state, without access to a full node.
This method is used by fault-proof provers and stateless clients on OP Stack chains. On Base it is served from the historical proofs execution extension (ExEx); the currently indexed block range can be queried via debug_proofsSyncStatus.
Path Parameters
docs-demoFor higher throughput, create your own API key
Request
format: "^0x[0-9a-f]{64}$"requiredThe 32-byte hash of the parent block. The payload is executed on top of the post-state of this parent.
The Optimism-style payload attributes describing the block to re-execute on top of the parent. The base Engine API PayloadAttributes fields (timestamp, prevRandao, suggestedFeeRecipient, withdrawals, parentBeaconBlockRoot) are flattened onto this object; the rollup-specific fields (transactions, noTxPool, gasLimit, eip1559Params, minBaseFee) are siblings.
Responses
200
The execution witness of the payload. Contains hashed-trie-node preimages, contract-code preimages, unhashed key preimages, and any block headers required for stateless verification.