seapresale.xyz

Batch Transactions to Save Gas Using Multicall on Ethereum and L2s

Every fees/stuck-ethereum-transaction-fix/">Ethereum transaction pays a fixed cost before it does anything useful. That cost is 21,000 gas. It covers the base overhead of getting the network to process your request at all. Send one transfer: 21,000 gas plus whatever the transfer logic costs. Send two transfers in separate transactions: 42,000 gas just for the overhead. The actual work might be the same. You pay twice for the privilege of asking twice.

Multicall is a technique that bundles multiple actions into a single transaction. One overhead payment. One signature. One entry into a block. The savings compound on expensive actions like swaps, approvals, and liquidity additions. On L2s, where base fees are lower but still nonzero, the same logic applies - just with smaller absolute savings.

Real example: approve then swap

Consider a typical DeFi workflow. You want to swap USDC for ETH on Uniswap. Most tokens require an approval transaction first. That's transaction one: approve the Uniswap router to spend your USDC. Then transaction two: execute the swap. Two transactions, two overhead payments. At 21,000 gas each, you burn 42,000 gas before any swap math happens.

With a multicall, you pack both steps into one transaction. The contract calls approve, then calls swap, all inside a single batch. You pay the 21,000 gas overhead once. The second approval's overhead disappears. On a busy Ethereum day with base fees at 50 gwei, that saving can be several dollars per swap. On Arbitrum or Optimism, where fees are fractions of a cent, it still shaves off a measurable percentage of total cost.

The tradeoff: all or nothing

Batching has a catch. If any sub-action in the batch fails, the entire transaction reverts. No partial success. You cannot get the approval through while the swap fails. Everything rolls back. You pay the gas for the failed batch anyway - the overhead and the work done up to the failure point.

This matters when you batch operations with different risk profiles. An approval almost never fails unless you hit a token bug. A swap can fail due to slippage, insufficient liquidity, or a stale price. If you batch an approval with a tight-slippage swap, a slight price move kills the whole batch. You lose the approval gas too. Sometimes it is cheaper to send the approval alone, then the swap alone, accepting two overhead payments for more granular control.

Wallets and tools that support batching natively

You do not need to write smart contracts to use multicall. Some tools build it in.

Rabby wallet includes a built-in batch sender. You construct multiple actions - transfers, approvals, contract calls - and Rabby wraps them into one transaction. It shows you the estimated gas saving before you sign. The wallet handles the multicall contract interaction behind the scenes.

Uniswap's own interface uses multicall extensively. When you swap, the frontend batches the permit or approval with the swap transaction if possible. You may not even notice. The interface checks your allowance, and if you need to approve, it tries to combine the approval call with the swap in one transaction. If your token supports EIP-2612 permits, the approval step becomes a signature, and the entire flow fits in one transaction with no extra overhead at all.

Other DeFi aggregators like 1inch and Cow Swap also batch where they can. The pattern is becoming standard. Any time you see "approve and swap" in one step, that is multicall at work.

When not to batch

Batching is not always better. If you are sending transactions to different protocols that have no relationship, keeping them separate makes sense. A failed batch that touches three unrelated protocols wastes more gas than three individual failures. Also, if you need to confirm one action succeeded before proceeding - like checking that a deposit went through before trading - separate transactions give you that safety.

For routine DeFi moves where actions are tightly linked, multicall saves real money. Approve and swap. Deposit and stake. Add liquidity and mint an LP token. Each batch cuts the overhead by roughly half. On L2s the absolute savings are smaller, but the principle holds: pay the overhead once, not per action.

Not financial advice. seapresale.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.

Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.

Back to gas fees