trace_call
Polygon / https://triport.io/polygon
Minimum tier: Free
Last updated:
trace_call executes a single call against the chain state at a given block
(no broadcast, no state mutation) and returns the complete Parity trace
array for that call. Optionally it also returns a state diff and/or a low-level
VM trace, depending on the trace types you request.
It is the lightweight sibling of trace_block: instead of
re-executing every transaction in a block, it runs exactly one call, so it is
fast enough for interactive and pre-confirmation use. The primary use case is
MEV pre-confirmation analysis — simulate a candidate transaction (or a
single leg of a sandwich bundle) and read the full internal call tree to
compute expected profit before you sign and broadcast. A plain eth_call
only returns the final return data; trace_call exposes every internal call,
value transfer, and (optionally) storage change along the way.
This is a premium capability: it requires the polygon_trace scope and Pro
tier or higher. Calls below Pro tier are rejected with -32002, and calls
that exceed your tier's per-second rate are rejected with -32003.
Parameters
This method takes no parameters.
Returns
| Field | Type |
|---|---|
| result | object |
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_call","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_call",
"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_call","params":[]},
)
print(resp.json())Usage
- Transport: HTTP (JSON-RPC).
- Chain: Polygon.
- Clusters: mainnet.
- Credit cost: 5 per call.
FAQ
- What does trace_call 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_call cost?
- trace_call costs 5 credit(s) per call on Triport by default.
- Is trace_call available over WebSocket?
- trace_call is an HTTP JSON-RPC method.