
⚠️ You're viewing our website for the United Kingdom, but it looks like you're in United States.
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 walletMetaMask Delegation Toolkit is a collection of smart account libraries (including a Wagmi connector and custom Viem client), and middleware to support signers, paymasters and bundlers.
It includes the Delegation Framework, a pioneering suite of open source and customisable smart contracts that enable Dapps and Protocols to create new experiences based around granular permission sharing and trust.
The Delegation Framework, compatible with ERC-7710 and ERC-7715 specifications, will empower developers to get their applications ready for account native delegations.In our observations, we note that other embedded wallets are actually an embedded iframe of their own domain that the Dapp site needs to pop up and ask permission to do everything. Delegation Toolkit puts the Developer in control of their own application, while also taking the burden of security-critical development off their shoulders. Delegations are permissions to take onchain actions bound by caveats.Delegation is the ability for a user (the delegator) to grant permission to other users to perform specific actions on the delegator's behalf, under defined rules and conditions (caveats). These conditions can either be preconditions, or resulting conditions, allowing the composition of declarative intents. Delegation makes managing blockchain activities more flexible and efficient. Delegations can be offchain or onchain. They are composable and transitive in nature. They are customizable to suit the specific logic required on your Dapp or Protocol.Just as in the case with any 4337 account, Delegator-aware dapps are able to sponsor gas fees and support gas fee payment with tokens other than the native chain token. In addition, Delegations support gas deferral with redeemable gas-free, instant asset creation. Many interactions that traditionally required transactions with fees are able to be completely free and instant. Authority expansion is free, retraction costs fees. Yes. Delegator contracts are compatible with custom and burner EOA Signers, 3rd party EOA Signers, Multi-sigs and Passkeys. We support a wide variety of onboarding and authentication flows such as QR Code scans, Invite links, Email and other custom Auth methods. Yes. As long as they support Entrypoint v0.7 as defined in EIP-4337 specifications.
Yes.MetaMask Delegation Toolkit can support any EVM chain, as long as there is a bundler to support User Operations on that chain. No. It is free to use.In the current gated Alpha, we are working closely with teams that are interested in implementing MetaMask Delegation Toolkit to realize the full potential of this innovation.Join the waitlist for early access here. Tell us a bit about your project in your submission. If we think we can support you in making your Dapp or Protocol more Delegation-aware, we will reach back out to help you get started.
No. It is free to use.In the current gated Alpha, we are working closely with teams that are interested in implementing MetaMask Delegation Toolkit to realize the full potential of this innovation.Join the waitlist for early access here. Tell us a bit about your project in your submission. If we think we can support you in making your Dapp or Protocol more Delegation-aware, we will reach back out to help you get started.
No. It is free to use.In the current gated Alpha, we are working closely with teams that are interested in implementing MetaMask Delegation Toolkit to realize the full potential of this innovation.Join the waitlist for early access here. Tell us a bit about your project in your submission. If we think we can support you in making your Dapp or Protocol more Delegation-aware, we will reach back out to help you get started.
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.