TriportRPC

trace_filter

Polygon / https://triport.io/polygon

Minimum tier: Free

Polygon method guide

Last updated:

trace_filter scans a contiguous range of Polygon blocks and returns every trace (internal call, create, or suicide frame) whose sender and/or recipient match the supplied filter. Unlike trace_block — which is keyed to a single block — or trace_transaction — which is keyed to one transaction hash — trace_filter lets you sweep a window of history and narrow it down by address. It is the right tool for building an account's incoming/outgoing internal-transfer history, or for indexing all activity that touched a particular contract.

This is the Parity-style tracer. Note that Polygon's Bor client can emit a slightly different frame shape than vanilla Geth-Parity (for example call vs delegatecall mapping), so an indexer should be tolerant of both. If you also consume the Geth-style debug_traceBlockByNumber, its output schema differs and your decoder must handle each shape separately.

Because a single block range can produce a very large number of traces, results are paginated with the after (offset) and count (limit) fields and the payload grows roughly linearly with the block range. Keep ranges modest and page through large result sets rather than requesting a huge window in one call.

This method requires the Pro tier. Calls authenticated with a lower-tier key are rejected with -32002 tier_insufficient.

Parameters

This method takes no parameters.

Returns

trace_filter 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_filter","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_filter",
  "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_filter","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_filter do?
⚠️ НЕ ОТДАЁТСЯ (2026-07-26). Метод убран из каталога: он требует индекса по блокам и адресам, которого у нас нет, а собрать его из debug_ (как остальные trace_) нельзя — фильтрация по диапазону блоков означала бы трейсить каждый блок диапазона целиком. Внешний канал, через который метод отдавался раньше (the RPC provider premium), закрыл trace_*. Если понадобится — это отдельная задача с построением индекса.
How many credits does trace_filter cost?
trace_filter costs 5 credit(s) per call on Triport by default.
Is trace_filter available over WebSocket?
trace_filter is an HTTP JSON-RPC method.