Skip to main content

Smart Wallet

Everything you need to build ERC-4337 Smart Wallets for your users.

Ethereum has 2 types of accounts to transfer and receive tokens: EOAs (Externally Owned Accounts) and smart contract accounts. A smart wallet is a wallet type requiring no private keys or seed phrases. Smart contract wallets rely on code instead of private keys to secure and recover wallet information.

A smart contract wallet is a Web3 wallet controlled by a smart contract following the ERC-4337 specification.

Features

thirdweb’s smart wallets have the following features by default:

  • The ability to have multiple owners on the same wallet.
  • Give access to scoped session keys with restrictions.
  • Execute transactions (single and batched).
  • Send and receive native tokens to and from the smart wallet.
  • Send and receive ERC-721 and ERC-1155 NFTs from the smart wallet.
  • Store contract metadata.
  • Pay for its own gas via a paymaster.
  • Assign roles and permissions such as signers and admins.
  • Upgrade functionality over time when using the dynamic and managed factories.

And more!

Smart Wallets can be deployed via the explore page or customized to each application's needs using the Solidity SDK.

The SmartWallet API is composable - you can use with your own ERC 4337 compatible factory contract and you can also use your own bundler or paymaster services.

Templates

Get started quickly with these fully functional templates:

References

By using the thirdweb SDKs, you can easily create and manage smart wallets for your users: