eth_call - Base
Example code for the eth_call JSON-RPC method. Complete guide on how to use eth_call JSON-RPC in GetBlock Web3 documentation.
This method executes a new message call immediately without creating a transaction on the blockchain. This is the primary method for reading data from smart contracts, including token balances, contract state, and view/pure function results.
Parameters
transaction
object
Yes
Transaction call object
blockParameter
string
Yes
Block number in hex, or "latest", "earliest", "pending"
Transaction Object
from
string
No
20-byte sender address
to
string
Yes
20-byte recipient/contract address
gas
string
No
Gas limit for the call (hex)
gasPrice
string
No
Gas price in wei (hex)
value
string
No
Value to send in wei (hex)
data
string
No
Encoded function call data
Request
curl --location --request POST 'https://go.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [{
"to": "0x4200000000000000000000000000000000000006",
"data": "0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"
}, "latest"],
"id": "getblock.io"
}'const axios = require('axios');
// ERC-20 balanceOf call
const response = await axios.post('https://go.getblock.io/<ACCESS-TOKEN>/', {
jsonrpc: '2.0',
method: 'eth_call',
params: [{
to: '0x4200000000000000000000000000000000000006', // WETH on Base
data: '0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE'
}, 'latest'],
id: 'getblock.io'
}, {
headers: { 'Content-Type': 'application/json' }
});
const balance = parseInt(response.data.result, 16);
console.log('Token Balance:', balance / 1e18);Response
Response Parameters
jsonrpc
string
JSON-RPC protocol version ("2.0")
id
string
Request identifier matching the request
result
string
Hex-encoded return data from the contract call
Use Cases
Token Balances: Query ERC-20 token balances using balanceOf
Contract State: Read public state variables from smart contracts
Price Feeds: Query oracle prices from Chainlink or other protocols
NFT Metadata: Read NFT ownership and metadata
DeFi Calculations: Query pool reserves, exchange rates, and liquidity
Error Handling
-32602
Invalid params
Invalid transaction object or block parameter
-32603
Internal error
Contract execution error
3
Execution reverted
Contract reverted the call
-32000
Execution error
Insufficient gas or other execution failure
Web3 Integration
Last updated
Was this helpful?