What a gas limit actually is
On Ethereum and other EVM chains, every transaction is metered in "gas": each step it asks the network to perform — moving value, touching storage, running contract code — has a fixed gas cost. The gas limit is the upper bound the sender places on that total. It is not the fee and it is not the amount spent; it is the maximum number of gas units the transaction is allowed to burn before the network stops executing it.
A transaction spends only the gas it actually needs, up to that ceiling. A plain transfer of the native coin has a small, well-known cost, so its limit can sit just above that figure. An interaction with a smart contract — moving an ERC-20 token, for instance — does more work and needs a higher limit. Wallets estimate the right limit automatically for ordinary transfers, so a payer rarely sets it by hand.
The limit interacts with the gas price to bound the fee. The price is what the sender pays per unit of gas; the limit is the most units the transaction may use. The maximum possible fee is therefore the limit times the price, and the real fee is the gas actually consumed times the price — usually well under the cap. Setting the limit too low is the danger: if a transaction runs out of gas before it finishes, the network reverts it but still keeps the fee for the work done, so the sender pays for a transfer that did not complete.
Why a merchant should care
Gas limit is an EVM-specific concept, so it matters on the EVM rails halfin supports — Ethereum, the L2s Base, Arbitrum, and Polygon, and BNB Smart Chain — and not on non-EVM chains like Bitcoin, Tron, XRP, or Solana, which meter transactions differently. A merchant does not set gas limits, but understanding the term explains a class of payer-side failure: a transfer that was broadcast but never confirmed because its limit was too low and it ran out of gas.
The distinction worth keeping straight is between gas limit and gas fee. The gas limit caps how much gas a transaction may use; the gas fee is the cost actually charged, paid in the chain's native coin by the payer's wallet. Neither is a halfin charge — both are properties of the blockchain. A token transfer needs a higher limit than a native-coin transfer because moving an ERC-20 runs contract code, which is part of why those transfers tend to cost more.
Gas limit and a halfin payment
When a customer pays an invoice on an EVM chain, their wallet builds and signs the transaction — including its gas limit — and broadcasts it to the network. halfin neither sets the limit nor pays the fee; it watches the chain for the deposit and credits the invoice once the transfer confirms with the chain's required number of confirmations. If a payer's transaction is set with too low a limit and runs out of gas, it reverts on-chain and no deposit arrives, so the invoice simply stays unpaid until a successful transfer lands or the invoice expires.
Because invoices are anchored to fiat, the gas limit has no effect on the figure recorded in your ledger. You bill a fiat amount, halfin maps it to the payable amount in the chosen asset at the live rate and locks that figure when the invoice activates, and the customer's wallet handles the gas limit and the fee separately as part of broadcasting the transfer. The same applies to money leaving the platform: a single payout or a mass payout on an EVM chain is a real on-chain send whose transaction carries its own gas limit, set so that it covers the work the transfer requires.
- A ceiling, not a fee — the maximum gas a transaction may use, set by the sender's wallet.
- EVM-only — relevant on Ethereum, Base, Arbitrum, Polygon, and BSC; not on Bitcoin, Tron, XRP, or Solana.
- Bounds the fee — the most a transaction can cost is the gas limit times the gas price.
- Too low fails — a transaction that exhausts its limit reverts but still pays for the gas it burned.