debug_traceBlockByHash - GIWA
Example code for the debug_traceBlockByHash JSON-RPC method. Complete guide on how to use debug_traceBlockByHash JSON-RPC in GetBlock Web3 documentation.
This method traces the execution of every transaction in a block identified by its hash. It is a Dedicated Node tier method commonly used with the callTracer.
This method belongs to the debug namespace and is available on GetBlock Dedicated Nodes only. It is not served on shared endpoints.
Parameters
blockHash
string
Yes
32-byte block hash
options
object
No
Tracer options (e.g. callTracer)
Request
curl --location --request POST 'https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "debug_traceBlockByHash",
"params": ["0x9f2b4c1d7e3a6084b5c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d", { "tracer": "callTracer" }],
"id": "getblock.io"
}'const axios = require('axios');
const response = await axios.post('https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/', {
jsonrpc: '2.0',
method: 'debug_traceBlockByHash',
params: ['0x9f2b4c1d7e3a6084b5c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d', { tracer: 'callTracer' }],
id: 'getblock.io'
}, {
headers: { 'Content-Type': 'application/json' }
});
console.log(response.data.result);import requests
response = requests.post(
'https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/',
headers={'Content-Type': 'application/json'},
json={
'jsonrpc': '2.0',
'method': 'debug_traceBlockByHash',
'params': ['0x9f2b4c1d7e3a6084b5c9d0e1f2a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d', { 'tracer': 'callTracer' }],
'id': 'getblock.io'
}
)
print(response.json())Response
{
"jsonrpc": "2.0",
"id": "getblock.io",
"result": [
{
"txHash": "0x3c8a1f5b2d9e4076c1a8b3d5e7f9021436587a9cbdef012345678abcdef901234",
"result": {
"type": "CALL",
"from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"to": "0x4200000000000000000000000000000000000006",
"gasUsed": "0x5208",
"calls": []
}
}
]
}Response Parameters
jsonrpc
string
JSON-RPC protocol version ("2.0")
id
string
Request identifier matching the request
result
array
Per-transaction execution traces for the block
Use Cases
Block Tracing: Trace all transactions in a known block by hash
Call Graphs: Extract internal calls with the callTracer
MEV Analysis: Reconstruct ordering and internal transfers
Debugging: Investigate failures across a block
Error Handling
-32602
Invalid params
Malformed block hash or tracer options
-32601
Method not found
The debug namespace is not enabled on this endpoint
Web3 Integration
Last updated
Was this helpful?