TriportRPC

trace_replayBlockTransactions

Polygon / https://triport.io/polygon

Minimum tier: Free

Polygon method guide

Last updated:

trace_replayBlockTransactions re-executes all transactions in a single block against the historical state at that block and returns one result entry per transaction. Each entry can carry up to three views of what happened: the Parity-style call trace (the tree of execution frames flattened into an array), the stateDiff (every storage slot, balance, nonce, and code change the transaction made), and the low-level vmTrace. Which views you get back is controlled entirely by the second parameter — you ask for exactly the modes you need.

This is the heaviest method in the entire Polygon surface. A full state diff plus call trace for every transaction in a busy Polygon block (typically 50–150 transactions) can run to tens of megabytes of JSON. Request it only when you genuinely need block-wide replay — for MEV / arbitrage indexing, full DeFi internal-transfer reconstruction, or forensic audits where you must see both the execution path and the resulting state for the whole block at once. If you only need the call tree (and not state diffs), prefer the lighter trace_block; for a single transaction use trace_transaction.

It belongs to the premium Parity polygon_trace category and requires Pro tier. It is rate limited per tier (3 rps on Pro, 10 rps on Business) with a short burst allowance — there is no daily quota. Because each response is so large, the practical bottleneck is bandwidth rather than RPS: keep concurrency to ≤4 in-flight requests to avoid bandwidth contention and request queueing, and expect multi-second latency per call.

Parameters

This method takes no parameters.

Returns

trace_replayBlockTransactions return value
FieldType
resultobject

Examples

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

Usage

  1. Transport: HTTP (JSON-RPC).
  2. Chain: Polygon.
  3. Clusters: mainnet.
  4. Credit cost: 5 per call.

FAQ

What does trace_replayBlockTransactions do?
Как это работает у нас (2026-07-26). Метод собирается на нашей стороне из geth-трейсера debug_ и приводится к parity-формату. Причина: bor — форк geth, parity-namespace trace_ в нём отсутствует, а внешний premium-канал (the RPC provider), через который метод отдавался раньше, закрыл trace_*. Схема ответа сверяется с живым parity-ответом, а не с документацией. Подробности и границы — docs/polygon-trace-shim/PLAN.md.
How many credits does trace_replayBlockTransactions cost?
trace_replayBlockTransactions costs 5 credit(s) per call on Triport by default.
Is trace_replayBlockTransactions available over WebSocket?
trace_replayBlockTransactions is an HTTP JSON-RPC method.