What EIP-4337 Brings: Account Abstraction
2 min readOct 15, 2022
Developing a Non-Custodial Smart Contract Wallet with Social Recovery and More
Summary
Smart contract wallet that supports EIP-4337 with account abstraction for both plugin extension and mobile client.
- Create wallets via email. No seed/mnemonic
- Receive funds without deploying contract
- Change the signing key via social recovery
- Pay transactions with ERC-20 as gas fee (eg. CAN token?), or even no gas via sponsored transactions (CAN pays the fee)
Purpose of Account Abstraction
EIP-4337
https://eip4337.com/en/latest/index.html
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4337.md
- Allow users to use smart contract wallets containing arbitrary verification logic (for example, email, social recovery, etc.)
- Basically, it opens up a potential for wallets to be more powerful with different features for users in a non-custodial way.
Such as:
- privacy-preserving wallet
- more efficient wallet with atomic multi-operations
- pay tx fees with ERC20 tokens
- allow developers to pay fees for their users
- EIP-3074-like sponsored transaction
- team wallet with aggregated signatures (e.g. BLS) — such as those multisig wallets
Components
- Chrome extension/mobile: a user interface that calls the ABI of Paymaster and Bundler’s contracts of EIP-4337 to create, deploy, and recover your wallet.
- Security Center: a user interface & platform for the guardians (social recovery) for social recover
- ex: save program data such as recovery record signatures — so that they don’t need to keep track of different addresses that they are guarding for.
- Verify legal operations and other security checks (we can implement this using the ERC4337 Entry Point contract)
- Wallet Paymaster Contracts (EIP-4337)
- Bundler relayer (backend)
- Entry Point contract (EIP-4337) follows the official ERC-4337 contract