Skip to main content

eth_call RPC Method

Executes a new message call immediately without creating a transaction on the block chain.

Updated on
Jul 30, 2024

eth_call RPC Method

Parameters

transaction
object
REQUIRED
The transaction call object which contains the following fields:
from
string
The address from which the transaction is sent
to
string
REQUIRED
The address to which the transaction is addressed
gas
integer
The integer of gas provided for the transaction execution
gasPrice
integer
The integer of gasPrice used for each paid gas encoded as hexadecimal
value
integer
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
blockNumber/tag
string
REQUIRED
The block number in hexadecimal format or the string latest, earliest, pending, safe or finalized (safe and finalized tags are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova and Avalanche C-chain), see the default block parameter description in the official Ethereum documentation
Object
object
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
integer
The fake key-value mapping to override individual slots in the account storage before executing the call

Returns

data
The return value of the executed contract method
Request
1
curl https://docs-demo.race-mainnet.quiknode.pro/ \
2
-X POST \
3
-H "Content-Type: application/json" \
4
--data '{
5
"jsonrpc": "2.0",
6
"id": 1,
7
"method": "eth_call",
8
"params": [
9
{
10
"to": "0x0fd43c8fabe26d70dfa4c8b6fa680db39f147460",
11
"data": "0x919840ad"
12
},
13
"latest",
14
{
15
"0x0fd43c8fabe26d70dfa4c8b6fa680db39f147460": {
16
"code": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063919840ad14602d575b600080fd5b60336045565b60408051918252519081900360200190f35b60005a90509056fea265627a7a72315820df124583906aafd283490b866399b6762e2075e1d84214363893c5993a13276f64736f6c63430005110032"
17
}
18
}
19
]
20
}'
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free