Skip to main content

trace_callMany

Traces multiple calls in sequence on Base, where each call can depend on the state changes of the previous one.

Archive Node Required

This method requires an archive node. It is not available on full nodes.

Use Cases#

  • Multi-step simulation - Simulate a sequence of dependent transactions
  • Arbitrage analysis - Test multi-hop swap paths
  • Batch operations - Preview multiple contract interactions for consumer dApps, SocialFi, NFT marketplaces, and merchant payment integrations

Parameters#

ParameterTypeRequiredDescription
callsArrayYesArray of [callObject, traceTypes] pairs
blockNumberQUANTITY|TAGNoBlock number or tag (default: latest)

Each element in calls is a tuple of:

  • callObject - Transaction call object (from, to, gas, value, data)
  • traceTypes - Array of trace types: ["trace"], ["vmTrace"], ["stateDiff"]

Request#

{
"jsonrpc": "2.0",
"method": "trace_callMany",
"params": [
[
[{"to": "0x4200000000000000000000000000000000000006", "data": "0x70a082310000000000000000000000004200000000000000000000000000000000000006"}, ["trace"]],
[{"to": "0x4200000000000000000000000000000000000006", "data": "0x18160ddd"}, ["trace"]]
],
"latest"
],
"id": 1
}

Code Examples#

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_callMany",
"params": [
[
[{"to": "0x4200000000000000000000000000000000000006", "data": "0x70a082310000000000000000000000004200000000000000000000000000000000000006"}, ["trace"]],
[{"to": "0x4200000000000000000000000000000000000006", "data": "0x18160ddd"}, ["trace"]]
],
"latest"
],
"id": 1
}'