@magnusmage/gasmate
v1.0.7
Published
Gas Fee Estimator is a powerful tool designed to provide real-time gas prices to ensure that your transactions get included in a block.
Downloads
88
Readme
Gas Mate
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.
Features
- 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.
Supported Networks
| 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 |
Installation
You can install this package using npm:
npm install @magnusmage/gasmate
or using yarn:
yarn add @magnusmage/gasmate
Usage
- 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);
}
})();
Example Output
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"
}
Error Handling
- 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.