Skip to content

Why Embedded Accounts?

Web3 onboarding should be as simple as web2 sign up.

With traditional wallets, your users have to download an extension, back up a seed phrase, and fund a wallet with ETH. Each of these steps adds friction and cause new users to drop off before they reach the magic moment in your app!

Embedded Accounts make wallets invisible. Sign up for a non-custodial web3 account with no downloads, transact without gas, and recover without a seed phrase. Bring the next billion users onchain with embedded accounts.

  • Your app, your UX: Design every step natively in your app, from sign up to checkout.
  • Familiar auth methods: Sign up with email, social login, passkeys (i.e. biometrics), or self-custodial signers like Metamask.
  • Sponsor gas: increase engagement by sponsoring gas fees through an ERC-4337 paymaster.
  • Batch transactions: streamline multi-step actions like approve+swap in a single transaction by batching with the Bundler API.
  • Account recovery: Never lose your keys again. Embedded accounts support private key export, email recovery, and onchain recovery plugins.

Built with Account Kit

Embedded Accounts are built with Account Kit: a simple and powerful toolkit to build next-gen wallets with Account Abstraction. It also supports lightweight EOA accounts if you prefer, but AA unlocks superpowers like gas sponsorship, batch transactions, and more.

Account Kit provides all the tools you need to build invisible web3 accounts. It includes:

  • AA SDK: A simple SDK to integrate and customize embedded accounts in your app. The aa-sdk orchestrates everything from wallet creation to authentication, transaction signing, gas sponsorship, and more.
  • Signer API: A secure, non-custodial Signer API to generate and store private keys, powered by Alchemy and Turnkey. You can also bring your own signer solution.
  • Smart Contract Accounts: Smart contract accounts designed from the ground up for ERC-4337, extensibility through ERC-6900, and low gas costs.
  • Gas Manager API: A programmable API to sponsor gas for UserOps that meet your criteria.
  • Bundler API: The most reliable ERC-4337 Bundler. Land your UserOps on-chain, batch operations, and sponsor gas at a massive scale.
Account Kit Overview

Let's dive into each component.


The aa-sdk is a type-safe and performant TypeScript library built on top of viem and fully compatible with ethers.js. It provides ergonomic methods for sending user operations, sponsoring gas, deploying smart accounts, and much more. It handles all the complexity of ERC-4337 under the hood to simplify your development.

The SDK implements an EIP-1193 provider interface so embedded accounts can drop right into popular app frameworks and wallet connect libraries like RainbowKit, Wagmi, and Web3Modal. It also includes ethers.js adapters to provide full support for ethers.js apps.

Get started with the quick start guide or browse the open source aa-sdk github.

Signer API

Every smart account is controlled by an owner private key. A signer or WaaS provider securely stores the private key, authenticates access via email/passkey, and signs transactions on the smart account.

Embedded Accounts are powered by the non-custodial Alchemy Signer API which uses Turnkey to securely store key material in a Secure Enclave so that only the user can access it.

Account Kit also makes it easy to bring your own signer with over a dozen integration guides for popular signers including Magic, Privy, Web3auth, and more.

Smart Contract Accounts

The smart contract is the heart of the user's account. It secures their assets, executes every UserOp, and represents the user's public address onchain, so this is a foundational choice for your apps' security, feature set, and gas costs.

Account Kit provides two smart contract accounts out of the box, and supports any custom contract of your own.

  • Modular Account: a secure, audited, and extensible 4337 smart account that supports multiple owners, session keys, onchain recovery, and more. (learn more, github)

  • Light Account: a simple, secure, and audited 4337 smart account that supports a single owner (github)

  • Bring your own: you can even build your own account or use another open source implementation of an ERC-4337 account. Follow this guide to use your own account with Account Kit.

Gas Manager API

The Gas Manager is a programmable API to sponsor gas for UserOps. You can create programmable gas policies to specify exactly which transactions should be sponsored, set strict spending limits per wallet or globally, and allow/blocklist particular wallet addresses. It's easy to create a gas policy in the Alchemy Dashboard or update the policy dynamically through a REST API.

Learn how to sponsor gas with the Gas Manager API.

Bundler API

The Bundler submits UserOps to the blockchain for execution. This is a mission-critical operation: if your Bundler goes offline, then transactions will fail or get stuck and users will be unable to use your app.

We built our Bundler in Rust to handle the highest loads at production scale. It's able to handle massive scale because we operate it alongside our fleet of nodes powering the biggest dapps in web3 from Opensea to Circle.

Check out the open source code in our affectionately named Rundler github repo and start sending UserOps today.

Start building

Next, follow the quick start guide to build invisible wallets in your app.

Embedded Accounts make web3 simple so that anyone can use your app in seconds with no downloads, no gas tokens, and no seed phrases. It's time to bring the whole world onchain!