Gas Mate is designed to provide real-time gas prices to ensure that your transactions get included in a block. It provides an asynchronous function getGasFeeEstimates
that estimates gas fees across different blockchain networks.
- Gas Fee Estimation: Calculate low, medium, and high gas fee estimates for transactions.
- Network Support: The function handles modern, legacy, and custom networks like Ethereum, Binance Smart Chain, Polygon, Avalanche, and others.
- Custom Gas Fee Scaling: Dynamically adjust gas fees using percentile-based scaling for a more accurate estimation.
- Historical Data: Utilizes recent blocks and transaction data to provide an accurate estimation of gas prices.
Network | Chain ID |
---|---|
Arbitrum One | 42161 |
Arbitrum Nova | 42170 |
BNB Smart Chain Mainnet | 56 |
BNB Smart Chain Testnet | 97 |
BNB opBNB (layer 2) | 204 |
Catena Chain Testnet | 9000 |
Cronos Mainnet | 25 |
Ethereum Mainnet | 1 |
Ethereum Sepolia | 11155111 |
Fantom Mainnet | 250 |
Filecoin Mainnet | 314 |
Linea Mainnet | 59144 |
Linea Sepolia | 59141 |
Neon EVM Devnet | 245022926 |
Optimism Mainnet | 10 |
Polygon Mainnet | 137 |
Polygon Amoy | 80002 |
ZKsync Era Mainnet | 324 |
You can install this package using npm:
npm install @magnusmage/gasmate
or using yarn:
yarn add @magnusmage/gasmate
- Import the getGasFeeEstimates function in your project:
const getGasFeeEstimates = require('@magnusmage/gasmate');
or
import getGasFeeEstimates from '@magnusmage/gasmate';
- Call the function, passing the desired network's RPC URL:
(async () => {
try {
const gasFeeEstimates = await getGasFeeEstimates('https://bsc-dataseed.binance.org/');
console.log(gasFeeEstimates);
} catch (error) {
console.error(error.message);
}
})();
The function returns an object containing gas fee estimates for low, medium, and high priority transactions:
{
"low": {
"suggestedMaxPriorityFeePerGas": "1.2",
"suggestedMaxFeePerGas": "12.34",
"minWaitTimeEstimate": 15000,
"maxWaitTimeEstimate": 60000
},
"medium": {
"suggestedMaxPriorityFeePerGas": "1.5",
"suggestedMaxFeePerGas": "15.67",
"minWaitTimeEstimate": 15000,
"maxWaitTimeEstimate": 45000
},
"high": {
"suggestedMaxPriorityFeePerGas": "1.8",
"suggestedMaxFeePerGas": "18.90",
"minWaitTimeEstimate": 15000,
"maxWaitTimeEstimate": 30000
},
"estimatedBaseFee": "12.34"
}
- Invalid RPC URLs will result in an error.
- If there are no gas prices found in recent blocks, the function throws an appropriate error message.