Pectra went live on mainnet over a month ago, adding EIP-7702 to great fanfare - any EOA can now be upgraded to a smart account. Multiple heavy hitters offered support from day one, and others quickly followed suit, with a Superchain hard fork and multiple wallets and dapps making announcements over the following days and weeks.
The dust has settled a bit, so it's a good time to reflect on how things are going. Here are 13 thoughts about EIP-7702 on Friday the 13th.
tl;dr - Ethereum UX is not solved, but we are making progress.
-
Up and to the right, but small: chains have been hardforking, the number of enabled smart accounts is growing (1.5M today), and smart accounts are increasingly active (800k actions per week). However overall numbers are still relatively small (~5% vs. 4337 user operations w/c June 3rd), and according to walletaa.com the TVL of upgraded accounts on mainnet is less than $60M (based on ETH + WETH + WBTC + USDT + USDC + DAI).
-
EOA habits die hard (Still Snoop Dogg?): smart accounts might have new capabilities, but >50% of upgraded account actions are still conventional EOA transactions (according to BundleBear's latest numbers). This will be down to a mixture of app adoption and need (single contract call transactions don't necessarily benefit from smart account execution).
-
Criminals are early adopters: there was initially concern about malicious signatures as an attack vector, which was misplaced (EIP-7702 authorizations are not a regular type of signature). However criminals are already using 7702 to streamline their wallet sweeping operations (see Wintermute's EIP-7702 dashboard). The good news is that whitehats are fighting back. But whatever happens, the game has changed.
-
Wallets hold the keys: figuratively and quite literally. If wallets don't add support, EOAs will be stuck as ETH-holding transaction senders, and apps will have to handle edge cases or find other ways of improving user experience. Metamask, Ambire, Trust and OKX were early supporters, and Uniswap have enabled smart accounts this week, but there is still a way to go.
-
Users are still uncertain: anecdotally, not everyone is comfortable upgrading their trusty EOA to a smart account. I would be interested to get some numbers from wallet teams on "upgrade acceptance %", given that most wallets are giving users the choice.
-
Workarounds and lock-in: some apps might have benefited from EIP-7702, but they have already implemented workarounds (for example contracts with native batching), or adopted an alternative smart account solution (EIP-4337 or otherwise). In these cases there is less UX upside, and maybe even some tech debt in supporting a new approach.
-
Everyone is building their own: all of the external wallets that have enabled EIP-7702 have done so with their own custom contract, citing their own particular user requirements and goals. This is despite the range of existing battle-tested smart account contracts (cynics suggest that the real motivation might be vendor lock-in). Will that trend continue, or will the remaining wallets choose to "buy" rather than "build"?
-
Standards vs products: relatedly, there have never been so many people looking at and thinking about the best way to build smart accounts. There are lots of existing standards (EIPs and ERCs), but there is an increasing trend of diverging from the current proposal, or establishing a new approach altogether. The "bull case" is that the best product wins, and becomes the standard. The "bear case" is a balkanisation of user experience and a breakdown in composability.
-
Migration is complicated: a lot of the difficulty of EIP-7702 comes up when you are dealing with existing users - net new accounts are generally much simpler, with fewer edge cases. We should make things work for existing users, but we should prioritise the (larger) future audience who do not currently use Ethereum, and ensuring they have a great experience.
-
Low hanging fruit: if your app has an "approve -> action" step, you should add EIP-5792 support so that wallets with smart accounts can execute both actions in one transaction. There are lots of great examples, such as revoke.cash, Ekubo, Cabana and Euler. Why would you not do this? (I am genuinely curious, if your app has such a step and you are not currently doing this).
-
Betting on the new thing: as well as incrementally adding support to improve user experiences, I am excited by products which use 7702 EOAs as their foundation (Otim, Porto, Ambire). Unburdened by what has been, this approach is compelling if they can get sufficient distribution.
-
Not just convenience: a lot of the immediate focus has been on removing user friction (batch transactions, sponsorship, session keys), but smart accounts also unlock new capabilities, such as account recovery and privacy, which will be essential for broader adoption of Ethereum. I am keen to find more folks pushing the boundaries on what is possible here.
-
This is only the beginning: we’re just scratching the surface of what smart accounts can do, and we’ll probably have to unlearn a few habits along the way. The precise shape is unclear, but there’s real gold in those hills, and it won’t mine itself.