trace_filter RPC Method
This RPC method is included in the Free Trial with limited usage. Upgrade your plan to get full access and higher limits. Learn more onĀ our pricing page.
Deprecation Notice
This method will be deprecated on Amoy Testnet (July 1, 2026) and Mainnet (July 15, 2026) following Polygon Labs' sunset of Erigon. Use eth_getLogs for range-based filtering as an alternative.
Please be aware that the maximum block range limit for this RPC method is 10,000 blocks for those on paid plans. Consider dividing your queries into smaller segments to enhance response times and manage errors more effectively. For further details on the block range limit and strategies for mitigating it, please consult the FAQ
Parameters
object
object
Loading...
fromBlock
string
Loading...
toBlock
string
Loading...
fromAddress
array
Loading...
toAddress
array
Loading...
after
integer
Loading...
count
integer
Loading...
Returns
array
Loading...
action
Loading...
action
Loading...
from
Loading...
callType
Loading...
gas
Loading...
input
Loading...
to
Loading...
value
Loading...
blockHash
Loading...
blockNumber
Loading...
result
Loading...
gasUsed
Loading...
output
Loading...
subtraces
Loading...
traceAddress
Loading...
transactionHash
Loading...
transactionPosition
Loading...
type
Loading...
Request
1curl -X POST "https://docs-demo.matic.quiknode.pro/" \2-H "Content-Type: application/json" \3-d '{4"jsonrpc": "2.0",5"method": "trace_filter",6"params": [7{8"fromBlock": "0xccb943",9"toBlock": "0xccb943",10"fromAddress": [11"0xEdC763b3e418cD14767b3Be02b667619a6374076"12]13}14],15"id": 116}'
1curl -X POST "https://docs-demo.matic.quiknode.pro/" \2-H "Content-Type: application/json" \3-d '{4"jsonrpc": "2.0",5"method": "trace_filter",6"params": [7{8"fromBlock": "0xccb943",9"toBlock": "0xccb943",10"fromAddress": [11"0xEdC763b3e418cD14767b3Be02b667619a6374076"12]13}14],15"id": 116}'
1import { ethers } from "ethers";23async function main() {4const provider = new ethers.JsonRpcProvider("https://docs-demo.matic.quiknode.pro/");5const response = await provider.send("trace_filter", [6{7"fromBlock": "0xccb943",8"toBlock": "0xccb943",9"fromAddress": [10"0xEdC763b3e418cD14767b3Be02b667619a6374076"11]12}13]);14console.log(response);15}1617main();
1import { ethers } from "ethers";23async function main() {4const provider = new ethers.JsonRpcProvider("https://docs-demo.matic.quiknode.pro/");5const response = await provider.send("trace_filter", [6{7"fromBlock": "0xccb943",8"toBlock": "0xccb943",9"fromAddress": [10"0xEdC763b3e418cD14767b3Be02b667619a6374076"11]12}13]);14console.log(response);15}1617main();
1from web3 import Web3, HTTPProvider2w3 = Web3(HTTPProvider('https://docs-demo.matic.quiknode.pro/'))3response = w3.provider.make_request("trace_filter", [{"fromBlock":"0xccb943","toBlock":"0xccb943","fromAddress":["0xEdC763b3e418cD14767b3Be02b667619a6374076"]}])4print(response)
1from web3 import Web3, HTTPProvider2w3 = Web3(HTTPProvider('https://docs-demo.matic.quiknode.pro/'))3response = w3.provider.make_request("trace_filter", [{"fromBlock":"0xccb943","toBlock":"0xccb943","fromAddress":["0xEdC763b3e418cD14767b3Be02b667619a6374076"]}])4print(response)
1import { createPublicClient, http } from 'viem'23async function main() {4const client = createPublicClient({5transport: http('https://docs-demo.matic.quiknode.pro/')6})78const result = await client.request({9method: 'trace_filter',10params: [11{12"fromBlock": "0xccb943",13"toBlock": "0xccb943",14"fromAddress": [15"0xEdC763b3e418cD14767b3Be02b667619a6374076"16]17}18]19})2021console.log(result)22}2324main()
1import { createPublicClient, http } from 'viem'23async function main() {4const client = createPublicClient({5transport: http('https://docs-demo.matic.quiknode.pro/')6})78const result = await client.request({9method: 'trace_filter',10params: [11{12"fromBlock": "0xccb943",13"toBlock": "0xccb943",14"fromAddress": [15"0xEdC763b3e418cD14767b3Be02b667619a6374076"16]17}18]19})2021console.log(result)22}2324main()
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'trace_filter',7[8{9"fromBlock": "0xccb943",10"toBlock": "0xccb943",11"fromAddress": [12"0xEdC763b3e418cD14767b3Be02b667619a6374076"13]14}15],16undefined,17'https://docs-demo.matic.quiknode.pro/'18)1920console.log(result)
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'trace_filter',7[8{9"fromBlock": "0xccb943",10"toBlock": "0xccb943",11"fromAddress": [12"0xEdC763b3e418cD14767b3Be02b667619a6374076"13]14}15],16undefined,17'https://docs-demo.matic.quiknode.pro/'18)1920console.log(result)
1import asyncio2from quicknode_sdk import QuicknodeSdk, SdkFullConfig34async def main():5qn = QuicknodeSdk(SdkFullConfig(api_key=None))6result = await qn.rpc.call(7"trace_filter",8[9{10"fromBlock": "0xccb943",11"toBlock": "0xccb943",12"fromAddress": [13"0xEdC763b3e418cD14767b3Be02b667619a6374076"14]15}16],17endpoint_url="https://docs-demo.matic.quiknode.pro/",18)19print(result)2021asyncio.run(main())
1import asyncio2from quicknode_sdk import QuicknodeSdk, SdkFullConfig34async def main():5qn = QuicknodeSdk(SdkFullConfig(api_key=None))6result = await qn.rpc.call(7"trace_filter",8[9{10"fromBlock": "0xccb943",11"toBlock": "0xccb943",12"fromAddress": [13"0xEdC763b3e418cD14767b3Be02b667619a6374076"14]15}16],17endpoint_url="https://docs-demo.matic.quiknode.pro/",18)19print(result)2021asyncio.run(main())
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "trace_filter",7params: [8{9"fromBlock" => "0xccb943",10"toBlock" => "0xccb943",11"fromAddress" => [12"0xEdC763b3e418cD14767b3Be02b667619a6374076"13]14}15],16endpoint_url: "https://docs-demo.matic.quiknode.pro/"17)1819puts result
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "trace_filter",7params: [8{9"fromBlock" => "0xccb943",10"toBlock" => "0xccb943",11"fromAddress" => [12"0xEdC763b3e418cD14767b3Be02b667619a6374076"13]14}15],16endpoint_url: "https://docs-demo.matic.quiknode.pro/"17)1819puts result
1use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};23#[tokio::main]4async fn main() -> Result<(), Box<dyn std::error::Error>> {5let qn = QuicknodeSdk::new(&SdkFullConfig::keyless())?;6let result = qn7.rpc8.call(9"trace_filter",10Some(serde_json::json!([11{12"fromBlock": "0xccb943",13"toBlock": "0xccb943",14"fromAddress": [15"0xEdC763b3e418cD14767b3Be02b667619a6374076"16]17}18])),19None,20Some("https://docs-demo.matic.quiknode.pro/".into()),21)22.await?;2324println!("{result}");25Ok(())26}
1use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};23#[tokio::main]4async fn main() -> Result<(), Box<dyn std::error::Error>> {5let qn = QuicknodeSdk::new(&SdkFullConfig::keyless())?;6let result = qn7.rpc8.call(9"trace_filter",10Some(serde_json::json!([11{12"fromBlock": "0xccb943",13"toBlock": "0xccb943",14"fromAddress": [15"0xEdC763b3e418cD14767b3Be02b667619a6374076"16]17}18])),19None,20Some("https://docs-demo.matic.quiknode.pro/".into()),21)22.await?;2324println!("{result}");25Ok(())26}
1const body = {2jsonrpc: '2.0',3method: 'trace_filter',4params: [{"fromBlock":"0xccb943","toBlock":"0xccb943","fromAddress":["0xEdC763b3e418cD14767b3Be02b667619a6374076"]}],5id: 16}78async function main() {9const response = await fetch('https://docs-demo.matic.quiknode.pro/', {10method: 'POST',11headers: {'Content-Type': 'application/json'},12body: JSON.stringify(body)13})14const data = await response.json()15console.log(data)16}1718main()
1const body = {2jsonrpc: '2.0',3method: 'trace_filter',4params: [{"fromBlock":"0xccb943","toBlock":"0xccb943","fromAddress":["0xEdC763b3e418cD14767b3Be02b667619a6374076"]}],5id: 16}78async function main() {9const response = await fetch('https://docs-demo.matic.quiknode.pro/', {10method: 'POST',11headers: {'Content-Type': 'application/json'},12body: JSON.stringify(body)13})14const data = await response.json()15console.log(data)16}1718main()
1import requests2import json34url = "https://docs-demo.matic.quiknode.pro/"56payload = json.dumps({7"jsonrpc": "2.0",8"method": "trace_filter",9"params": [10{11"fromBlock": "0xccb943",12"toBlock": "0xccb943",13"fromAddress": [14"0xEdC763b3e418cD14767b3Be02b667619a6374076"15]16}17],18"id": 119})20headers = {21'Content-Type': 'application/json'22}2324response = requests.request("POST", url, headers=headers, data=payload)2526print(response.text)
1import requests2import json34url = "https://docs-demo.matic.quiknode.pro/"56payload = json.dumps({7"jsonrpc": "2.0",8"method": "trace_filter",9"params": [10{11"fromBlock": "0xccb943",12"toBlock": "0xccb943",13"fromAddress": [14"0xEdC763b3e418cD14767b3Be02b667619a6374076"15]16}17],18"id": 119})20headers = {21'Content-Type': 'application/json'22}2324response = requests.request("POST", url, headers=headers, data=payload)2526print(response.text)
1require "uri"2require "json"3require "net/http"45uri = URI("https://docs-demo.matic.quiknode.pro/")67payload = {8jsonrpc: "2.0",9id: 1,10method: "trace_filter",11params: [{"fromBlock":"0xccb943","toBlock":"0xccb943","fromAddress":["0xEdC763b3e418cD14767b3Be02b667619a6374076"]}]12}1314request = Net::HTTP::Post.new(uri)15request["Content-Type"] = "application/json"16request.body = JSON.generate(payload)1718response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|19http.request(request)20end2122puts response.body
1require "uri"2require "json"3require "net/http"45uri = URI("https://docs-demo.matic.quiknode.pro/")67payload = {8jsonrpc: "2.0",9id: 1,10method: "trace_filter",11params: [{"fromBlock":"0xccb943","toBlock":"0xccb943","fromAddress":["0xEdC763b3e418cD14767b3Be02b667619a6374076"]}]12}1314request = Net::HTTP::Post.new(uri)15request["Content-Type"] = "application/json"16request.body = JSON.generate(payload)1718response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|19http.request(request)20end2122puts response.body
Response
1{2"jsonrpc": "2.0",3"id": 1,4"result": []5}
1{2"jsonrpc": "2.0",3"id": 1,4"result": []5}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free