# eth\_call

**Executes a new message call immediately without creating a transaction on the block chain. Often used for executing read-only smart contract functions, ofr example the `balanceOf` for an ERC-20 contract.**

[**Ethereum.org API Reference**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_call)

**Parameters**

1. `Object` - The transaction call object

* `from`: `DATA`, 20 Bytes - (optional) The address the transaction is sent from.
* `to`: `DATA`, 20 Bytes - The address the transaction is directed to. <mark style="color:red;">REQUIRED</mark>
* `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.
* `gasPrice`: `QUANTITY` - (optional) Integer of the gasPrice used for each paid gas
* `value`: `QUANTITY` - (optional) Integer of the value sent with this transaction
* `data`: `DATA` - (optional) Hash of the method signature and encoded parameters. For details see [Ethereum Contract ABI in the Solidity documentation(opens in a new tab)↗](https://docs.soliditylang.org/en/latest/abi-spec.html)

2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"` or `"pending"`, see the [default block parameter](https://ethereum.org/en/developers/docs/apis/json-rpc/#default-block) <mark style="color:red;">REQUIRED</mark>

**Returns**

`DATA` - the return value of executed contract.

## Example

#### Request

```
curl --request POST \
     --url https://endpoints.omniatech.io/v1/RPC_ENDPOINT \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "eth_call",
  "params": [
    {
      "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
      "gas": "0x00",
      "gasPrice": "0x09184e72a000",
      "value": "0x00",
      "data": "0x"
    }
  ]
}
'
```

#### Response

```
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x"
}
```
