Skip to content

alchemyplatform/aa-benchmarks

Repository files navigation

Smart Account Benchmarks

These comprehensive benchmarks are intended to serve as a resource for evaluating popular ERC-4337 compatible smart contract accounts. They are built on Hardhat for accurate, transaction-based fee measurements (see Methodology) and for use of existing TypeScript utilities around fee calculations.

Methodology

When using smart contract accounts, it's important to consider both deployment gas costs and transaction gas costs which are dependent on the contract implementation. Unlike EOAs, smart contract accounts incur gas costs when being deployed on each chain. This tool seeks to measure the cost of the entire transaction landed on-chain for each action, including associated L1 fees. As smart accounts are expected to proliferate on L2s, it's important to consider L1 fees (measured as a function of the RLP-encoded signed transaction and the blob gas market) on top of L2 execution costs. L1 fees can impact the cost of transactions on L2s, so optimizing the size of calldata is important.

The L1 fee calculations are done following the formula and constants specified in Optimism Ecotone.

There are two different categories of benchmarks measured in this test: User Operation and Runtime.

  • User Operation: This test measures the onchain cost for a bundler to execute the user operation in a bundle of size 1, to present a lower-bound fee required for the user operation to land in an exclusive bundle. The cost per individual user operation can vary, because each bundler may calculate pre-verification gas differently and the costs can differ based on the number of user operations in a bundle. This benchmark, much like most other benchmarks, calculates fees based on the transaction receipt and the serialized signed EIP-1559 transaction for entryPoint.handleUserOp([userOp]). As multi-user-op bundles become more prevalent, we can expect actual fees to undercut the data presented here.
  • Runtime: Runtime transactions are defined as those performed outside of the ERC-4337 flow. This can be done by calling from one smart account into another during the execution phase in ERC-4337, or by using an EOA account to initiate a transaction and skip the ERC-4337 EntryPoint contract. While this is a possible flow with smart accounts, it is uncommon in practice. Runtime benchmarks can be found within each chain's benchmark page. For this flow, fees are also calculated based on the transaction's receipt and the serialized signed EIP-1559 transaction.

Below, we compare the deployment costs and various transaction costs across multiple popular smart contract account implementations.

Results

These numbers are derived from local simulations with fixed inputs (see Run benchmark below to try different inputs) and actual on-chain numbers may differ.

Relative costs are computed relative to Alchemy Modular Account v2. Latest fees were benchmarked on 2025-01-30. High blob fees were benchmarked on 2024-03-31.

⛽️ Benchmarks for other networks

Ethereum Mainnet | Arbitrum Mainnet | Polygon Mainnet | Optimism Mainnet | Base Mainnet | Zora Mainnet


Optimism Mainnet

Run parameters

Parameter Latest High Blob Fees
Gas price (gwei) 0.001000555 0.060233618
L1 base fee (gwei) 1.121228232 24.05
L1 base fee scalar 5227 1368
Blob base fee (wei) 7736427 46930000000
Blob base fee scalar 1014213 810949
ETH price (USD) $3192.59 -

Account creation

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00036 $0.03651 100.00% 100.00%
Biconomy Nexus $0.00074 $0.06471 204.96% 177.24%
ZeroDev Kernel v3.1 $0.00067 $0.06984 186.38% 191.30%
Safe v1.4.1 (non-modular) $0.00104 $0.10092 290.60% 276.41%
Alchemy Light Account v2 (non-modular) $0.00059 $0.05033 163.97% 137.86%
Coinbase Smart Wallet (non-modular) $0.00067 $0.05933 186.20% 162.52%
Simple Account (non-modular) $0.00060 $0.05176 168.44% 141.78%
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 97772 0.000000098 2300 0.000000015 0.000000112 $0.00036
Biconomy Nexus 210309 0.000000210 3152 0.000000020 0.000000230 $0.00074
ZeroDev Kernel v3.1 180465 0.000000181 4564 0.000000029 0.000000210 $0.00067
Safe v1.4.1 (non-modular) 289207 0.000000289 5884 0.000000037 0.000000327 $0.00104
Alchemy Light Account v2 (non-modular) 169655 0.000000170 2300 0.000000015 0.000000184 $0.00059
Coinbase Smart Wallet (non-modular) 190525 0.000000191 2948 0.000000019 0.000000209 $0.00067
Simple Account (non-modular) 174219 0.000000174 2372 0.000000015 0.000000189 $0.00060
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 97772 0.000005889 2300 0.000005546 0.000011436 $0.03651
Biconomy Nexus 210309 0.000012668 3152 0.000007601 0.000020269 $0.06471
ZeroDev Kernel v3.1 180465 0.000010870 4564 0.000011006 0.000021876 $0.06984
Safe v1.4.1 (non-modular) 289207 0.000017420 5884 0.000014189 0.000031609 $0.10092
Alchemy Light Account v2 (non-modular) 169655 0.000010219 2300 0.000005546 0.000015765 $0.05033
Coinbase Smart Wallet (non-modular) 190525 0.000011476 2948 0.000007109 0.000018585 $0.05933
Simple Account (non-modular) 174219 0.000010494 2372 0.000005720 0.000016214 $0.05176

User Operation: Native transfer

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00065 $0.08408 100.00% 100.00%
Biconomy Nexus $0.00067 $0.08772 103.81% 104.33%
ZeroDev Kernel v3.1 $0.00076 $0.09319 117.05% 110.84%
Safe v1.4.1 (non-modular) $0.00071 $0.09137 110.33% 108.68%
Alchemy Light Account v2 (non-modular) $0.00062 $0.08253 96.23% 98.16%
Coinbase Smart Wallet (non-modular) $0.00066 $0.09018 101.69% 107.25%
Simple Account (non-modular) $0.00062 $0.08242 96.14% 98.02%
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 158725 0.000000159 6956 0.000000044 0.000000203 $0.00065
Biconomy Nexus 164351 0.000000164 7288 0.000000046 0.000000211 $0.00067
ZeroDev Kernel v3.1 190912 0.000000191 7336 0.000000047 0.000000238 $0.00076
Safe v1.4.1 (non-modular) 176479 0.000000177 7460 0.000000047 0.000000224 $0.00071
Alchemy Light Account v2 (non-modular) 151148 0.000000151 6944 0.000000044 0.000000195 $0.00062
Coinbase Smart Wallet (non-modular) 156812 0.000000157 7796 0.000000050 0.000000206 $0.00066
Simple Account (non-modular) 151045 0.000000151 6932 0.000000044 0.000000195 $0.00062
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 158725 0.000009561 6956 0.000016774 0.000026335 $0.08408
Biconomy Nexus 164351 0.000009899 7288 0.000017575 0.000027475 $0.08772
ZeroDev Kernel v3.1 190912 0.000011499 7336 0.000017691 0.000029190 $0.09319
Safe v1.4.1 (non-modular) 176479 0.000010630 7460 0.000017990 0.000028620 $0.09137
Alchemy Light Account v2 (non-modular) 151148 0.000009104 6944 0.000016746 0.000025850 $0.08253
Coinbase Smart Wallet (non-modular) 156812 0.000009445 7796 0.000018800 0.000028246 $0.09018
Simple Account (non-modular) 151045 0.000009098 6932 0.000016717 0.000025815 $0.08242

User Operation: ERC-20 transfer

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00074 $0.09385 100.00% 100.00%
Biconomy Nexus $0.00076 $0.09638 102.89% 102.70%
ZeroDev Kernel v3.1 $0.00085 $0.10179 114.54% 108.46%
Safe v1.4.1 (non-modular) $0.00081 $0.10112 109.17% 107.74%
Alchemy Light Account v2 (non-modular) $0.00071 $0.09234 96.78% 98.39%
Coinbase Smart Wallet (non-modular) $0.00075 $0.09991 101.56% 106.45%
Simple Account (non-modular) $0.00071 $0.09234 96.77% 98.39%
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 182665 0.000000183 7628 0.000000048 0.000000231 $0.00074
Biconomy Nexus 188136 0.000000188 7820 0.000000050 0.000000238 $0.00076
ZeroDev Kernel v3.1 214817 0.000000215 7856 0.000000050 0.000000265 $0.00085
Safe v1.4.1 (non-modular) 200732 0.000000201 8120 0.000000052 0.000000252 $0.00081
Alchemy Light Account v2 (non-modular) 175294 0.000000175 7616 0.000000048 0.000000224 $0.00071
Coinbase Smart Wallet (non-modular) 181014 0.000000181 8456 0.000000054 0.000000235 $0.00075
Simple Account (non-modular) 175283 0.000000175 7616 0.000000048 0.000000224 $0.00071
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 182665 0.000011003 7628 0.000018395 0.000029398 $0.09385
Biconomy Nexus 188136 0.000011332 7820 0.000018858 0.000030190 $0.09638
ZeroDev Kernel v3.1 214817 0.000012939 7856 0.000018945 0.000031884 $0.10179
Safe v1.4.1 (non-modular) 200732 0.000012091 8120 0.000019582 0.000031672 $0.10112
Alchemy Light Account v2 (non-modular) 175294 0.000010559 7616 0.000018366 0.000028925 $0.09234
Coinbase Smart Wallet (non-modular) 181014 0.000010903 8456 0.000020392 0.000031295 $0.09991
Simple Account (non-modular) 175283 0.000010558 7616 0.000018366 0.000028924 $0.09234

User Operation: Uniswap V3 ERC-20 swap

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00083 $0.10825 100.00% 100.00%
Biconomy Nexus $0.00085 $0.11060 102.53% 102.17%
ZeroDev Kernel v3.1 $0.00094 $0.11599 113.05% 107.15%
Safe v1.4.1 (non-modular) $0.00090 $0.11554 108.38% 106.73%
Alchemy Light Account v2 (non-modular) $0.00080 $0.10646 97.03% 98.35%
Coinbase Smart Wallet (non-modular) $0.00084 $0.11430 101.53% 105.59%
Simple Account (non-modular) $0.00080 $0.10673 97.25% 98.59%
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 201790 0.000000202 9020 0.000000057 0.000000259 $0.00083
Biconomy Nexus 207286 0.000000207 9188 0.000000058 0.000000266 $0.00085
ZeroDev Kernel v3.1 234378 0.000000235 9212 0.000000059 0.000000293 $0.00094
Safe v1.4.1 (non-modular) 220464 0.000000221 9500 0.000000060 0.000000281 $0.00090
Alchemy Light Account v2 (non-modular) 194407 0.000000195 8972 0.000000057 0.000000251 $0.00080
Coinbase Smart Wallet (non-modular) 200573 0.000000201 9836 0.000000062 0.000000263 $0.00084
Simple Account (non-modular) 194829 0.000000195 8996 0.000000057 0.000000252 $0.00080
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 201790 0.000012155 9020 0.000021752 0.000033906 $0.10825
Biconomy Nexus 207286 0.000012486 9188 0.000022157 0.000034643 $0.11060
ZeroDev Kernel v3.1 234378 0.000014117 9212 0.000022215 0.000036332 $0.11599
Safe v1.4.1 (non-modular) 220464 0.000013279 9500 0.000022909 0.000036189 $0.11554
Alchemy Light Account v2 (non-modular) 194407 0.000011710 8972 0.000021636 0.000033346 $0.10646
Coinbase Smart Wallet (non-modular) 200573 0.000012081 9836 0.000023720 0.000035801 $0.11430
Simple Account (non-modular) 194829 0.000011735 8996 0.000021694 0.000033429 $0.10673

User Operation: Account creation and empty call

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00090 $0.10261 100.00% 100.00%
Biconomy Nexus $0.00127 $0.13254 141.59% 129.17%
ZeroDev Kernel v3.1 $0.00129 $0.14290 143.44% 139.26%
Safe v1.4.1 (non-modular) $0.00163 $0.17268 181.29% 168.29%
Alchemy Light Account v2 (non-modular) $0.00109 $0.11393 121.26% 111.03%
Coinbase Smart Wallet (non-modular) $0.00120 $0.13015 133.54% 126.84%
Simple Account (non-modular) $0.00110 $0.11545 123.07% 112.51%
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 233004 0.000000233 7508 0.000000048 0.000000281 $0.00090
Biconomy Nexus 342381 0.000000343 8664 0.000000055 0.000000398 $0.00127
ZeroDev Kernel v3.1 338419 0.000000339 10108 0.000000064 0.000000403 $0.00129
Safe v1.4.1 (non-modular) 435486 0.000000436 11552 0.000000073 0.000000509 $0.00163
Alchemy Light Account v2 (non-modular) 292822 0.000000293 7484 0.000000048 0.000000341 $0.00109
Coinbase Smart Wallet (non-modular) 317904 0.000000318 8964 0.000000057 0.000000375 $0.00120
Simple Account (non-modular) 297367 0.000000298 7568 0.000000048 0.000000346 $0.00110
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 233004 0.000014035 7508 0.000018106 0.000032140 $0.10261
Biconomy Nexus 342381 0.000020623 8664 0.000020893 0.000041516 $0.13254
ZeroDev Kernel v3.1 338419 0.000020384 10108 0.000024376 0.000044760 $0.14290
Safe v1.4.1 (non-modular) 435486 0.000026231 11552 0.000027858 0.000054089 $0.17268
Alchemy Light Account v2 (non-modular) 292822 0.000017638 7484 0.000018048 0.000035686 $0.11393
Coinbase Smart Wallet (non-modular) 317904 0.000019149 8964 0.000021617 0.000040765 $0.13015
Simple Account (non-modular) 297367 0.000017911 7568 0.000018250 0.000036162 $0.11545

User Operation: Session key creation

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00186 $0.20104 100.00% 100.00%
Biconomy Nexus Unsupported Unsupported
ZeroDev Kernel v3.1 Unsupported Unsupported
Safe v1.4.1 (non-modular) Unsupported Unsupported
Alchemy Light Account v2 (non-modular) Unsupported Unsupported
Coinbase Smart Wallet (non-modular) Unsupported Unsupported
Simple Account (non-modular) Unsupported Unsupported
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 495041 0.000000495 13748 0.000000087 0.000000583 $0.00186
Biconomy Nexus - - - - - -
ZeroDev Kernel v3.1 - - - - - -
Safe v1.4.1 (non-modular) - - - - - -
Alchemy Light Account v2 (non-modular) - - - - - -
Coinbase Smart Wallet (non-modular) - - - - - -
Simple Account (non-modular) - - - - - -
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 495041 0.000029818 13748 0.000033154 0.000062972 $0.20104
Biconomy Nexus - - - - - -
ZeroDev Kernel v3.1 - - - - - -
Safe v1.4.1 (non-modular) - - - - - -
Alchemy Light Account v2 (non-modular) - - - - - -
Coinbase Smart Wallet (non-modular) - - - - - -
Simple Account (non-modular) - - - - - -

User Operation: Session key native transfer

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00069 $0.08719 100.00% 100.00%
Biconomy Nexus Unsupported Unsupported
ZeroDev Kernel v3.1 Unsupported Unsupported
Safe v1.4.1 (non-modular) Unsupported Unsupported
Alchemy Light Account v2 (non-modular) Unsupported Unsupported
Coinbase Smart Wallet (non-modular) Unsupported Unsupported
Simple Account (non-modular) Unsupported Unsupported
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 172036 0.000000172 7028 0.000000045 0.000000217 $0.00069
Biconomy Nexus - - - - - -
ZeroDev Kernel v3.1 - - - - - -
Safe v1.4.1 (non-modular) - - - - - -
Alchemy Light Account v2 (non-modular) - - - - - -
Coinbase Smart Wallet (non-modular) - - - - - -
Simple Account (non-modular) - - - - - -
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 172036 0.000010362 7028 0.000016948 0.000027310 $0.08719
Biconomy Nexus - - - - - -
ZeroDev Kernel v3.1 - - - - - -
Safe v1.4.1 (non-modular) - - - - - -
Alchemy Light Account v2 (non-modular) - - - - - -
Coinbase Smart Wallet (non-modular) - - - - - -
Simple Account (non-modular) - - - - - -

User Operation: Session key ERC-20 transfer

Total fee (USD)
Absolute - Latest Absolute - High Blob Fees Relative - Latest Relative - High Blob Fees
Alchemy Modular Account v2 $0.00079 $0.09722 100.00% 100.00%
Biconomy Nexus Unsupported Unsupported
ZeroDev Kernel v3.1 Unsupported Unsupported
Safe v1.4.1 (non-modular) Unsupported Unsupported
Alchemy Light Account v2 (non-modular) Unsupported Unsupported
Coinbase Smart Wallet (non-modular) Unsupported Unsupported
Simple Account (non-modular) Unsupported Unsupported
Details
Latest
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 197295 0.000000197 7700 0.000000049 0.000000246 $0.00079
Biconomy Nexus - - - - - -
ZeroDev Kernel v3.1 - - - - - -
Safe v1.4.1 (non-modular) - - - - - -
Alchemy Light Account v2 (non-modular) - - - - - -
Coinbase Smart Wallet (non-modular) - - - - - -
Simple Account (non-modular) - - - - - -
High Blob Fees
Execution gas Execution fee (ETH) L1 gas L1 fee (ETH) Total fee (ETH) Total fee (USD)
Alchemy Modular Account v2 197295 0.000011884 7700 0.000018569 0.000030452 $0.09722
Biconomy Nexus - - - - - -
ZeroDev Kernel v3.1 - - - - - -
Safe v1.4.1 (non-modular) - - - - - -
Alchemy Light Account v2 (non-modular) - - - - - -
Coinbase Smart Wallet (non-modular) - - - - - -
Simple Account (non-modular) - - - - - -

Run benchmark

Copy .env.sample to .env and update the values within .env:

cp .env.sample .env

Test running the benchmarks over the supported accounts and see the results in your terminal:

pnpm benchmark

Run the benchmarks and update this file with the new results:

pnpm benchmark:write

Scripts

Fetch fee snapshot

Fetch the current fee snapshot for the supported chains. This will output the most up-to-date values for the environment variables that you can copy into your .env file.

pnpm fetch-fee-snapshot

Verify L1 gas

Verify the L1 gas used and the L1 fee paid for a given transaction hash. Run this script with a recent transaction hash to validate that the logic for calculating the L1 gas and L1 fee is correct.

pnpm verify-l1-gas <transaction-hash>

Contributing

To add a new smart account to this repo, follow the steps below.

  1. Fork this repo.
  2. Add the account's artifacts under test/artifacts.
  3. Implement the account's fixture and export an object matching the AccountConfig interface. Add this file under test/accounts.
  4. Add your account under test/accounts.ts to include your account in the benchmarks.
  5. Generate the results and write to the README by running pnpm benchmark:write.
  6. Open a PR against this repo.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published