
Create and interact with MetaMask Smart Accounts, unlocking new programmable account behaviors and granular permission sharing.
The toolkit provides an unified API to build on embedded MetaMask Smart Accounts and request Advanced Permissions (ERC-7715).

Let users approve specific actions without exposing full control, by granting limited, purpose-specific permissions. Ideal for automation, time-based access, and approvals. No more repetitive confirmations, unnecessary pop-ups, or app-to-wallet switches.
Seamless UX via delegated actions
Sponsor network fees or let users pay them with any token. Simplify onboarding and unlock seamless, multichain experiences.
Frictionless experience with gas abstraction
Plug in any signer without rewriting your account logic. Built for flexibility with smart accounts that adapt to your setup.
Full control over how you sign“Who knew making web3 invisible could make it more powerful than ever?”
Dan FinlayCo-Founder of MetaMask walletA smart wallet is a crypto wallet built with smart contracts on a blockchain. It doesn’t just hold assets. Smart wallets can follow programmable rules for how funds are spent, add security features like spending limits, or automate common tasks. With a smart wallet, everyday actions—like splitting payments or batching transactions—can be done at the wallet-level, not just by individual users.A smart contract is code stored on a blockchain that runs automatically when preset rules are met. Once deployed, it can move funds, manage wallets, run decentralized applications, or handle any logic you define—all without relying on a traditional server.Account abstraction lets developers define how accounts work on Ethereum, making smart contract wallets as flexible as regular accounts (EOAs). This means custom logic for signatures, gas payments (AKA network payments), and access control are possible, enabling new wallet features or user experiences.ERC-4337 is an Ethereum standard making account abstraction practical without changing the core protocol. It lets users operate "smart accounts" with features like batch transactions, paymaster-sponsored gas, or social recovery, all managed by a smart contract wallet rather than a bare EOA.An account abstraction wallet (“AA wallet”) is a wallet powered by smart contracts that implements custom handling for transactions, access, and security. With tools like
ERC-4337, these wallets can support batched actions, delegated spending, or even login with passkeys instead of seed phrases.There’s no strict difference: “smart contract wallet” and “smart wallet” both refer to wallets managed by smart contracts (not by a simple private key). Their main draw is unlockable features—like account recovery, whitelists, or plug-in modules—even after launch.Smart contract wallets let you design programmable logic at the wallet level (e.g., multi-signature approvals, auto-payments, or usage controls). This means you can deploy upgradeable security, create custom payment flows, or automate recurring actions—all without relying on the end-user to sign every transaction.A smart wallet is a blockchain-based wallet managed (at least in part) by programmable code. This brings options like sending assets with no gas (sponsored by a paymaster), triggering multiple actions in one signature, or recovering ownership if a user loses access.An embedded wallet is a smart (or standard) wallet that’s built into an app or website. Users can interact with blockchain features—like payments or NFTs—without installing separate wallet software; the logic is integrated under the hood, simplifying onboarding.An AA wallet (“account abstraction wallet”) is any wallet that takes advantage of Ethereum’s account abstraction features (like those in ERC-4337) to support custom signatures, alternate gas payment, and app-specific logic.It’s a wallet on Ethereum built as a smart contract, able to run code on-chain. This lets developers add new user flows, unique security setups, and novel account recovery options which aren’t available with basic Ethereum accounts.Account abstraction, specified by EIP-4337, is a mechanism that enables users to manage Smart Contract Accounts (SCAs) containing arbitrary verification logic. EIP-4337 enables SCAs to be used as primary accounts in place of traditional private key-based accounts, or externally owned accounts (EOAs).
EIP-4337 introduces the following concepts:User operation (UserOp) - A package of instructions signed by a user, specifying actions for the SCA to execute. UserOps are collected and submitted to the network by bundlers.Bundler - A service that collects multiple UserOps, packages them into a single transaction, and submits them to the network, optimizing gas costs and transaction efficiency.Entry point contract - A contract that validates and processes bundled UserOps, ensuring they adhere to the required rules and security checks.Paymasters - Entities that handle the payment of gas fees on behalf of users, often integrated into SCAs to facilitate gas abstraction.Delegator Accounts are EIP-4337 accounts, which use smart contracts to govern account logic and can use the 4337 EntryPoint contract to manage gas payment.
Let’s explain this with an example.Bob (delegator) grants Alice a Delegation, (basically a permission) to transfer a NFT from Bob’s account to Carol’s account.
For the action to occur, the delegation must have been signed by Bob.Alice redeems this delegation by sending a UserOp that executes the delegated action within the bounds of the caveats defined when the delegation was created.
Since delegations can be offchain, they allow submitting fewer UserOps, saving gas, and reducing onboarding hurdles.EIP-7702 adds a new transaction type that sets the code for an EOA. A delegator account can be the code that EOAs delegate their authority to, enabling all the powers of readable permissions, intents, and offchain permissions to be available to traditional EOA accounts.
ERC-7710 is an ERC standard that defines the minimal interface necessary for Smart Contracts to delegate capabilities to other Smart Contracts, Smart Contract Accounts, or Externally Owned Accounts (EOAs). ERC-7710 resulted from the Delegation Framework.
MetaMask Delegator Accounts implement ERC-7710 to allow redeeming its permissions in a way that can be compatible with other smart contract account implementations. By building this key interface as an open standard, we are inviting innovation in the category of more collaborative wallets, while ensuring ours is able to participate in this new open category.ERC-7715 is an ERC standard that seeks to unify the format in which permissions are requested and granted between Wallets and Dapps in order to execute transactions on the user’s behalf via “session keys” or “session accounts” (which can themselves be embedded smart contract accounts, like our Delegation Toolkit enables).
Delegator Accounts are fully compatible with 7715 via 7710 Account Sessions.The Delegation Framework is an extensible permissions system that allows the sharing of authority in a flexible and attenuable way where delegations enable safe composition with other contracts. This differs from the approach seen in traditional smart contract account “module” systems, which grant full account authority over every module. The Delegator Toolkit supports a fully embedded account giving the site control of its account, and therefore, does not need any JSON-RPC interface to perform whatever actions it wants.Eventually, once this smart account can be imported into MetaMask (via delegation, not key sharing) and connected to traditional web3 sites, this interface will be an obvious one to support.