Contracts
Simulate Call
Execute a read-only contract call (eth_call) without submitting a transaction. Use this to read contract state, test function calls, or preview transaction results.
The data parameter should be the ABI-encoded function selector and arguments. For example, to call balanceOf(address) on an ERC-20:
- Function selector:
0x70a08231 - Address padded to 32 bytes:
000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045
simulateCall
Executes a contract call locally without sending a transaction (eth_call). Returns the raw return data. Useful for reading contract state, testing function calls, or simulating transactions before submission.
Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| to | yes | Contract address e.g. 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| data | yes | ABI-encoded function call data e.g. 0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045 |
| from | no | Caller address |
| value | no | ETH value in hex wei |
| block | no | Block number (hex) or "latest" |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
result | string |
Supported Networks
Get Contract Code
Check whether an address is a contract or an EOA. Returns the deployed bytecode and its size in bytes.
getCode
Returns the bytecode deployed at an address. If the result is "0x", the address is an EOA (externally owned account), not a contract. Also returns the bytecode size in bytes.
Parameters
| Name | Required | Description |
|---|---|---|
| chain | yes | Network slug |
| address | yes | Address to check e.g. 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| blockHeight | no | Historical EVM block number (archive nodes only) e.g. 19834521 |
Response Fields
| Field | Type |
|---|---|
data | object |
chain | string |
address | string |
blockHeight | integer |
isContract | boolean |
bytecodeSize | integer |
bytecode | string |