eth_call - Unichain
Example code for the eth_call JSON-RPC method. Complete guide to using the eth_call JSON-RPC method in the GetBlock.io 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 or 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 or 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://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [{"to": "0x4200000000000000000000000000000000000006", "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045"}, "latest"],
"id": "getblock.io"
}'const axios = require('axios');
const response = await axios.post('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', {
jsonrpc: '2.0',
method: 'eth_call',
params: [{"to": "0x4200000000000000000000000000000000000006", "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045"}, "latest"],
id: 'getblock.io'
}, {
headers: { 'Content-Type': 'application/json' }
});
console.log(response.data.result);import requests
response = requests.post(
'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
headers={'Content-Type': 'application/json'},
json={
'jsonrpc': '2.0',
'method': 'eth_call',
'params': [{"to": "0x4200000000000000000000000000000000000006", "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045"}, "latest"],
'id': 'getblock.io'
}
)
print(response.json())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
DeFi Calculations: Query pool reserves, exchange rates, and liquidity
NFT Metadata: Read NFT ownership and token metadata
Error Handling
-32602
Invalid params
Invalid transaction object or block parameter
-32603
Internal error
Contract execution error
3
Execution reverted
The contract reverted the call
-32000
Execution error
Insufficient gas or other execution failure
Web3 Integration
Last updated
Was this helpful?