Skip to main content
POST
eth_call
Arc API method that executes a new message call immediately without creating a transaction on the blockchain. This is commonly used to read data from smart contracts, such as ERC-20 token balances.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • callObject — the call object:
    • from — (optional) address the call is sent from
    • to — the address the call is directed to
    • gas — (optional) gas provided for the call
    • gasPrice — (optional) gas price for the call
    • value — (optional) value sent with the call
    • data — (optional) hash of the method signature and encoded parameters
  • blockParameter — the block number (hex) or tag (latest, earliest, pending)

State override (optional)

eth_call accepts an optional third parameter: a state override set that changes account state for this call only. Nothing is written to the chain. The set is an object keyed by account address, and each address can override:
  • balance — the account balance in wei, hex-encoded
  • nonce — the account nonce, hex-encoded
  • code — the bytecode to run at the address
  • state — storage slot values that replace the account’s entire storage
  • stateDiff — storage slot values to change, keeping the rest of the storage
This example puts bytecode that returns 42 at an unused address, then calls that address:

Response

  • result — the return value of the executed contract call

eth_call code examples

The following example queries the balanceOf function on the USDC ERC-20 token contract:

Body

application/json
id
integer
default:1
jsonrpc
string
default:2.0
method
string
default:eth_call
params
array

Response

200 - application/json

Returns the result of eth_call.

jsonrpc
string
id
integer
result
string
Last modified on October 1, 2026