TriportRPC

trace_block

Last updated:

`trace_block` replays a block and returns the full set of OpenEthereum-style **action traces** for all transactions it contains. Each trace describes a single step of execution — a top-level call, an internal (nested) call, a contract `create`, or a `suicide`/`selfdestruct` — along with the value moved, gas used, and the trace's position in the call tree.

Use it when you need a block-wide view of internal value flow that is not visible from receipts alone: indexing internal ETH transfers, reconstructing contract-creation events, attributing gas across nested calls, or auditing MEV activity. For a single transaction, prefer `trace_transaction`; to query traces across a range with filters, use `trace_filter`.

This is a **Pro-tier** method in the `eth_trace` category. Tracing is compute-heavy, so rate limits are lower than for plain reads — 5 RPS on Pro and 15 RPS on Business.

Parameters

This method takes no parameters.

Returns

trace_block return value
FieldType
resultobject

Examples

curl https://<your-endpoint>/ \
  -X POST -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"trace_block","params":[]}'
const res = await fetch("https://<your-endpoint>/", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
  "id": 1,
  "method": "trace_block",
  "params": [],
  "jsonrpc": "2.0"
}),
});
const data = await res.json();
import requests
resp = requests.post("https://<your-endpoint>/", json={"id":1,"method":"trace_block","params":[],"jsonrpc":"2.0"})
print(resp.json())

Usage

  1. Transport: HTTP (JSON-RPC).
  2. Networks: mainnet.
  3. Credit cost: 5 per call.

FAQ

What does trace_block do?
Returns OpenEthereum-style action traces for every transaction in a single Ethereum block.
How many credits does trace_block cost?
trace_block costs 5 credit(s) per call on Triport by default.
Is trace_block available over WebSocket?
trace_block is an HTTP JSON-RPC method.