A Product Engineer's Look: EVM Wallets in 2024

A Product Engineer's Look: EVM Wallets in 2024

Welcome to a new written series titled: A Product Engineer's Look. We analyze emergent technical innovations and market trends for opportunities to build cutting edge consumer-facing products in crypto. In this post, we'll talk about products, tools, and trends on my radar for building delightful products around wallets in early 2024.


Last year was a watershed year of deep technical, infrastructure, and budding product-facing progress of the wallet experience in Ethereum and the EVM at large. With the start of the year, I wanted to share what I’m looking forward to in the EVM wallet space and paying close attention to:

Productization of Smart Wallets

There has never been a better time to build on top of smart wallets on Ethereum and the EVM at large. With the Account Abstraction (AA) ecosystem maturing, ERC-4337 in full effect, and a slew of practical EIPs building and extending out smart contract functionality poised to land this year, we’re bound to see some great products emerge from the stack. 

2024 is primed to be the year where product builders can come and quickly build very high-fidelity smart wallet experiences – the infra, SDKs, and ecosystem is ready. If you are a reader of Simon Wardley, I believe the smart wallet space is transitioning from the ‘pioneer’ phase into the ‘settler phase’. We’re through the phase of debating over specs, writing minimal smart account implementations, setting up tooling and interoperability, nascent product discovery, etc, and now moving into a place where the product builders can come in and be productive in a short amount of time with minimal context on the underlying tooling. I firmly believe we’ll see some of the best verticalized, end-user smart wallets in 2024, whether they live as wallets or directly inside applications. 

We’ve taken a lot of uncharted, nascent engineering and technical specs and landed tooling, infrastructure, and are now starting to transmute that into usable end-user products. (See Clave for an early example, many more great user-facing experiences on the way)

Smart Account Modules

Smart account modules in particular are one of the areas I’m most excited about, and expect some rapid growth and productization in 2024. Being able to have programmable wallets is awesome, but being able to arbitrarily extend programmatic functionality of wallets is where it gets really interesting.

Modules extend the functionality of smart accounts. External developers can write modules (essentially plugins) that can be ‘installed’ to your smart account. Modules can even talk to other modules (we’ll talk more about interoperability in just a minute).

The road to productization

My guess is if you take modules to their logical conclusion, we’ll have two viable paths with AA Smart wallets and modules:

  1. Many “app” stores for smart accounts users can add/customize their smart wallet (super app style, unix-y). Expect many ‘module stores’ and the like to pop up.

But more likely,

  1. Verticalization for smart accounts happens and these modules are curated and opinionated-ly chosen in a product that bundles all the functionality together in a cohesive way. Think a more Mac experience (built on top of Unix, but heavily opinionated product implementations of modules and less end-user extensibility)
    1. Grindery.io - A well-executed AA telegram wallet; Self-custody + Telegram UX
    2. Rage.trade - A decentralized perp exchange with native AA wallet. Utilizing a bunch of AA features. Session keys so transactions automatically submit (no explicit signing required), Gas/paymasters so that gas is abstracted away, as long as you have funds in your wallet, gas will be covered, as well as optimized transaction bundling when you are executing multiple trades/transactions. All of these features are thanks to the AA infrastructure.
      1. See https://twitter.com/rage_trade/status/1709573006681399716 for more details
      2. See https://twitter.com/rage_trade/status/1739629695577072045 for actual UX around usage
    3. Brahma.fi - Next-gen Decentralized onchain execution and custody via non-custodial AA wallets.

Modules can be leveraged throughout the lifecycle of a smart account – whether a module reacting to something before or after a transaction like a middleware, or even doing something completely automatically/autonomously for the user, modules can support it all. In addition, they can have an expressive set of permissions, such as granular allowances, allowlists/blocklists, and session-level & time based permissions. 

Some potential modules to build that interest me: 

  • DCA module: 
    • A user sets and permissions to dollar-cost average assets based on a set of conditions
  • Auto revoke security module: 
    • Off-chain monitoring of hacks that automatically remove/revoke permissions via something like Drosera. Minimal permissions, only can revoke – low-risk and low lift if done right.
  • Credit module - Integrate onchain credit score with a lending protocol to allow you to buy-now-pay-later 
  • AI module - Ritual.net onchain model that can make decisions for your wallet on your behalf (vote in governance for you, trade for you). The important bit here is that it's less of a PvP chat-based adversial environment (LLMs aren't ready just yet for that) but purely AI-driven solo decision making – e.g. 'should I vote on this collateral on this AAVE proposal.'
  • Multichain Validation - Biconomy just did this one, Validate transactions on multi-chain seamlessly. Imagine 
  • Burner wallets - A remote-controlled sub-account that can be seamlessly created, funded, and used to interact with uncertain dapps or contracts. Owned and operated by the ‘main’ AA wallet - this avoids the problem of having a ton of disparate, unconnected embedded wallets across apps. Simply press a button and spin up a burner wallet, but with the UX of using your main wallet – no more wallet management overhead or paging through Metamask.

Rhinestone & Module Kit

My favorite dev shop leading the charge on modules is currently Rhinestone. They have been spearheading modules and module development, as well as the the standardization of module interfaces for maximum interoperability and composability. 

ERC-7579 is one of the first steps to a consistent modular plugin development experience. Having the major AA players all onboard will help create a better experience so there’s less bikeshedding around the interfaces, and more time to focus on product-level innovation.

In addition, Rhinestone’s ModuleKit is the first production-ready module development system.

ModuleKit includes templates, pre-built execution triggers, out-of-the-box integrations with DeFi protocols, end-to-end testing infrastructure, and maximum compatibility with all current AA accounts (Safe, Biconomy, Kernel [ZeroDev], etc).

In addition, Rhinestone will be launching a module store in later in Q1 this year. The curation and installation of modules will probably look like a cross between a package manager and an app store.

Module Interoperability

With modules becoming ‘standardized’ at the spec level, my hope is that standardization also happens at the module interoperability level. Session key implementation gets standardized and modules can implement the same set of session key interfaces so keys can be passed around and verified. Modules being able to compose or interact with other modules becomes a powerful concept after we build out the initial set of core modules. Similar to DeFi lego bricks leading to interesting and unpredictable combinations (e.g. Alchemix), I’m excited to see the second and third order effects of modules. 

In another win for interoperability, this month, ZeroDev, an influential AA infra and product shop, also announced their module development kit optimized for smart wallet modules (or ‘plugins’ as the ZeroDev team is calling them). You can check the docs for that out here: https://docs.zerodev.app/sdk/plugins/intro. It seems like modules have momentum and hope to see a unix style cambrian explosion of extensibility, composability, and interoperability.

ERC-4337 Developer Experience Improvements

Modules aren’t the only thing that excited me in the AA domain – it’s worth highlighting the DevX side of 4337 and the road to mass adoption. 

Since ERC-4337 has been the current accepted standard to implement Account Abstraction (AA) without required protocol level changes, this has required a good bit of spec-ing, tooling, and documentation to be built out and get productionized. 

Now as a builder, building with ERC-4337 smart accounts is getting better and better.

Tooling interoperability via Permisionless.js

With permisionless.js, you can Just Use Viem™, which is what most EVM-based product engineers use day-to-day and there’s no additional learning curve with smart wallets. Previously, most AA providers would have their own disparate stack you’d have to learn. This now meets builders where they are at. Support for major smart accounts, as well as bundlers, paymasters, and user operations are all available in the typical developer tooling and workflow.

Both Privy and Capsule, two awesome MPC solutions support Account Abstraction and are generally compatible with ERC-4337 infrastructure. For Privy, you can use permisionless.js from above, and Capsule supports Viem as well

Better transaction debugging

Failed transactions can be hard to parse and debug through with smart wallets since they add an extra layer of code and complexity. Userop.dev introduces free tooling to simulate ERC-4337 user ops and view stack traces right in the browser, all calls decoded, so you can debug much quicker.

Affordability via Bundler compression

Bundler compression unlocks being able to deploy smart wallets to rollups. 

A (the?) major limiting factor to smart wallet adoption on L2 rollups (Optimism, Arbitrum, Base, etc) have been calldata costs. Calldata costs are much higher on L2s (until EIP-4844). Now, there’s a technique to compress the calldata costs, resulting in up to 80% cheaper, making transaction costs much more in line with EOAs on L2s. 

Go to market challenges

EOAs stay lindy

EOAs are here to stay for the foreseeable future. Without a smooth path to upgrade an EOA wallet to a smart wallet, it’s a hard chasm to cross. There are EIPs in the works for that conversion, but at the same time there are  discussions about giving EOAs more functionality, increasing their lindy-ness (See EIP-3074). 

EOA to Smart Wallet conversion support is missing

Right now there's no way to initiate a smart wallet where there is an EOA. There are EIPs for this, but until then, it causes onboarding friction, as most every chrome extension wallet is EOA based currently – it makes it hard to capture distribution to onboard users.

In the meantime, plan on supporting both for maximum distribution. If you have a highly specialized use-case where you can gate on creating an AA wallet to use your application (like rage.trade perp markets), then that makes more sense to lean in on the AA features currently available today. 

Conclusion

Smart wallets are starting to get the infra and protocol level changes it requires to grow, mature, and gain adoption. This year, we’ll watch some of the first product movers embracing AA wallets as a requirement to use their application, see how they perform, what the friction is at onboarding, and get a feel for the end user experience. I’m cautiously optimistic, and excited to play around with more and more AA-native DeFi applications in the coming months.

In addition, modules are an exciting next step of programmable smart wallets, and I believe have some of the best potential to capture mindshare and third party developers. 

The wallet surface area continues to be one of the more exciting places to be as a product engineer in crypto – closest to the user and their behaviors and (hopefully) the value accrual. Modules provide a way for great product developers to get distribution without having to reinvent ‘yet another wallet’ – focus on unique and value-added functionality via modules. We still have a ways to go to unlock the next wave of crypto users, but directionally we are moving in the right direction while staying to the ideals of a decentralized, permissionless, and non-custodial wallet future. It’s now the product engineer’s time to take the baton and build innovative and novel functionality into smart wallets!

If you are building or ideating in the wallet space, we'd love to hear from you.


Additional reading:

Wtf is modular accounts: https://mirror.xyz/konradkopp.eth/7Q3TrMFgx2VbZRKa7UEaisIMjimpMABiqGYo00T9egA