# eth\_call

Executes a new message call immediately without creating a transaction on the block chain.

## **Parameters**

**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.
* `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)

## Returns

`DATA` - the return value of executed contract.

## Example

*NOTE:* In this example we are using public Ethereum endpoint. Ideally, for your own projects, you should use your own endpoint, which you can generate for free by connecting to your wallet [here](https://www.noderpc.xyz/).

{% tabs %}
{% tab title="ethers" %}

### Query

*NOTE:*&#x20;

* `ethers` used below is a well-known web3 library, check it out [here](https://github.com/ethers-io/ethers.js/).
* in the example below we are requesting a DAI ERC20 token balance for address `0x657CDcB4A6d39B1287da5B0b68f437Cd1E1086D3`

```javascript
import { ethers } from 'ethers';

const provider =
  new ethers
    .providers
    .JsonRpcProvider("https://www.noderpc.xyz/rpc-mainnet/public")

provider.send('eth_call', [
    {
      "from": null,
      "to": "0x6b175474e89094c44da98b954eedeac495271d0f",
      "data": "0x70a08231000000000000000000000000657CDcB4A6d39B1287da5B0b68f437Cd1E1086D3"
    },
    "latest"
]).then((result) => {
  console.log(result);
});

```

### Result

{% code overflow="wrap" %}

```json
0x0000000000000000000000000000000000000000000000000000000000000000
```

{% endcode %}
{% endtab %}
{% endtabs %}

###
