Developers
March 13, 2025
This article was originally published on X.
In part one of this series, we explored how the adoption of EIP-7702 will play out. In part two, I’d like to zoom in on how EIP-7702 will impact DApps, and what you can do as a DApp developer to take advantage of EIP-7702.
Quick Overview of EIP-7702
EIP-7702 is slated to go live with Ethereum's next upgrade (Pectra), scheduled for approximately April 2025.
With EIP-7702, an EOA (Externally Owned Account) can "upgrade" itself into a smart account while simultaneously remaining an EOA and keeping the same address. Once upgraded, the user can experience most of the benefits of Account Abstraction (AA) such as gas sponsorship, transaction batching, and passkeys.
Two Types of DApps
For the purpose of this article, we will differentiate between two types of dApps:
EIP-7702 for Open DApps
Given MetaMask's public commitment to EIP-7702, developers of open dApps must adjust to a new reality: the wallet your user connects to your dApp MAY be a smart wallet, and increasingly more likely so.
This leads to two immediate questions: How do you know if a connected wallet is a smart wallet, and what do you do with that knowledge?
Detecting a Smart Wallet
Detecting a smart wallet is simple via the ERC-5792 standard RPC wallet_getCapabilities. This RPC returns a list of "capabilities" that the connected wallet supports.
permissions (transaction delegation) on all networks, but supports paymasterService (gas sponsorship) only on a specific chain ID (like Base, 0x2105).Your DApp should call wallet_getCapabilities after connection to determine which smart wallet features are supported.
Luckily, Viem and Wagmi already support wallet_getCapabilities, making implementation straightforward.
Using a Smart Wallet's Capabilities
Once you discover the capabilities, you need to decide whether to use them. This is a product decision:
permissions capability to execute delegated trades. If the wallet doesn't support it, the DApp refuses to work.paymasterService capability. If not supported, the user simply pays their own gas as usual.How to Use Capabilities
While smart accounts can support infinite features, in practice, a few capabilities satisfy most use cases: Transaction Batching, Gas Sponsorship, Permissions (Session Keys), and Chain Abstraction.
For each, there is or will be a standardized wallet interface:
Do I need to know 100 different ERCs to use EIP-7702?
The bad news is that there will indeed be many ERCs specifying different capabilities. The good news is that with the right tooling (like ZeroDev), you won’t have to learn most of them—the library will abstract the complexity and maintain compatibility with the cutting edge of standardization for you.
EIP-7702 for Closed DApps
A "closed dApp" works primarily or exclusively through an embedded wallet. The story here is simpler because the DApp has full control over the single embedded wallet it uses.
The key decision for a closed dApp is: Should the embedded wallet be a regular smart account, or an EIP-7702 account (Smart EOA)?
Smart EOAs vs. Regular Smart Accounts
Feature Regular Smart Account (SC only) Smart EOA (EIP-7702 Account) Primary Key Type Can use non-ECDSA keys (e.g., Passkeys). Always tied to the root ECDSA private key. Key Management Can revoke/rotate keys securely. Impossible to revoke/rotate the root ECDSA key (it always retains root access). Infra Dependency Requires smart account infra (e.g., ERC-4337 bundlers). Not Dependent on smart account infra; can send transactions as a regular EOA.Implementation Lock-In Address is tied to a CREATE2 factory; difficult to switch implementations across new networks. Address is derived solely from the private key; no implementation lock-in, easy to re-delegate to a different smart account implementation. Interoperability cannot be easily imported into existing EOA wallets. Can be imported into any existing EOA wallet by importing the private key.
General Guidelines for Choosing
Conclusion
EIP-7702 holds incredible promise for DApp developers to build Web3 experiences that were not possible before. However, it comes with the challenge of capability fragmentation (many competing, unstandardized capabilities).
The solution is to rely on tooling to manage complexity:
If you are ready to get your feet wet with EIP-7702, head to this tutorial now!

The EOA Transition: An In-Place Path to Native AA
ERC-4337 and Kernel proved that programmable accounts can work. The next step is native account abstraction that lets existing EOAs replace their root authorization without abandoning the address, assets, approvals, and history users already rely on.

Kernel v1–v4: What Production Kept and What It Left Behind
Across four versions, Kernel evolved from an EOA-shaped smart account into a modular foundation for replaceable validation, permissions, and EIP-7702. Its history reveals which account abstraction capabilities became durable products, and which still need better packaging.

ERC-4337 : Final, Not Finished
A builder’s retrospective on what ERC-4337 proved in production: less a path to mass smart-account migration, and more a shared rail for gas sponsorship, embedded onboarding, and programmable accounts.
Go from wallet friction to product velocity
If your team is blocked on account UX, gas, or chain complexity, ZeroDev gives you a practical place to start.
