I want to clarify two common misconceptions about EIP-7702 that keep coming up in discussions.
❌ EIP-7702 is native account abstraction
✅ EIP-7702 is NOT native account abstraction
It's easy to confuse EIP-7702 with native AA since EIP-7702 gives EOAs the "native ability" to turn into smart accounts.
However, native AA means something quite different. Informally, native AA enables smart accounts to originate transactions, meaning that they can be the `tx.origin` of transactions.
EIP-7702 is NOT native AA because even with EIP-7702, a smart account cannot originate transactions. Rather, to send transactions, a smart account (even with EIP-7702) must rely on a relayer -- an EOA that "packages" smart account execution intents (aka "UserOps") into actual transactions.
This leads us to the second misconception:
❌ EIP-7702 will replace ERC-4337
✅ EIP-7702 is complementary with ERC-4337
Since EIP-7702 and ERC-4337 are the two most popular "AA standards," it's easy to assume that they are competitive. But in fact, they are completely orthogonal and complementary.
As mentioned, EIP-7702 allows EOAs to turn into smart accounts, but it does NOT allow smart accounts to originate transactions. Therefore, for smart accounts to send transactions, they must rely on relayers.
That's where ERC-4337 comes in. At its core, ERC-4337 is a protocol that standardizes the interactions between smart accounts and relayers, such that they can be developed independently. That is, any smart accounts that conform to ERC-4337 can work with any ERC-4337 relayers (aka "bundlers"), and vice versa.
By standardizing the interactions between smart accounts and relayers, ERC-4337 avoids creating a fragmented AA ecosystem where different smart accounts and relayers are incompatible with one another.
Thus, if a EIP-7702 account implements ERC-4337, it can not only leverage the existing ecosystem of ERC-4337 relayers (bundlers), but also avoid lock-in with any particular relayer implementation.
To put it another way, if a EIP-7702 account does NOT implement ERC-4337, it won't be able to send transactions unless there's a relayer that specifically supports that smart account.
To sum up, you don't need to choose between EIP-7702 and ERC-4337. Rather, you have two independent sets of choices:
- EIP-7702 accounts (aka "smart EOAs") vs regular smart accounts (i.e. accounts that are purely smart contracts and not EOAs).
- ERC-4337 vs a non-standard account/relayer interface.
✅ Bonus point: EIP-7702 facilitates smart account innovations
As a side note, while EIP-7702 does not replace ERC-4337, it does give developers more flexibility with experimenting with non-ERC-4337 account interfaces.
The reason is that, with EIP-7702, account migrations are very easy.
With a regular smart account, since it's typically deployed through CREATE2 via a contract factory, its address is tied to a particular account implementation. So even if you update the account proxy to point to another implementation, it will always be deployed with the original account implementation on a new network, complicating the account migration process.
On the other hand, since a EIP-7702 account is a EOA, its address is derived solely from the private key, so the address is not tied to any specific smart account implementation. Therefore, you can easily re-delegate a 7702 account to a different account implementation.
As a result, even if a EIP-7702 account starts out as a ERC-4337 account, it can later switch off ERC-4337. Similarly, a 7702 account can start with a non-standard account interface, and later switch to ERC-4337.
📝 Conclusion
EIP-7702 is neither native account abstraction nor a replacement for ERC-4337. It brings something unique to the table -- the ability for EOAs to turn into smart accounts.
Until we achieve native AA, EIP-7702 smart accounts cannot send transactions without relayers. By implementing ERC-4337, a 7702 account can leverage an ecosystem of ERC-4337 relayers (bundlers) and avoid lock-in with any specific relayer implementations.
If you want to build with EIP-7702 + ERC-4337, try this tutorial today! https://t.co/UDcK6TVCYq
So far we've got 25 candidates! We will start reviewing those applications this week. 🥰🥰
We've also organized some preliminary materials here at our home page: https://t.co/2UrV5QOyMh
read it and ask any questions on our telegram!
https://t.co/cZZIgKyTDc
Want to level up your web3 career?
I've just applied to @cyfrinupdraft, the ultimate web3 developer learning platform.
And is completely free!
https://t.co/dvGlcsZP4o