Derek Chiang's blog

The case for Frame Transactions: Flexible Foundation with Powerful Defaults

Native AA is shaping up to be one of the most controversial topics in Ethereum history. With no fewer than six competing EIPs, Ethereum’s core devs have already tried and failed twice to decide on a specific proposal, with a third attempt scheduled for this Thursday.

In this post, I’d like to make the case for Frame Transactions (EIP-8141). I argue that Frames provides the most flexible foundation for supporting AA use cases, and that the primary concern with it — the complexity it may introduce for developers — can be addressed with powerful defaults that simplify the common workflows. I will also zoom out and explain why now is the right time for Ethereum to start working on native AA.

Frame Transactions is the flexible foundation for today’s use cases, and tomorrow’s

When designing an AA protocol, most EIPs take a “top-down” approach:

While this approach is intuitive, it suffers from two limitations:

Frame Transactions, on the other hand, takes a bottom-up approach. It starts by asking: what is the smallest set of axioms (think LEGO blocks) that, when composed together, can enable the largest set of AA use cases?

Frames’ surprising insight is that, to support all the AA use cases we know today — and the ones we don’t yet know — you only need three axioms:

To understand how these seemingly simple axioms enable powerful AA features, let’s look at a concrete example that is rarely supported in other AA proposals: paying gas in ERC20 tokens.

Case study: paying gas in ERC20 tokens

Say a user owns some USDC but no ETH. In today’s world, the user would have to acquire ETH somehow in order to send any transactions, but they can’t even swap their USDC for ETH because they would need ETH for that transaction in the first place.

With frame transactions, users can pay gas in ERC20 tokens with no dependency on centralized relayers. Such a transaction would consist of five frames:

Notice how this flow makes use of all three axioms:

Supporting this workflow requires careful orchestration between the transaction sender and the gas payer, which is why it’s difficult to hardcode this mechanic into an AA protocol. With Frames’ flexible architecture, however, no hardcoding is necessary. This complex use case emerges naturally from composing the three simple axioms.

Is flexibility a curse?

One common pushback against Frames is this: its flexibility is actually a curse, because it introduces complexity for downstream developers. For example:

These are valid concerns for early versions of Frame Transactions, and they are exactly the concerns I shared with the EIP co-authors. Over the last month, however, we’ve been working hard to address these issues. The solution can be summarized in one idea: powerful defaults.

Powerful defaults

Default account for wallets

From our experience with ERC-4337, the biggest hurdles to AA adoption come from two sources:

With the latest iteration of Frame Transactions, we address both concerns with a powerful idea: a default account for EOAs. When an EOA sends a frame transaction, it is treated as if it is operating through a “default smart account” whose security is guaranteed by the protocol. This default smart account supports the core flows of a typical smart account, without requiring wallets to trust new smart contracts.

The default account can also support more than k1-based EOAs — it can support other signature schemes such as passkeys (r1). This means that wallets can even support non-k1 keys without trusting new smart contracts, significantly lowering the barrier to adopting new signature schemes.

Canonical frame structure for mempools

Developers of high-performance L1s such as Tempo/Monad and L2s such as Base have raised concerns about turning transaction validation — normally just a signature check — into arbitrary EVM execution. This makes it harder to maintain both high throughput and mempool safety.

Again, the answer is defaults — specifically a canonical frame structure that mempools can rely on. For example, while a validation frame could theoretically appear anywhere in a transaction (even at the end), requiring mempool nodes to execute the full transaction to verify it, the default structure requires transactions to begin with a verification frame in order to be safely accepted.

To further bound validation cost, chains can implement a maximum verification gas limit, capping how much EVM execution a mempool node must perform per transaction. For mempools that prioritize maximal throughput or safety, they can go even further and support only the default account, which has known and bounded validation cost.

Defaults can be overridden

A natural pushback against defaults is: if the defaults are so good, why not just enshrine them? Indeed, many other AA proposals are effectively the equivalent of enshrining Frames’ default account and validation structure and therefore enabling common AA use cases such as alternative signature schemes and gas sponsorship, with only limited complexity and costs.

But this is precisely why Frames is the better design. The defaults work great for the common case, but they can be overridden for advanced use cases. When you build on a flexible foundation, you retain the ability to design new solutions when needed. That flexibility is lost when the foundation itself is rigid, which is the unfortunately reality with other AA proposals.

Why now is the time for native AA

It’s tempting to look at the current landscape of AA proposals and say: “why not wait one more hard fork?” Surely by the next cycle, we will have learned more and converged on the perfect design.

One argument against that is simple: we have already been debating AA for years, and there’s no reason to believe that it will be easier to come to a decision next time.

More importantly, within the broader Ethereum roadmap, there are three major efforts actively underway that have strong synergies with native AA. Delaying AA again would mean missing the opportunity to develop these systems together. These efforts are:

While a deep dive is out of scope for this post, it’s worth noting that Frames is unique among AA proposals in having been reviewed by researchers in all three areas and found to be architecturally compatible with each. Here is one example for FOCIL + Frames.

Of course, the details of these interactions still need to be worked out, but that’s exactly the point. We should begin now and develop native AA in parallel with these mechanisms, so that AA is treated by these important mechanisms as a first-class citizen rather than something bolted on later.

Conclusion

Frame Transactions (EIP-8141) is the best candidate for Ethereum’s AA standard, because it’s the only proposal that offers a flexible foundation that can support all AA use cases, while providing powerful defaults for the most common AA flows. Furthermore, it has great synergies with other areas of the Ethereum roadmap, including privacy, censorship resistance, statelessness, and quantum resistance. The best time to bring native AA to Ethereum is now, and Frame Transactions is our best shot.

Frame vs Tempo — Two clashing philosophies of native AA