linea_estimateGas
Generates and returns the estimated amount of gas required to allow the transaction to complete and be published on Ethereum. The method does not submit the transaction to the blockchain.
The priorityFeePerGas
returned by this method includes the cost of submitting the transaction to Ethereum, which
can vary based on the size of the calldata
.
For more information about estimating gas, and how this API formulates the transaction costs, see the gas fees topic in the Linea documentation.
linea_estimateGas
uses the same inputs as the standard eth_estimateGas
,
but returns the recommended gas limit, the base fee per gas, and the priority fee per gas.
We recommend using linea_estimateGas
for more accurate results.
Parameters
TRANSACTION CALL OBJECT
[required]from
: [optional] 20 bytes - The address the transaction is sent from.to
: [optional] 20 bytes - The address the transaction is directed to.gas
: [optional] Hexadecimal value of the gas provided for the transaction execution.linea_estimateGas
consumes zero gas, but this parameter may be needed by some executions.gasPrice
: [optional] Hexadecimal value of the gas price used for each paid gas.maxPriorityFeePerGas
: [optional] Maximum fee, in wei, the sender is willing to pay per gas above the base fee.maxFeePerGas
: [optional] Maximum total fee (base fee + priority fee), in wei, the sender is willing to pay per gas.value
: [optional] Hexadecimal value of the value sent with this transaction.data
: [optional] Hash of the method signature and encoded parameters. See the Ethereum contract ABI specification.block number
: [optional] A string representing a block number, or one of the string tagslatest
,earliest
,pending
,safe
, orfinalized
. See the default block parameter.
Returns
Hexidecimal values representing the recommended gas limit, the base fee per gas, and the priority fee per gas.
Example
Replace <YOUR-API-KEY>
with an API key from your Infura dashboard.
Request
- cURL
- WSS
curl https://linea-mainnet.infura.io/v3/<YOUR-API-KEY> \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "linea_estimateGas", "params": [{"from": "0x42c27251C710864Cf76f1b9918Ace3E585e6E21b", "value": "0x1", "gasPrice": "0x100000000", "gas": "0x21000"}], "id": 53}'
wscat -c wss://linea-mainnet.infura.io/ws/v3/<YOUR-API-KEY> -x '{"jsonrpc": "2.0", "method": "linea_estimateGas", "params": [{"from": "0x42c27251C710864Cf76f1b9918Ace3E585e6E21b", "value": "0x1", "gasPrice": "0x100000000", "gas": "0x21000"}], "id": 53}'
Response
- JSON
{
"jsonrpc": "2.0",
"id": 53,
"result": {
"baseFeePerGas": "0x7",
"gasLimit": "0xcf08",
"priorityFeePerGas": "0x43a82a4"
}
}