Skip to main content

eth_callMany RPC Method

Executes a list of bundles (a bundle is a collection of transactions), without creating transactions on the blockchain.

Updated on
May 25, 2026
MegaETH nodes use a ~15-day pruning window for historical state data. Calls targeting a block older than ~15 days (1,296,064 blocks) may fail because the required account and storage history has been pruned. For more details, see the MegaETH Pruning Policy.

Parameters

bundles
array

An array of bundle objects, each containing transactions and optional block override settings

transactions
array

An array of transaction call objects

from
string

The address from which the transaction is sent

to
string
REQUIRED

The address to which the transaction is addressed

gas
string

The integer of gas provided for the transaction execution encoded as hexadecimal

gasPrice
string

The integer of gasPrice used for each paid gas encoded as hexadecimal

value
string

The integer of value sent with this transaction encoded as hexadecimal

data
string

The hash of the method signature and encoded parameters. For more information, see the Contract ABI description in the Solidity documentation

blockOverride
object

(Optional) The overrides of the execution context block header

number
string

The simulated block number, encoded as a hexadecimal quantity. Defaults to the block number of the first simulated block.

blockHash
object

A dictionary that maps blockNumber to a user-defined hash. It could be queried from the solidity opcode BLOCKHASH

feeRecipient
address

The fee recipient address. Defaults to the fee recipient of the first simulated block.

time
string

The simulated block timestamp in Unix seconds, encoded as a hexadecimal quantity. Defaults to the timestamp of the first simulated block. Each following block increments its timestamp by 1.

difficulty
string

The difficulty of the current block. Defaults to the difficulty of the first simulated block.

gasLimit
string

The gas limit of the current block. Defaults to the difficulty of the first simulated block.

baseFeePerGas
string

The simulated base fee per gas in wei, encoded as a hexadecimal quantity. Defaults to the base fee of the first simulated block.

simulationContext
object

(Optional) The simulation context

blockNumber
string

The Tag 'latest', 'earliest', 'pending', 'safe' or 'finalized', or a hexadecimal block number

transactionIndex
integer

The transaction index of the simulated transactions. Default value of the transaction index is -1, which would place the simulated transactions after the entire block.

stateOverride
object

(Optional) The State Override Set option allows you to change the state of a contract before executing the call, which means you can modify the values of variables stored in the contract, such as balances and approvals for that call without actually modifying the contract. Each address maps to an object containing:

balance
string

The fake balance to set for the account before executing the call

nonce
string

The fake nonce to set for the account before executing the call

code
string

The fake EVM bytecode to inject into the account before executing the call

state
object

The fake key-value mapping to override all slots in the account storage before executing the call

stateDiff
object

The fake key-value mapping to override individual slots in the account storage before executing the call

timeout
integer

The upper limit running time for the simulations in milliseconds. Defaults to 5000 milliseconds.

Returns

array
array

An array of bundles, where each bundle is an array of call results

array
array

An array of call results

value
string

The return data if the call was successful

error
string

The error if the call failed

Request
Response
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": [
5
[
6
{
7
"value": "0x"
8
}
9
]
10
]
11
}
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": [
5
[
6
{
7
"value": "0x"
8
}
9
]
10
]
11
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free