Skip to main content

trace_call

Traces a call without creating a transaction on Sonic, returning the trace output.

Archive Node Required

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

Use Cases#

  • Call simulation - Preview internal calls before sending a transaction
  • Contract interaction analysis - Understand how contracts interact
  • Gas estimation - Analyze gas usage patterns for ultra-fast DeFi, high-frequency trading dApps, and performance-critical applications

Parameters#

ParameterTypeRequiredDescription
callObjectObjectYesTransaction call object (from, to, gas, value, data)
traceTypesArrayYesTrace types: ["trace"], ["vmTrace"], ["stateDiff"], or combinations
blockNumberQUANTITY|TAGNoBlock number or tag (default: latest)

Request#

{
"jsonrpc": "2.0",
"method": "trace_call",
"params": [
{
"to": "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38",
"data": "0x70a08231000000000000000000000000039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"
},
["trace"],
"latest"
],
"id": 1
}

Code Examples#

curl -X POST https://api-sonic-mainnet-archive.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "trace_call",
"params": [
{"to": "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38", "data": "0x70a08231000000000000000000000000039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"},
["trace"],
"latest"
],
"id": 1
}'