ETH Gas Fee Calculator
Live Ethereum gas prices and the real cost of a transfer, swap or mint in ETH and your own currency. Prices update every few seconds from the base fee and mempool priority fees of a fully synced Ethereum node.
Base fee: --
ETH: --
| Speed | Gas price | Cost in ETH | Cost in USD |
|---|---|---|---|
| Slow · ~3 min | -- | -- | -- |
| Standard · ~1 min | -- | -- | -- |
| Fast · ~30 sec | -- | -- | -- |
| Rapid · next block | -- | -- | -- |
What each transaction costs at the standard fee
| Transaction | Gas limit | Cost in ETH | Cost in USD |
|---|---|---|---|
| ETH transfer | 21,000 | -- | -- |
| ERC-20 transfer | 65,000 | -- | -- |
| ERC-20 approve | 46,000 | -- | -- |
| NFT mint | 150,000 | -- | -- |
| DEX swap | 180,000 | -- | -- |
Live data from BLAZED's own Ethereum node via the blazed explorer, refreshed every 15 seconds. ETH price by CoinGecko.
How Ethereum gas fees are calculated
Every transaction pays gas limit times gas price. The gas limit measures how much computation the transaction performs, and since EIP-1559 the gas price has two parts: a base fee that the protocol sets each block and burns, and a priority fee you add as a tip so block builders include you sooner. Your wallet submits a max fee per gas that caps the total; whatever the transaction does not use is refunded. Gas prices are quoted in gwei, which is a billionth of an ETH, so a transfer of 21,000 gas at 20 gwei costs 0.00042 ETH. If you need to move between gwei, wei and ETH, the unit converter does exact big-integer math.
The gas limit depends on what the transaction does, and the values below are what the calculator uses for its presets. Real usage varies with the contract, the token and the state it touches, so treat them as typical figures rather than exact ones.
| Transaction type | Typical gas | Notes |
|---|---|---|
| ETH transfer | 21,000 | Fixed by the protocol, never more |
| ERC-20 approve | ~46,000 | First approval costs more than updates |
| ERC-20 transfer | ~65,000 | Higher if the recipient balance is new |
| NFT mint | ~150,000 | Varies widely with the contract |
| DEX swap | ~180,000 | More for multi-hop routes |
Why fees change block to block
The base fee reacts to demand every 12 seconds. Blocks target 50% fullness; a fuller block raises the next base fee by up to 12.5% and an emptier one lowers it by the same amount, which compounds fast in both directions. On top of that, the priority fee market is a live auction inside the mempool, and it is where the tiers above come from: this page reads the base fee of the latest block and the distribution of tips that pending transactions are actually offering, straight from BLAZED's own Ethereum node. Slow rides the 25th percentile of those tips, standard the median, fast the 75th and rapid the 90th.
That also explains why a fee that looked fine when you signed can leave a transaction stuck. The base fee is not a bid; it is whatever the next block demands, and a max fee below it means no builder can include you at all until demand falls back. Setting a generous max fee costs nothing when the network is quiet, because the difference is refunded, and it is the difference between confirming and waiting when the network is not.
Reading gas prices from code
A wallet screen is fine for one transaction; a bot needs the numbers programmatically. Four JSON-RPC methods cover it. eth_gasPrice returns a single legacy figure, eth_maxPriorityFeePerGas a suggested tip, eth_feeHistory the base fee and tip percentiles across recent blocks, and eth_estimateGas the gas limit for a specific call. The tiers on this page are built from the third of those. In ethers.js the first three collapse into one call:
import { WebSocketProvider } from "ethers";
// Inside a BLAZED.sh container or script this is the co-located node.
const provider = new WebSocketProvider("ws://eth:8545");
const fee = await provider.getFeeData();
// fee.gasPrice, fee.maxFeePerGas, fee.maxPriorityFeePerGas (bigint, wei)
const gas = await provider.estimateGas({ to: recipient, value: amount });
const worstCase = gas * fee.maxFeePerGas; // wei you could payIf your application needs this continuously, polling a third-party gas API adds latency exactly when fees move fastest, and the number you get is a cache of a number that has already changed. BLAZED.sh runs your container or script directly on the node, so you read the mempool and every new block over local IPC in under 10 milliseconds instead of waiting on someone else's HTTP hop. Each call draws a predictable per-request credit rather than an opaque compute unit, and the JSON-RPC method reference documents what each one returns. One more habit worth keeping before you sign anything: run the recipient through the EIP-55 address checker, because a fee you got right on an address you got wrong is still a total loss.
Frequently asked questions
How do I calculate an ETH gas fee?
Multiply the gas limit of the transaction by the gas price in gwei, then divide by one billion to get ETH. A simple transfer uses 21,000 gas, so at a 20 gwei gas price it costs 21,000 x 20 / 1,000,000,000 = 0.00042 ETH. Since EIP-1559 the gas price is the sum of the protocol base fee and the priority fee you add on top.
What is the difference between base fee and priority fee?
The base fee is set by the protocol each block and is burned, so nobody earns it. The priority fee is a tip you add on top to make block builders include your transaction sooner. Wallets submit a max fee that caps both together and refund whatever is not used.
What is a gwei?
A gwei is a billionth of an ETH, or 1,000,000,000 wei. Gas prices are quoted in gwei because the numbers stay readable: 20 gwei is 0.00000002 ETH per unit of gas. Wallets and block explorers use gwei everywhere, so it is worth reading fees in that unit rather than converting each time.
What is a gas limit?
The gas limit is the maximum amount of computation a transaction may consume. A plain ETH transfer always uses exactly 21,000 gas, while contract calls vary: an ERC-20 transfer runs around 50,000 to 65,000 and a DEX swap can exceed 150,000. Unused gas is refunded, but if the limit is set too low the transaction reverts and the gas spent is still lost.
Do I still pay if my transaction fails?
Yes. Gas pays for computation, not for success. A transaction that reverts or runs out of gas has already consumed the work the network did on it, so that portion is charged. Only gas the EVM never reached is refunded, which is why a transaction that runs out of gas is the expensive kind of failure.
Why do Ethereum gas fees change so quickly?
The base fee adjusts every block, and blocks arrive every 12 seconds. When a block is more than half full the base fee rises by up to 12.5%, and when it is less than half full it falls by up to 12.5%. A burst of demand, such as a popular mint or a market move that triggers liquidations, can multiply fees within minutes.
How can I pay less for gas?
Transact when demand is low; weekends and off-peak hours for the US and Europe are usually cheapest. Tune the priority fee against real mempool conditions instead of accepting the wallet default, since the difference between slow and rapid is often just a fraction of a gwei. For frequent small transactions, a Layer 2 rollup reduces fees by orders of magnitude.
How do I read the current gas price from code?
Call eth_gasPrice for a single legacy number, eth_maxPriorityFeePerGas for a suggested tip, or eth_feeHistory for the base fee and tip percentiles over recent blocks, which is what the tiers on this page are built from. Pair it with eth_estimateGas for the gas limit. In ethers.js all of this is provider.getFeeData() and provider.estimateGas().
Does this calculator work for other chains?
The live prices here are Ethereum mainnet, which is the network BLAZED.sh runs nodes for. The arithmetic is identical on any EIP-1559 chain, gas limit times base fee plus tip, but you would need that chain's own base fee to get a real number, so do not read these gwei values as Arbitrum, Base or Polygon fees.
Where does this calculator get its data?
Gas tiers come live from BLAZED's own Ethereum node via the blazed explorer API, computed from the base fee of the latest block and priority fee percentiles across the node's actual mempool. If that API is unreachable, the page falls back to eth_feeHistory on a public RPC endpoint. The ETH price comes from CoinGecko.
Building on Ethereum?
Run your code on the node itself. No rate limits, no compute units, predictable per-request credits, sub-10ms RPC.