How to save 90% in gas on Ethereum

Exploration of how can batch transactions save up to 90% in gas on Ethereum.

Transactions on Ethereum can easily cost more than $200 in gas. Many projects work hard to solve this problem. Some say you need alternative chains outside of Ethereum. Others say L2s are the solution, and everything needs to stay tightly connected to Ethereum.

Regardless of which camp you support, the truth is that most value is still sitting on Ethereum L1, where gas is unbearable. According to DeFiLlama, $113.89B is locked on Ethereum, with Terra as second and third BSC. In the Ethereum Layer 2 space, Arbitrum leads the charts with $3.65B locked, followed by dYdX ($1.00B TVL) and Optimism ($686M TVL). Most interesting apps and opportunities are still on Ethereum.

Many of us have deposits inside protocols on Ethereum. Sometimes, those deposits are not large, and it is economically infeasible to withdraw (gas costs more than the deposit is worth). Or we want to deposit into some smart contract that only exists on Ethereum today, but high gas prices are holding us off.

A question arises:

Is there a way to save gas on Ethereum L1 today before everyone moves to L2s and alternative chains?

Batch transactions let people save up to 90% in gas on Ethereum L1. Instead of sending a costly transaction on your own, you can batch it with other people and split the gas. Let me explain how batch transactions work using the following diagram:

Illustration of single vs batch transaction
Single Transaction (left), Batch Transaction (right)

The left part of the diagram shows a single (non-batch) transaction which costs 1M in gas for the user.

The right part shows when multiple users join a batch transaction. Extra “batch smart contract” is involved, which serves as a proxy between the users and the “expensive smart contract”. In this case, funds are pulled into the batch smart contract (gas cost is only 90k) from all batch users and deposited into the “expensive smart contract” as a single transaction.

The result is that in the case of batch transactions, each user only pays 363.33k in gas. This equals 69% in gas savings with just 3 batch participants. Savings increase with more people in the batch.

Many people successfully batched their transactions and saved in gas using Wido Batch Transactions.

At Wido, we built batch transactions for deposits and withdrawals into yearn.finance and pickle.finance vaults.

Following are examples of recent batch transactions and gas savings:

(1) Withdraw USDC from yvCurve-stETH

  • Batch size: 4 users
  • Total batch transaction value (in USD): $36,265
  • Gas savings: 69.74%
  • Link to Etherscan

(2) Withdraw USDC from yvUSDC 0.3.0 and deposit into yvUSDC 0.4.3 (vault migration)

  • Batch size: 7 users
  • Total batch transaction value (in USD): $226,905
  • Gas savings for each batch participant: 61%
  • Link to Etherscan

You can see more recent batches and learn more about the product on the Wido Batch Transactions page. If you are interested in more details on how it works, check this article.

How much gas can batch transactions save?

Below is a chart showing the ratio between gas savings and batch size. It was calculated for this transaction (deposit USDC into the Curve Frax vault by yearn.finance using a Zap). The numbers will differ slightly for different transactions.

Chart showing amount of savings per amount of users in a batch
Gas savings based on number of users in a batch

As you can see, with just three people in the batch, everyone saves 60% in gas. With 20 batch participants, the gas savings are almost 90% for each batch participant.

We are looking for feedback and partnerships ✌️

We are happy with the initial results and would love to take Wido batch transactions to the next level to let more people and protocols benefit from gas savings.

We are looking for:

  • Suggestions on which transactions do you want to be cheaper? If you are stuck in an expensive vault or plan to deposit into some vault on Ethereum L1: let us know, and we will integrate it into Wido batch transactions so that you can split the gas with others
  • Protocols interested in integrating batch transactions to let their users save in gas

We think we can extend batch transactions to pretty much any transaction on Ethereum L1, and we need your help to get there.

Try Batch Transactions and save gas on Ethereum

Go to app.joinwido.com, filter vaults on Ethereum and look for gasless deposits, withdrawals or migrations.