Skip to main content

Smart Accounts

Overview

note

💡 Ensure you update AppKit to the latest version for optimal compatibility.

Smart Accounts (SAs) are enabled by default within AppKit. These accounts enhance functionality by emitting 1271 and 6492 signatures, which should be taken into account for signature verification processes, such as Sign-In with Ethereum (SIWE).

Deployment

Smart Accounts are deployed alongside the first transaction. Until deployment, a precalculated address, known as the counterfactual address, is displayed. Despite not being deployed, the account can still sign using 6492 signatures.

Supported Networks

Smart Accounts are available on the following networks:

  • Base Sepolia
  • BSC (Binance Smart Chain)
  • Fraximal
  • Linea
  • Mode
  • Optimism
  • Polygon
  • Polygon Mumbai
  • Sepolia

User Eligibility

Smart Accounts are exclusively available for users utilizing email or social logins (any Magic login)

FAQ

What is a Smart Account?

A Smart Account in improves the traditional account experience by replacing Externally Owned Accounts (EOAs) with a Smart Contract that follows the ERC-4337 standard. This opens up many use cases that were previously unavailable.

Smart Accounts do no require Private Keys or Seed Phrases, instead they rely on a key or multiple keys from designated signers to access the smart account and perform actions on chain. The keys can take multiple forms including passkeys and EOA signatures.

What can I do with a Smart Account?

Smart accounts unlock a host of use cases that were previously unavailable with EOAs. Essentially anything that can be programmed into a smart contract can be used by Smart Accounts.

  • Automated Transactions: Set up recurring payments or conditional transfers.
  • Multi-Signature Authorization: Require multiple approvals for a transaction to increase security.
  • Delegated Transactions: Allow a third party to execute transactions on your behalf under specific conditions.
  • Enhanced Security: Implement complex security mechanisms such as time-locked transactions and withdrawal limits.
  • Interoperability: Interact seamlessly with decentralized applications (dApps) and decentralized finance (DeFi) protocols.
  • Custom Logic: Create custom transaction rules and workflows that align with personal or business requirements.

How do I get a Smart Account?

Existing AppKit Universal Wallet Users will be given the option to upgrade their account to a smart account. Once you upgrade you will still be able to access your EOA and self-custody your account.

New AppKit Universal Wallet Users will be given smart accounts by default when they login for the first time.

Does it cost anything?

There is a small additional cost for activating your smart account. The activation fee is added to the first transaction and covers the network fees required for deploying the new smart contract onchain.

What are account names?

Smart account addresses start with ’0x’ followed by 42 characters, this is the unique address of your smart account on the network. ‘0x’ addresses like this are long, unwieldy and unmemorable. AppKit allows you to assign a more memorable name for your smart account using ENS.

You can assign a name to your account and this will act as an alias for your account that can be shared publicly and provide a better user experience. AppKit account names are followed by the wcn.id.

What can I do with my account name?

As AppKit smart account addresses are the same across the supported networks, you only need one account name which can then be used across the networks.

For example if you want someone to send you USDC on Polygon they can send it to “johnsmith.wcn.id”. If you want someone wants to send you USDC on Optimism they can also use “johnsmith.wcn.id”.