Call a contract without a transaction
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Executes a call to a contract or address and returns the result without broadcasting a transaction.
State access is limited to recent blocks - these are full nodes, not archive nodes. In practice only the last dozen or so blocks resolve; deeper block parameters return -32000 missing trie node <hash> (path ). earliest also works, since genesis state is kept. Use latest or pending for anything that must not fail: the pruning boundary moves continuously, so a height taken from eth_blockNumber can already be out of range by the time you query it.
Block, transaction and receipt history is complete back to block 1 - only state is pruned.
Block tags accepted by this node: earliest, latest, pending, or a hex block number. safe and finalized are NOT supported and fail with -32602 invalid argument N: hex string without 0x prefix - Lachesis aBFT finalises immediately, so there is no separate safe/finalized head.
Changed in the 29 August 2026 network upgrade.
- The optional third parameter (state override map) is now capped at 256 accounts (
state override exceeds maximum of 256 accounts) and eachcodeoverride atparams.MaxCodeSize. - The EVM provides Shanghai (
PUSH0), Cancun (TSTORE/TLOAD,MCOPY, and the EIP-6780SELFDESTRUCTsemantics change) and Prague behaviour, plus the BLS12-381 precompiles at0x0b-0x11andP256VERIFYat0x0100. Contracts written against the pre-CancunSELFDESTRUCTsemantics behave differently here.
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<object | string>requiredThe first object specifies the call transaction object. The second (optional) parameter specifies the block context.
idintegerrequiredResponse
Result of the call
Method not served by this endpoint. The body is the plain-text string
Method Not Allowed, not JSON.
Missing API key - the api-key header was absent. The body is the
plain-text string Missing API_key, not JSON.