Dynamic integrates with multiple account abstraction providers so you can choose your optimal setup to convert wallets into smart contract wallets, leveraging EIP-4337 (the official account abstraction specification).

What can you do with a smart contract wallet?

Smart wallets offer a myriad of benefits. Four specific ones are:

  1. Gas fee sponsorship - you can choose to allow your users to conduct “gasless” transactions that will be sponsored by you.
  2. Transaction bundling - you can collect a single signature which is used for a bundle of transactions vs having to ask a user for signature on every independent action.
  3. Sophisticated recovery and transfer options - because the wallet is a smart contract, you can define sophisticated recovery methods for the wallet signer, as well as options to transfer ownership from one private key owner to another.
  4. Session keys - you can create session keys with permissions to send specific transactions for your users, so that you can execute transactions without asking your users to sign, and even execute transactions while they are offline.

How does smart wallet creation work?

Once a user logs in with email and an embedded wallet is created for them, a key pair is generated for that wallet. The key pair is then used to generate a smart contract wallet that uses the private key as the owner. In essence, you use the private key from the embedded wallet to control a more sophisticated smart wallet.

The resulting wallet can be interacted with using the same standard interface as native wallets, with the ability to add features such as gas sponsorship, session keys and batched transactions.

Getting started with Smart Wallets

To get started with smart wallets, you will need to choose an account abstraction provider. Dynamic currently supports the following providers:

Note that ZeroDev is the only provider integrated natively into Dynamic.