Skip to main content

Dynamic Gasless Starter

Want to see smart wallets in action? Check out our Dynamic Gasless Starter - a Next.js demo that showcases gasless transactions with email-based wallet creation and token minting, all without users paying gas fees.

Quickstart

Prerequisites

  • Create a Zerodev account and projects for each network you want to support, as well as a gas policy for each one. Make sure you use the V1 dashboard to configure your project.
  • Visit the Sponsor Gas section of the dashboard, toggle on Zerodev and add your project IDs.

Configure Your SDK

  • React
  • React Native
  • JavaScript
  • Swift
  • Flutter
Install the package:
  • npm
  • yarn
  • pnpm
  • bun
Shell
npm install @dynamic-labs/ethereum-aa
Then add the ZeroDevSmartWalletConnectors to your existing walletConnectors array in the DynamicContextProvider:
import { DynamicContextProvider, DynamicWidget } from "@dynamic-labs/sdk-react-core";
import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";
import { ZeroDevSmartWalletConnectors } from "@dynamic-labs/ethereum-aa";

const App = () => (
    <DynamicContextProvider
        settings={{
            environmentId: "YOUR_ENVIRONMENT_ID",
            walletConnectors: [
                EthereumWalletConnectors,
                ZeroDevSmartWalletConnectors
            ],
        }}
    >
        <DynamicWidget />
    </DynamicContextProvider>
)

export default App;
That’s it! Applicable transactions will be sponsored automatically.

Advanced Usage

You can find more advanced usage examples in our advanced usage guide.

Note on 7702

EIP-7702 is the default for enabling gas sponsorship using Dynamic & Zerodev, but you can switch back to 4337 if you want using the dashboard settings.

Why use 7702?

EIP-7702 introduces a new transaction type that allows a wallet to delegate execution to an address with a deployed smart account. This means:
  • No need to switch or manage multiple accounts and wallets.
  • Users retain their existing EOA and gain smart account functionality.
  • The transition is smooth and invisible to the end user.

Common questions

  • Do all chains/networks support 7702? No, not all chains/networks support 7702. You can see a list of chains/networks that support 7702 here.
  • When does the delegation (authorization) signing happen? The delegation authorization is signed automatically behind the scenes on the first transaction. If a paymaster is used, the paymaster will pay for the transaction.
  • How long does the delegation remain active? The delegation stays active until the user delegates to a new address.
  • How does this work for existing EOAs (e.g. MetaMask)? At the moment, delegation is a feature exclusive to embedded wallets. That’s because we need to sign the authorization in a very specific way that requires access to the private key. From what we’ve heard, branded wallets like MetaMask are unlikely to expose the signAuthorization method, making it unclear how (or if) this flow will work with them.

Resources

Using Other Providers

Dynamic supports a large number of providers and we have guides for each one:
I