# eth\_estimateGas

Generates and returns an estimate of how much gas is necessary to allow the transaction to complete.

This method will use `100` [Compute Units](../../about/billing).

***

## Reference: [Here](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas)

## **Parameters**

`from` - \[optional] String of the address the transaction is sent from.

`to` - \[optional] String of the address the transaction is directed to.

`gas` - \[optional] Integer of the gas provided for the transaction execution.

`gasprice` - \[optional] Integer of the gasPrice used for each paid gas encoded as a hexadecimal.

`value` - \[optional] Integer of the value sent with this transaction encoded as a hexadecimal.

`data` - \[optional] String of the hash of the method signature and encoded parameters. For more information, see the [Contract ABI description in the Solidity documentation](https://docs.soliditylang.org/en/latest/abi-spec.html).

## Returns

`String` - hex string value representing an integer of the amount of gas units used.

```bash
// Result
{
  "id":1,
  "jsonrpc": "2.0",
  "result": "0x5208" // 21000
}
```

{% tabs %}
{% tab title="mainnet" %}
```bash
curl https://mainnet.optimism.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see above}],"id":1}'

```
{% endtab %}
{% endtabs %}

