
Description
Build dApps with MetaMask Smart Accounts Kit — ERC-4337 smart accounts, delegations, and Advanced Permissions (ERC-7715)
SKILL.md
MetaMask Smart Accounts Kit
When to use
- You want to create ERC-4337 smart accounts (Hybrid, MultiSig, or Stateless7702)
- You want to send user operations or batch transactions via bundlers
- You want to configure signers (EOA, passkey/WebAuthn, multisig, wallet client)
- You want to implement gas abstraction with paymasters
- You want to create, sign, or redeem delegations (ERC-7710)
- You want to request Advanced Permissions via MetaMask extension (ERC-7715)
- You want to build automated backend services (DCA bots, keeper services) using delegations
- You want to implement session accounts for AI agents or automated trading
- You want to set up parallel user operations with nonce keys
Installation
npm install @metamask/smart-accounts-kit permissionless
Which smart account type to use
| Name | Usage |
|---|---|
| Hybrid | A flexible account with EOA, wallet client, and passkey (WebAuthn) signers. The most flexible option for standard dApp users. |
| MultiSig | Requires multiple signers to meet a threshold before transactions execute. Best for treasury, DAO, or shared custody use cases. |
| Stateless7702 | Upgrades an existing EOA to a smart account using EIP-7702 while keeping the same address. Best for users with existing embedded EOAs. |
If the user hasn't specified which implementation they need, present the options.
Delegations vs Advanced Permissions
| Name | Usage |
|---|---|
| Delegations (ERC-7710) | You create, sign, and manage delegations programmatically. The delegator is a smart account you control. You handle the full lifecycle: creation, signing, storage, and redemption. |
| Advanced Permissions (ERC-7715) | You request permissions from a MetaMask user through a human-readable UI in the extension. MetaMask creates and enforces the delegations internally. The user can review and adjust parameters before approving. |
Advanced Permissions use delegations under the hood — ERC-7715 creates ERC-7710 delegations internally. If the user hasn't specified which to use, present the options.
API references
| Use case | Reference | Workflows |
|---|---|---|
| Create a smart account | toMetaMaskSmartAccount | Create hybrid account, Create multisig account, Create 7702 account |
| Create a delegation | createDelegation | Create delegation, Create redelegation |
| Request ERC-7715 permissions | requestExecutionPermissions | Request permissions, Redeem — smart account, Redeem — EOA |
Workflows
| Use case | Workflow |
|---|---|
| Create a Hybrid smart account | Create hybrid account |
| Create a MultiSig smart account | Create multisig account |
| Create a Stateless7702 smart account | Create 7702 account |
| Create and sign a delegation | Create delegation |
| Create a delegation chain (redelegation) | Create redelegation |
| Redeem a delegation when the delegate is a smart account | Redeem delegation — smart account |
| Redeem a delegation when the delegate is an EOA | Redeem delegation — EOA |
| Request ERC-7715 Advanced Permissions | Request permissions |
| Redelegate an ERC-7715 permission context | Create redelegation for permissions |
| Redeem ERC-7715 permissions when the session account is a smart account | Redeem permissions — smart account |
| Redeem ERC-7715 permissions when the session account is an EOA | Redeem permissions — EOA |
Important notes
- Always use caveats — never create unrestricted delegations.
- Deploy the delegator first — the account must be deployed before redeeming delegations.
- Function call scope defaults to no native token — use
valueLteto allow it. - Caveats are cumulative in delegation chains — restrictions stack.
- ERC-7715 requires MetaMask Flask 13.5.0+ or MetaMask stable 13.23.0+, and the user must have a smart account.
- Always check that the project builds successfully after making changes.
- Smart Accounts Kit version: 1.6.0 | Delegation Framework: 1.3.0
Resources
- NPM:
@metamask/smart-accounts-kit - Contract deployments: Delegation Framework deployments
- Docs: https://docs.metamask.io/smart-accounts-kit
- MetaMask Flask: https://metamask.io/flask
More skills from the smart-accounts-kit repository
View all 2 skillsMore from MetaMask
View publisherdiscovery
discover and use services
ocap-kernel
Jul 13API DevelopmentSearchmetamask
interact with MetaMask wallet capabilities
ocap-kernel
Jul 13API DevelopmentEthereumWeb3wallet
manage wallet balances and transactions
ocap-kernel
Jul 13EthereumPaymentsWeb3metamask-connect
integrate MetaMask into dApps
connect-monorepo
Jul 13API DevelopmentEthereumSolanawagmi +1metamask-agent-wallet
manage blockchain wallets and transactions
agent-skills
Jul 26BlockchainDeFiEthereumWeb3migrate-from-sdk
migrate MetaMask SDK to connect-evm and connect-solana
metamask-connect-cursor-plugin
Jul 13EthereumMigrationSDKWeb3