Skip to main content
POST
eth_call
Monad API method that executes a new message call immediately without creating a transaction on the blockchain. This is useful for reading data from smart contracts or simulating transactions.
Monad-specific behavior:
  • State is available only for a rolling window of recent blocks, several days long, on every node including Archive nodes. For a block older than that window, the call returns -32602 Block requested not found. See the Monad note on Networks.
  • Does not accept EIP-4844 (blob) transaction type, as EIP-4844 is not supported on Monad.
When called against a block older than the latest ~128 blocks, this method is treated as an archive request (2 RUs instead of 1 RU). See request units.
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

  • object — the transaction call object:
    • from (optional) — address the transaction is sent from
    • to — address the transaction 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
  • quantity or tag — integer block number, or the string latest, earliest, or 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

Use case

A practical use case for eth_call is reading data from smart contracts, such as token balances, contract state variables, or simulating complex transactions before sending them.

Body

application/json
id
integer
default:1
jsonrpc
string
default:2.0
method
string
default:eth_call
params
(object | string)[]

Response

200 - application/json

The return value of the executed contract call.

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