Cointime

Download App
iOS & Android

Bundle Compression

Contract accounts aren’t just better, they’re also cheaper.

Background…

The future of Ethereum is contract accounts on rollups.

Together, contract accounts (also known as “account abstraction”) and rollups represent a fundamental upgrade & enable real-world use of the chain:

  • Fast, cheap transactions.
  • Secure accounts built on best-practice cryptography.
  • Better recovery, including easy-to-use passkey backups. No seed phrase.

EOAs and L1 are settlement infrastructure. The future is 4337 on L2. The problem, so far, was that 4337 on L2 was expensive.

Making 4337-on-L2 efficient

The main cost on L2 is calldata. 4337 can use a lot of that. For example, see Ansgar’s breakdown of what Vitalik later called the “infamous 1600-byte transfer”: a 4337 bundle containing a single Daimo USDC transfer.

We fix this using bundle compression.

The BundleBulker contract is simple and permissionless. Any bundler can register their own IInflator to compress bundles however they want. A good default is the PerOpInflator, which concatenates individually compressed ops. Each bundler (Pimlico, ThirdWeb, Alchemy, etc) can deploy their own PerOpInflator instance, with the beneficiary (op fee recipient) set accordingly. PerOpInflator is similarly permissionless: any app can register their own IOpInflator with arbitrary, app-specific userop compression.

For an example, check out DaimoOpInflator. What it is doing, specifically?

  • Packing. The Solidity ABI encoding was designed for L1, where computation is expensive, not for L2, where computation is effectively free and calldata is expensive. A single boolean argument takes 32 bytes… structs are encoded in a luxuriously expansive way.
  • Templating. Parts of the op that don’t change are templated in. In our case, callGasLimit, verificationGasLimit, and the WebAuthn (passkey) JSON envelope.
  • Stateful compression. We replace the 40 byte (from address, to address) with a ~10 byte (from name, to name) using our existing onchain name registry. We could further optimize by using an index instead of a name.

The important thing is that this setup is permissionless. Any app can write their own inflator and start using it.

Results

Results so far, using a simple ERC20 token transfer as our benchmark.

Bytes per transferJust the op1-op bundle10-op bundle
EOA transaction · example179179179
Naive 4337 · example140816231429
Bundle compression · example127343149

Below: a 4337 bundle containing a single USDC transfer, before and after compression. In both cases, I’ve highlighted the op. The rest is the bundle fixed overhead.

The highlighted op is smaller than an EOA ERC-20 transfer.

Each bundle will contain many of these, amortizing the fixed overhead & making contract wallets more efficient than legacy wallets.

Questions

  • What about rollup compression?

Bundle compression is complementary to rollup compression. Both are useful.

Rollups compress calldata before settling to L1, but this is limited on its own. Stateful compression is hard to achieve. Bundle compression is at the app layer and lets you do application-specific templating and stateful lookups.

Together, this lets us approach the goal state of very compact transactions.

  • Why use 4337 at all, if we’re calling into another contract that sits in front of the EntryPoint?

Three reasons.

  • Standard ops. Userop explorer, ops identified by ophash, everything inter-”op”-erable. If you use bespoke AA, you get no observability or devtools. Note that a userop explorer will show the uncompressed op, —it’ll just have a lower preVerificationGas = lower cost.
  • Censorship resistance. Bundler down or not serving you? Your wallet can send the uncompressed op to the standard 4337 mempool, paying a few cents more fee for guaranteed inclusion.
  • Security. Stick with the battle-tested EntryPoint contract. See below.
  • What if there’s a vulnerability in my inflator?

The inflator contract is, unavoidably, not beautiful to look at. You’re writing a byte-packed encoding, plus templating and lookups.

The great news is that the inflator contract has no security responsibilities. This is because your wallet still signs over the uncompressed op. The EntryPoint contract and your 4337 wallet’s validateUserOp function work exactly as before. If there’s any issue in the inflator contract, it can only cause liveness problems (reverted, invalid ops), not security errors. It’s neatly compartmentalized as an optional optimization.

In fact, this separation of responsibilities makes your wallet more secure. The gross bit-packing goes in one place—the security-critical validation logic goes in another, which can written in entirely idiomatic Solidity.

  • Doesn’t state diff fix this?

State diffs are an elegant theoretical optimization for zkrollups: just prove that you have a block of valid transactions resulting in a given diff. The transactions themselves, and their calldata, are not posted! For a transfer, the diff is just (-10 for alice, +10 for bob). No compression needed.

We’re unlikely to see this in a production, real, stage2 rollup. A state-diff-only permissionless rollup is a scary construct. It raises the spectre of undiagnosable hacks, both of the rollup itself and applications on top. Say a block shows up that drains a defi protocol. You might never learn what the bug was! The transaction was never published, only the final state diff (minus $500m for contract 0x…, plus $500m for bob) and a proof that some valid set of transactions produced this diff. Similarly for proving-system bugs.

TLDR; production rollups will post calldata for the forseeable future.

Comments

All Comments

Recommended for you

  • Strategy CEO: Company to Continue Adding More Bitcoin This Year

    On August 11, Strategy CEO Phong Le said in an interview with Fox News that the company will continue to accumulate more Bitcoin within this year.

  • BTC Falls Below $64,000

    Market data shows BTC has fallen below $64,000, currently trading at $63,998, with a 24-hour decline of 1.25%. Market volatility is significant; please exercise risk control.

  • Nvidia reportedly developing trillion-parameter open-source AI model Nemotron 4

    On August 11, Nvidia is developing a new generation of open-source artificial intelligence model, Nemotron 4, with an expected parameter scale of at least 1 trillion, aiming to compete with the world's leading open-source large models. Nvidia hopes to expand the application scope of AI through an open model ecosystem and further drive market demand for its GPU computing power. Nvidia has previously launched the Nemotron series of open-source models, including the Nemotron-4 340B series with 340 billion parameters, primarily used for large language model training data generation, model development, and enterprise AI applications.

  • Crypto-Friendly Bank Erebor Seeks $1.5B Funding with a16z Participation

    On August 11, Erebor Bank, a crypto-friendly bank co-founded by Oculus and Anduril founder Palmer Luckey and Palantir co-founder Joe Lonsdale, is seeking $1.5 billion in funding, with a pre-money valuation target of $8 billion. This valuation is nearly double the $435 million valuation the company had when it completed a $350 million funding round in December 2025. Erebor has already received support from investment institutions such as 8VC and Haun Ventures, and the new funding round is expected to attract participation from Lux Capital, Andreessen Horowitz (a16z), Human Capital, Valor Equity Partners, and SV Angel, among others. As AI infrastructure investment enters a phase of rapid expansion, Erebor is targeting the financing needs of AI companies. AI companies require substantial capital to purchase GPUs, build data centers, and secure energy supplies, while traditional financial institutions are gradually exploring financing models for AI infrastructure assets. However, whether Erebor can maintain rapid growth after the AI and crypto industry cycles cool down remains a key focus for the market. The funding round has not yet been finalized and is expected to be completed within the coming weeks.

  • Russia's Central Bank Adds Bitcoin, Ethereum, and USDT to Publicly Tradable Cryptocurrency List

    On August 11, the Central Bank of Russia included Bitcoin, Ethereum, and Tether (USDT) in the list of cryptocurrencies that can be publicly traded on domestic exchanges.

  • BTC Breaks Above $64,000

    Market data shows BTC has broken through $64,000 and is currently reported at $64,000.33, with a 24-hour decline of 1.53%. Market volatility is high, so please exercise caution and manage risks accordingly.

  • BTC Falls Below $64,000

    Market data shows BTC has fallen below $64,000, currently at $63,999.77, with a 24-hour decline of 1.89%. Market volatility is significant; please exercise risk control.

  • Vitalik Updates Ethereum Roadmap: Privacy, Post-Quantum Scaling, and Native Rollups Become New Priorities

    On August 10, Vitalik Buterin stated that he had compared the 2023 Ethereum roadmap with the current Strawmap. The overall direction still overlaps considerably, but some priorities and technical paths have been clearly adjusted, including raising the priority of quantum safety, downweighting VDF and some EVM improvements, and replacing old designs with solutions such as a unified binary tree, PBT, and new state types. He noted that the most notable change in the current Strawmap is the emergence of several new topics not included in the 2023 roadmap, reflecting a shift in Ethereum's R&D focus. These new priorities include: stronger native privacy support, aggressive scaling in a post-quantum context, specification streamlining for formal verification, Blob and Gas futures, native Rollups, and a more open design space for the future shape of the EVM. Vitalik also emphasized that Ethereum's scaling approach is shifting from 'expanding all activities comprehensively' to 'designing more scalable dedicated mechanisms for specific high-load scenarios,' and he regards STARK proofs and AI-accelerated formal verification as important foundations for the protocol's future. Overall, this update shows that the Ethereum roadmap is evolving toward quantum safety, privacy-first, censorship resistance, high performance, and simpler protocol design.

  • ETH Falls Below $1900

    Market数据显示,ETH has fallen below $1900, currently reported at $1899.19, with a 24-hour decline of 1.28%. The market is highly volatile. Please exercise risk control.

  • Microsoft Plans to Release Next-Gen MAIA 300 AI Chip in September

    On August 10, according to reports, Microsoft plans to release its next-generation MAIA 300 AI chip in September.