Skip to main content

trace_callMany RPC Method

Performs multiple call traces on top of the same block. i.e. transaction n will be executed on top of a pending block with all n-1 transactions applied (traced) first. Allows to trace dependent transactions. (Trace Mode required, and supported only on OpenEthereum & Erigon).

Updated on
Jul 30, 2024

trace_callMany RPC Method

Please note that this RPC method is available to all users on the Growth plan and higher. If you are using the Free or Starter plan, you will need to upgrade to utilize this method. See our pricing for more information.

Parameters

array
array
REQUIRED
The type of trace, which can be one of the following:
vmTrace
To get a full trace of the virtual machine's state during the execution of the given of given transaction, including for any subcalls
trace
To get the basic trace of the given transaction
stateDiff
To get information on altered Ethereum state due to execution of the given transaction
blockNumber
string
The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum and Gnosis

Returns

array
The block traces, which have the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):
output
The data which is returned as an output encoded in hexadecimal format
stateDiff
It returns the information on altered Ethereum state due to execution of the given transaction
trace
It is used to retrieve the basic trace of the given information
action
The action to be performed on the receiver id:
from
The address of the sender
callType
The type of method such as call, delegatecall
gas
The gas provided by the sender, encoded as hexadecimal
input
The data sent along with the transaction
to
The address of the receiver
value
The integer of the value sent with this transaction, encoded as hexadecimal
result
The integer of the gas price used encoded as hexadecimal
gasUsed
The amount of gas used by this specific transaction alone
output
The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes
subtraces
The traces of contract calls made by the transaction
traceAddress
The list of addresses where the call executed, the address of the parents and the order of the current sub call
type
The value of the method such as call or create
vmTrace
It is used to get a full trace of the virtual machine's state during the execution of the given transaction, including for any sub-calls
Request
1
curl https://docs-demo.bsc.quiknode.pro/ \
2
-X POST \
3
-H "Content-Type: application/json" \
4
--data '{"method":"trace_callMany","params":[[[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]],[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]]],"latest"],"id":1,"jsonrpc":"2.0"}'
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free