Executes a new message call immediately without creating a transaction on the block chain on Polygon.
Parameters
Object
- The transaction call objectfrom
:DATA
, 20 Bytes - (optional) The address the transaction is sent from.to
:DATA
, 20 Bytes - The address the transaction is directed to.gas
:QUANTITY
- (optional) Integer of the gas provided for the transaction execution.eth_call
consumes zero gas, but this parameter may be needed by some executions. NOTE: this parameter has a cap of 550 million Gwei per request. Reach out to us at [email protected] if you want to increase this limit.gasPrice
:QUANTITY
- (optional) Integer of the gasPrice used for each paid gas. Note: most of our users (95%+) never set thegasPrice
on eth_call.value
:QUANTITY
- (optional) Integer of the value sent with this transactiondata
:DATA
- (optional) Hash of the method signature and encoded parameters. For details see Ethereum Contract ABI
QUANTITY|TAG
- integer block number, or the string "latest", "earliest" or "pending" (see the default block parameter), OR theblockHash
(in accordance with EIP-1898)
Note: the parameter is an object instead of a string and should be specified as: {"blockHash": "0x<some-hash>"}.
Learn more here.
Note
eth_call
has a timeout restriction at the node level. Batching multipleeth_call
together on-chain using pre-deployed smart contracts might result in unexpected timeouts that cause none of your calls to complete. Instead, consider serializing these calls, or using smaller batches if they fail with a node error code.
params: [
{
"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"gas": "0x76c0",
"gasPrice": "0x9184e72a000",
"value": "0x9184e72a",
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
},
"latest"]
]
Returns
DATA
- the return value of the executed contract.
Example
The Alchemy Composer allows you to make a no-code example request via your browser. Try it out above!
Request
curl https://polygon-mainnet.g.alchemy.com/v2/your-api-key \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas": "0x76c0","gasPrice": "0x9184e72a000","value": "0x9184e72a","data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}, "latest"],"id":1}'
URL: https://polygon-mainnet.g.alchemy.com/v2/your-api-key
RequestType: POST
Body:
{
"jsonrpc":"2.0",
"method":"eth_call",
"params":[{"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas": "0x76c0","gasPrice": "0x9184e72a000","value": "0x9184e72a","data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}, "latest"],
"id":1
}
// Setup: npm install alchemy-sdk
// Github: https://github.com/alchemyplatform/alchemy-sdk-js
import { Network, Alchemy } from "alchemy-sdk";
// Optional config object, but defaults to demo api-key and eth-mainnet.
const settings = {
apiKey: "demo", // Replace with your Alchemy API Key.
network: Network.MATIC_MAINNET, // Replace with your network.
};
const alchemy = new Alchemy(settings);
// Make a sample eth_call
alchemy.core
.call({
to: "0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41",
gas: "0x76c0",
gasPrice: "0x9184e72a000",
data: "0x3b3b57debf074faa138b72c65adbdcfb329847e4f2c04bde7f7dd7fcad5a52d2f395a558",
})
.then(console.log);
Result
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x"
}
The below parameter inputs do not work, please reference the section above instead.