Maximum Transaction Fee Exceeded: What That Wallet Warning Means

2026-09-03

Maximum Transaction Fee Exceeded: What That Wallet Warning Means

Your wallet is ready to send, and instead of a plain confirm button it puts a warning next to the maximum transaction fee. Nothing has failed yet. That figure is a ceiling you are authorising, not a charge you have agreed to pay, and the warning says the ceiling has crossed a line the wallet was watching. Which line it crossed is what separates a transaction that cannot go out at all from one that is merely uncomfortable to look at.

Maximum transaction fee exceeded: what the wallet warning is comparing, at a glance

What the maximum transaction fee actually is

Two settings produce that number, and neither of them is a price. The first is the gas limit, which ethereum.org defines as the maximum amount of gas you are willing to consume on a transaction. The second is the max fee per gas, described there as a maximum limit you are willing to pay for your transaction to be executed. Multiply the two and you have the maximum transaction fee.

So it is a worst case built out of two worst cases. It answers the question of how much this could cost you, not how much it will. Take a plain transfer of ether, which requires a gas limit of 21,000 units of gas, and suppose your wallet has set a max fee of 30 gwei per unit. The ceiling is 0.00063 ETH, and that is the figure the wallet shows you.

Wallets display the ceiling rather than the estimate because the ceiling is the amount that has to be sitting in your account before the network will look at the transaction. Everything friendlier that the interface shows next to it is a forecast.

Why the number is larger than the fee you expect to pay

Since EIP-1559, the price you pay per unit of gas has two parts: a base fee the network sets and burns, and a priority fee that goes to whoever includes you. Your max fee is the cap over both of them together. The rule that connects them is stated plainly in the developer documentation: the max fee must exceed the sum of the base fee and the tip, and the sender is refunded the difference between the max fee and the sum of the base fee and tip. If you want the full mechanism behind those two components, our explainer on gas fees covers it.

Put numbers on the same example. If the base fee settles at 12 gwei when your transaction is included and your tip is 1 gwei, the effective price is 13 gwei, so the transfer costs 0.000273 ETH. The remaining 0.000357 ETH was never spent. It was authorised, held out of reach while the transaction was pending, and then released.

This is why headroom is cheap and looks expensive. Doubling your ceiling does not double the charge, because how gas is priced is settled by the network at inclusion time, not by your ceiling. Doubling the ceiling doubles only the authorisation, and the authorisation is the thing on screen.

The three things a wallet compares your ceiling against

What the ceiling is compared with Why a wallet flags it Does it stop the send
Your account balance The balance has to cover the transfer plus the whole ceiling Yes
The amount you are sending A fee larger than the payment it moves is worth a second look No
The wallet's own fee suggestion A ceiling far above the current market reads like a typed digit too many No

Only the first row is a rule of the protocol. The other two are the wallet exercising judgement on your behalf, which is worth knowing before you go hunting for a setting to change: two of these three warnings can be read, understood, and confirmed straight through.

Exceeding your balance is the one that stops you

The balance test is written into the specification, which asserts that the signer balance is at least the gas limit multiplied by the max fee per gas, on top of the value being sent. The network checks the ceiling, not the expected cost, because at the moment of the check nobody knows yet what the base fee in the including block will be.

The practical consequence surprises people: you cannot send your entire balance in one transaction, and the shortfall is not the fee but the ceiling above it. This is what a send-max button is doing when it leaves an awkward remainder behind. Lowering the max fee per gas shrinks the ceiling and frees the room, but only down to a floor, and the next section is about what happens when you go under it.

Exceeding the amount you are sending is a judgement call

On a busy chain a small transfer can cost more to send than it moves. That is not a malfunction and not a sign that something is misconfigured. The network prices computation and blockspace, not the size of the payment riding on top, so a transfer of a few units of value and a transfer of a fortune between the same two accounts cost the same.

What the warning is really telling you is that this transfer is uneconomic at this moment. The answers are to wait for a quieter period, to combine several payments into one transaction, or to move the activity to a cheaper network. Raising or lowering the fee settings changes none of that, because the value being sent is not an input to the fee at all.

The opposite complaint: a ceiling under the base fee

The same setting produces the opposite warning when it is too low. The specification requires that the max fee per gas is at least the base fee of the block, so a ceiling under the current base fee makes your transaction ineligible for inclusion. It does not fail loudly. It waits in the mempool while every block goes by without it.

Waiting for the base fee to come down to meet you is slower than it sounds. The base fee moves by at most 12.5% per block, one eighth of its previous value, because the change denominator in EIP-1559 is eight. A ceiling well under the current base fee is therefore not going to be reached in the next block or two, and on a chain with short blocks that is still a long stretch of doing nothing.

The remedy is to raise the ceiling rather than to wait for it to become adequate. On account-based chains this means resending at the same nonce with a genuinely higher fee. On Bitcoin the equivalent manoeuvre is replace-by-fee, which rebroadcasts the same transaction with a bigger fee attached.

Gas limit, max fee and priority fee: what to change

Setting What it caps Raise it when What raising it does
Gas limit Units of work the transaction may consume The transaction runs out of gas Enlarges the ceiling and the balance test
Max fee per gas Total price per unit of gas Your ceiling is under the base fee Enlarges the authorisation, not the expected charge
Priority fee Your tip to the validator including you You need faster inclusion Raises what you actually pay

The asymmetry in the last column is the point. Raising the max fee moves the ceiling and leaves the expected charge where it was, while raising the tip moves the charge itself. A warning about the ceiling is therefore not a warning about price, and treating it as one leads people to trim the wrong setting.

The setting to leave alone in this situation is the gas limit. It governs how much work the transaction is allowed to do, not what that work costs, so raising it to clear a fee warning enlarges both the ceiling and the balance requirement while doing nothing about inclusion. Unused gas is refunded, which is why an oversized limit is not itself a charge, but it is still an authorisation you have signed.

One thing the refund does not cover is failure. A transaction that runs and then reverted still pays for the work performed before it stopped, so the ceiling on a contract call is not a purely theoretical number the way it is on a simple transfer.

The bottom line

The maximum transaction fee is the gas limit multiplied by the max fee per gas, and it is an upper bound rather than a price. Your account has to be able to cover it, the difference between it and the effective price comes back to you, and a wallet warning about it is a warning about the size of an authorisation.

Read the warning by asking which comparison triggered it. Against your balance it is a hard block and the ceiling has to come down or the amount does. Against the payment size it is advice about whether the transfer is worth making today. Against the wallet's own suggestion it is a check on a mistyped setting. And when the complaint runs the other way, with the ceiling under the base fee, nothing is stuck in the sense of being broken, because a transaction the network will not price has simply never entered the queue. To keep learning the fundamentals, follow more from Bitbase Academy.

Related reading

Other Bitbase articles on this topic:

- How to Switch RPC Endpoints Safely

- RPC Rate Limit Exceeded and How to Stop Hitting It

- What Is a Crypto QR Code?

- Validator Jailed: What It Means and How Unjailing Works

- Understanding Crypto Volatility Indexes

Disclaimer: This article is educational content from Bitbase Academy, provided for information only. It does not constitute investment, trading, tax, or financial advice. Crypto assets are volatile; assess your own risk. Written as of September 2026; refer to the latest official information.

References

[1] ethereum.org, Developer documentation, Gas and fees ethereum.org

[2] Ethereum Improvement Proposals, EIP-1559: Fee market change for ETH 1.0 chain, status Final eips.ethereum.org

[3] ethereum/execution-specs, src/ethereum/forks/london/fork.py, function check_transaction (tag v2.20.0, commit 2004296) github.com

Related Articles

More Recommendations