trace_filter
Returns traces matching a filter on Base.
Archive Node Required
This method requires an archive node. It is not available on full nodes.
Use Cases#
- Address activity - Find all internal transactions involving an address
- Contract monitoring - Track calls to specific contracts
- Forensic analysis - Investigate transaction patterns for consumer dApps, SocialFi, NFT marketplaces, and merchant payment integrations
Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
filterObject | Object | Yes | Filter criteria (see below) |
Filter Object Fields#
| Field | Type | Description |
|---|---|---|
fromBlock | QUANTITY|TAG | Start block (hex or tag) |
toBlock | QUANTITY|TAG | End block (hex or tag) |
fromAddress | Array<DATA> | Filter by sender addresses |
toAddress | Array<DATA> | Filter by receiver addresses |
after | QUANTITY | Offset for pagination |
count | QUANTITY | Max results to return |
Request#
{
"jsonrpc": "2.0",
"method": "trace_filter",
"params": [{
"fromBlock": "latest",
"toBlock": "latest",
"toAddress": ["0x4200000000000000000000000000000000000006"],
"count": 10
}],
"id": 1
}
Code Examples#
- cURL
- JavaScript
- Python
curl -X POST https://api-base-mainnet-archive.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "trace_filter",
"params": [{
"fromBlock": "latest",
"toBlock": "latest",
"toAddress": ["0x4200000000000000000000000000000000000006"],
"count": 10
}],
"id": 1
}'
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-base-mainnet-archive.n.dwellir.com/YOUR_API_KEY');
const traces = await provider.send('trace_filter', [{
fromBlock: 'latest',
toBlock: 'latest',
toAddress: ['0x4200000000000000000000000000000000000006'],
count: 10
}]);
console.log('Matching traces:', traces.length);
for (const trace of traces) {
console.log(` Block ${trace.blockNumber}: ${trace.action.from} -> ${trace.action.to}`);
}
from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://api-base-mainnet-archive.n.dwellir.com/YOUR_API_KEY'))
traces = w3.provider.make_request('trace_filter', [{
'fromBlock': 'latest',
'toBlock': 'latest',
'toAddress': ['0x4200000000000000000000000000000000000006'],
'count': 10
}])
for trace in traces['result']:
action = trace['action']
print(f'Block {trace["blockNumber"]}: {action["from"]} -> {action.get("to", "CREATE")}')
Related Methods#
trace_block- Get all traces in a blocktrace_transaction- Get traces for a specific transactioneth_getLogs- Filter event logs