Use engine to deploy, manage, and transact with smart wallets on behalf of your users.
Deploy an account factory
To deploy smart wallet accounts (referred to as "accounts" from here on), deploy an
AccountFactory contract. This contract handles deploying individual
Account contracts for your users.
Deploy user accounts
Once the factory is set up, deploy accounts for your users.
"adminAddress": "0x..." // The user's wallet address to deploy a smart wallet for
This adds the
adminAddress as the primary admin that can act on behalf of the newly deployed account.
To control the account with a backend wallet, specify the backend wallet in the
Grant permissions and sessions
Grant & revoke admins on an account with the
Grant & revoke sessions on an account which allow specific wallets to interact with specified contracts for a given period of time with the
Transact with an account
Make write calls with a smart account by calling a write endpoint and specify the
x-backend-wallet-address should be set to the engine backend wallet that is an admin over the account.
x-account-address should be set to the deployed account address itself.
Write calls made using these headers will initiate a
UserOperation sent from the specified account.