What is a Smart Wallet?
A smart wallet is a blockchain wallet implemented as a smart contract, rather than relying on a traditional private key and externally owned account (EOA).
Unlike EOAs, smart wallets are programmable, meaning they can:
- Support social login and recovery (instead of seed phrases)
- Automate logic such as batch transactions or daily spending limits
- Interact with DeFi protocols or apps with predefined rules
- Delegate permissions to other signers or session keys
Smart wallets are the foundation of Account Abstraction (ERC-4337), and enable better user experience without compromising self-custody or security.
How is a Smart Wallet created?
Smart wallets are deployed as smart contracts on-chain. But rather than manually deploying a contract for each user, most systems use a Factory contract.
What is a Factory?
A Factory is a smart contract used to create and deploy new smart wallets for users.
Factories allow:
- Standardized wallet creation — All wallets follow the same logic and contract structure.
- Deterministic addresses using CREATE2 — You can predict a user’s wallet address before deploying it.
- On-demand deployment — Wallets can be created only when needed, saving gas.
Using a factory improves performance, reduces costs, and simplifies managing thousands or millions of wallets in a scalable way.
Why is this important?
In traditional systems, onboarding users into crypto required:
- Creating EOAs
- Backing up seed phrases
- Funding wallets with ETH
- Manually deploying contracts
With smart wallets and factories, developers can onboard users seamlessly, using familiar Web2 login flows, and deploy wallets only when necessary, enabling modern, gas-abstracted Web3 experiences.
For more information, see our Account Abstraction overview and related documentation.