Smart Wallet
Deploys a Smart Wallet for the user to interact with your app. The specified personal wallet will be the admin signer. For more information about Smart Wallets, see glossary.
Usage
Behavior
WebGL
Goes through the specified personalWallet
login flow, then generates or connects a Smart Wallet based on that EOA address.
Standalone
Goes through the specified personalWallet
login flow, then generates or connects a Smart Wallet based on that EOA address.
Mobile
Goes through the specified personalWallet
login flow, then generates or connects a Smart Wallet based on that EOA address.
Miscellaneous
The ultimate goal of a Smart Wallet is to be able to sponsor gas fees for your users, while providing a signless and gasless experience.
They also work with any wallet provider as the EOA, but it is recommended to use a signless wallet, like Embedded Wallets, for the best experience.
You would then be able to login to the exact same persistent EOA and smart wallet address across your apps, and even across different platforms.
You can also create session keys (revokable), allowing new signers to interact with the smart wallet without being the admin. You may also add/remove admins.
Additional Options
Smart wallets, through paymasters, can be seen as a "plugin" to your user wallets, whereby all gas fees can be sponsored onchain.
To enable this, simply set the gasless
smart wallet option to true in your ThirdwebManager prefab.
All Smart Wallets are deployed through an Account Factory, which is a contract that deploys Smart Wallets on behalf of your users. You would need to set this address in your ThirdwebManager prefab's Smart Wallet settings as well.