In this guide
  1. Separate the network fee from the service charge
  2. Bitcoin fees depend on transaction size, not just value
  3. Ethereum gas measures work, while the gas price prices that work
  4. Why a failed transaction can still cost money
  5. Why wallet estimates change or disagree
  6. Layer 2 fees have more than one component
  7. How to make a sensible decision when fees rise

A crypto transaction fee is the cost of having a network process an action under its resource rules. Depending on the blockchain, that can include transaction data, computation, storage or several of these together. The fee is not usually a simple percentage of the amount transferred.

That explains an initially surprising result: sending a small amount can cost more than sending a large amount. The smaller payment may use more transaction data, run a complicated contract or arrive during a period of congestion. The financial value moved and the work performed are different quantities.

Separate the network fee from the service charge

A wallet sending directly to a blockchain estimates the resources required and the fee conditions likely to get the transaction included. An exchange can instead quote a withdrawal charge according to its own policy. The two numbers may be related, but they are not automatically equal.

A swap can add trading fees and price impact. A bridge can add relayer or liquidity charges. A payment provider can charge for conversion or a bank payout. Looking only at a line labeled gas can therefore miss a significant part of the cost of completing a task.

Before approving, identify the amount leaving the account, each separately disclosed charge and the amount expected to arrive. Check the denomination too. A fee shown in a network's native coin may fluctuate in dollar terms even when the underlying resource charge is unchanged.

Bitcoin fees depend on transaction size, not just value

Bitcoin spends previously received outputs. A new transaction can combine several inputs and create several outputs, including change returned to the sender. Its virtual size reflects the data and weight of that structure. More inputs can mean more work to include than a simple payment funded by one output.

Wallets commonly express a fee rate in satoshis per virtual byte, abbreviated sat/vB. A satoshi is one hundred-millionth of a bitcoin. Multiplying the rate by the transaction's virtual size produces an estimated fee in satoshis.

For a hypothetical example, a 160-vB transaction at 8 sat/vB would pay 1,280 satoshis. Those inputs are illustrative, not a current recommended rate. A wallet constructing a different transaction can produce a different size even when the displayed payment amount is identical.

A backlog of transactions competes for limited block capacity. Paying more can improve a transaction's relative position, but a wallet cannot promise the next block will contain it. Mining conditions and competing transactions continue to change after an estimate is displayed.

Ethereum gas measures work, while the gas price prices that work

On Ethereum, gas measures the computational resources needed for a transaction. A straightforward transfer and a multi-step contract call have different demands. Gas units are distinct from the price paid for each unit.

Under Ethereum's fee model, the base fee is burned and a priority fee can compensate the validator including the transaction. A sender's maximum fee and priority-fee settings constrain the effective price. They should not be confused with an instruction to spend the entire maximum regardless of actual conditions.

In another hypothetical example, an operation using 60,000 gas at an effective 12 gwei per gas costs 0.00072 ETH. One gwei is one-billionth of an ether. The calculation describes mechanics, not a live fee quote or a promise that a particular application will use 60,000 gas.

The gas limit is a resource budget. Setting it too low can cause an operation to run out of gas, while raising it does not by itself purchase priority. Price and resource limit solve different problems. A wallet simulation can help estimate execution, but state may change before the transaction is processed.

Why a failed transaction can still cost money

A failed Ethereum contract action can still consume computation before the failure is reached. The intended application state changes may be reverted while the work already performed is charged. This is why a failed swap can leave a user without the new token but with less ETH.

Unused gas is not automatically charged simply because it was included in the limit. Conversely, a transaction that exhausts its gas budget can consume that budget without completing the desired action. Reading only the success message or token balance can miss the actual fee result.

Different networks implement failure and storage rules differently. Sui, for example, separates computation and storage charges and can apply eligible storage rebates. Do not apply Ethereum's exact accounting to every wallet merely because all of them use the word gas.

Why wallet estimates change or disagree

Wallets observe recent network conditions and choose an estimation policy. One may prioritize a rapid confirmation, while another accepts a longer wait. They can also construct different transactions, use different infrastructure or include different margins for uncertainty.

An estimate is therefore not a reservation of future block space. If demand rises between quotation and broadcast, the original setting may become less competitive. If the application state changes, execution can take a different path from the one originally simulated.

Compare like with like: the same network, action, amount, speed target and set of service charges. A lower estimate is not necessarily a better outcome if it refers to a different route or leaves the transaction waiting indefinitely.

Layer 2 fees have more than one component

On an Ethereum rollup, a user's charge can include execution on the rollup and a share of the cost of publishing data or settling activity on Ethereum. The exact formula is network-specific. A cheap Layer 2 transaction is not evidence that Ethereum's data costs no longer matter.

Moving funds into or out of that system can add separate costs. A bridge route can also involve waiting periods or a liquidity provider's charge. The Layer 2 guide explains why the cost of a round trip can differ from the cost of one action after funds have arrived.

Sponsored transactions shift some cost away from the end user, while specific protocol designs can exempt selected operations. The practical question is who pays, which actions qualify and what restrictions apply. A free-looking interface is not enough information to assume every future transaction will remain free.

How to make a sensible decision when fees rise

First decide whether the action is urgent. A lower-priority setting can be reasonable for a nonurgent transfer, but only within the wallet's supported options. For a pending transaction, use the wallet's documented replacement or acceleration tools where available. Replacement is not a universal cancellation mechanism.

Second, review the route before changing networks to save a fee. The recipient must support the chosen network and exact asset. Recovering a transfer sent through an unsupported route can be far more expensive than the original charge, and may not be possible at all.

Finally, treat confirmation as a process. Keep the transaction identifier, inspect status through a trusted explorer and distinguish a submitted transaction from a credited exchange deposit. Small test transfers can check a route, but they create an additional fee and do not remove the need to verify the final destination.