You hit send on a crypto transfer and notice a fee you didn't expect — or you watch a transaction sit unconfirmed for two hours because the fee you set was too low. Either way, something is happening under the hood that's worth understanding. Transaction fees are not arbitrary charges from a company. They are the mechanism that keeps a decentralised network running, and knowing how they work puts you in control.
In Plain English
Every time you send cryptocurrency, your transaction competes for limited space inside the next block that gets added to the chain. The people who produce those blocks — miners on proof-of-work chains like Bitcoin, validators on proof-of-stake chains like Ethereum — choose which transactions to include. They pick the ones offering the highest fee. So the fee you attach is essentially a bid for priority.
When the network is quiet, almost any bid wins quickly. When demand surges, you either pay more or wait.
What Transaction Fees Actually Pay For
Fees are compensation for the computing work and responsibility involved in processing and securing transactions. A miner or validator who includes your transaction in a block receives your fee directly.
On proof-of-work chains the fee supplements the block reward — the newly minted coins awarded to the miner who successfully hashes a block. On proof-of-stake chains there is no traditional block reward in the same sense, so fees matter even more as validator income. Either way, fees give the people running the network an economic reason to keep doing so.
There is no single global fee market. Bitcoin, Ethereum, Solana, and every other network each maintain their own. Block space is a finite resource: Bitcoin produces roughly one block every ten minutes, and each block can only hold so many transactions. When more people want to transact than one block can fit, a fee market forms, and the price of inclusion rises.
The Mempool: The Waiting Room for Unconfirmed Transactions
When you broadcast a transaction — which you can read about in detail in how a blockchain transaction works — it doesn't land in a block instantly. It first enters the mempool (short for memory pool), a temporary holding area of unconfirmed transactions maintained by every full node on the network.
There is no single global mempool. Every node keeps its own copy, and they can differ slightly depending on what transactions each node has seen. Miners and validators pull transactions out of their local mempool view, ranking them by fee rate and selecting the highest offers first.
A stuck transaction is simply one sitting in the mempool with a fee rate too low to be competitive. On Bitcoin, fee rate is measured in satoshis per virtual byte (sat/vbyte). On Ethereum it is gwei per unit of gas. If your fee rate falls below what miners are currently accepting, your transaction waits. On most Bitcoin nodes, transactions priced too low may eventually be dropped after roughly 14 days.
Why Fees Spike: Congestion and Demand
Fees spike whenever demand for block space outpaces supply. Common triggers include NFT mints, token launches, airdrops, and sharp market moves — anything that causes many people to want on-chain settlement at the same moment.
On Bitcoin, the effective block size is capped, so a sudden surge fills the mempool quickly and pushes fee rates up. Fees can drop all the way to 1 sat/vbyte during quiet periods, then climb to 50–100 sat/vbyte or beyond during peaks.
Ethereum introduced a more structured approach with EIP-1559, activated on August 5, 2021 as part of the London hard fork. Before EIP-1559 users simply bid whatever they thought would work. The upgrade replaced the pure auction with a protocol-set base fee that adjusts automatically: if the previous block was more than 50% full, the base fee rises by up to 12.5%; if it was less than 50% full, it falls. This makes fee changes predictable even if it doesn't eliminate them.
Layer-2 networks — like Lightning Network on Bitcoin or Optimism on Ethereum — address congestion differently. They batch many transactions into a single on-chain settlement, dramatically reducing the per-user fee for participants.
How Bitcoin Fees Work: sat/vbyte and Transaction Size
Bitcoin fees are proportional to how much space your transaction occupies, measured in virtual bytes (vbytes). The formula is straightforward:
Fee rate (sat/vbyte) × transaction size (vbytes) = total fee in satoshis
A simple transaction spending one input and sending to two outputs is roughly 140–200 vbytes. A transaction consolidating many inputs can be several times larger and cost proportionally more, even at the same fee rate.
Miners rank pending transactions by fee rate, not by absolute fee. A large transaction paying a modest total fee may have a lower fee rate than a tiny transaction paying a smaller absolute amount.
Typical fee tiers as a rough guide:
- Low (~1–5 sat/vbyte): suitable during quiet periods, may take hours or longer during any congestion
- Medium (~10–30 sat/vbyte): usually confirms within a few blocks under normal conditions
- High (~50–100 sat/vbyte): targets the next block, appropriate when speed matters
How Ethereum Fees Work: Gas, Base Fee, and Tips
Every operation on Ethereum consumes gas — a unit of computational work. A simple ETH transfer costs exactly 21,000 gas units. Interacting with a smart contract (swapping tokens, minting an NFT, depositing into a protocol) consumes far more.
Since EIP-1559, the total fee you pay is:
(base fee + priority fee) × gas used
The base fee is set by the protocol, not by you. It is burned — permanently removed from circulation — rather than paid to the validator. The priority fee (also called a tip) is user-chosen and goes directly to the validator as an incentive to include your transaction.
When you submit a transaction you also set a maxFeePerGas — a ceiling above which you are unwilling to pay. If the base fee at inclusion time is below your max, the unused margin is refunded. A commonly recommended formula for setting your max fee is:
max fee = (2 × current base fee) + priority fee
The 2× multiplier gives you six blocks of buffer, since the base fee can rise at most 12.5% per block.
Using a Fee Estimator to Avoid Overpaying
Fee estimators analyse recent blocks and the current mempool state to predict the minimum fee rate likely to land your transaction in a given time window. Most crypto wallets — including Zelcore — surface this as selectable tiers: slow, standard, and fast.
For Bitcoin, mempool.space shows live sat/vbyte estimates for next-block confirmation, roughly 30-minute confirmation, and roughly 1-hour confirmation. For Ethereum, Etherscan's Gas Tracker and blocknative.com display the current base fee alongside recommended priority fees.
If your transfer is not time-sensitive, selecting the slow tier during congestion can reduce your fee by 80–95% compared to the fast tier. The trade-off is waiting — sometimes hours if congestion is severe. The key rule: never set a fee below the current mempool floor, or your transaction risks being dropped entirely.
Key Takeaways
- Fees pay miners or validators who secure the network; they are not collected by any company.
- The mempool is a queue — your fee rate determines where in that queue you stand.
- Ethereum's EIP-1559 base fee adjusts automatically, rising up to 12.5% per block when demand is high.
- On Bitcoin, fee rate × vbytes = total fee; on Ethereum, (base fee + tip) × gas used = total fee.
- Choosing the slow fee tier during busy periods can save most of your fee cost when you have time to wait.
- Fee estimators in your wallet do the heavy lifting — check them before every send.



