Handle "execution timeout" Errors
Last updated: April 3, 2025
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"execution timeout"}}If you have come across the error above, then this FAQ is for you.
The most common methods that return these timeouts are:
trace_block
debug_traceBlockByNumber
debug_traceTransaction
These methods are very resource-intensive, as they require the node to perform a full trace of all the transactions in a block, which can take a considerable amount of time and computational resources. As a result, these methods may sometimes result in an "execution timeout" error.
Solution
Each blockchain client has a default timeout for each method call, it's commonly around 5 seconds. If the call exceeds the timeout value, you'll receive the error. To override this value, you'll need to pass the following parameter
"timeout": "300s"The JSON payload should become
{ "id": 1, "jsonrpc": "2.0", "method": "debug_traceBlockByNumber", "params": [ "0x3CA8A5F", { "tracer": "callTracer", "timeout": "300s" } ] }
When using an SDK, you'll need to change the timeout value in the configuration of the provider object:
var provider = new Web3HttpProvider('http://localhost:8545',{timeout:300});from web3 import Web3 w3 = Web3(Web3.HTTPProvider("http://127.0.0.1:8545", request_kwargs={'timeout': 300}))
If you're still seeing the error even with a huge timeout like 300 seconds, please reach out to the Support Team 