ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

smart-accounts-kit

Web3 development using MetaMask Smart Accounts Kit. Use when the user wants to build dApps with ERC-4337 smart accounts, send user operations, batch transactions, configure signers (EOA, passkey, multisig), implement gas abstraction with paymasters, create delegations, or request advanced permissions (ERC-7715). Supports Viem integration, multiple signer types (Dynamic, Web3Auth, Wagmi), gasless transactions, and the Delegation Framework.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/ayushbherwani1998/metamask-smart-accounts-kit
Or

Quick Reference

This skill file provides quick access to the MetaMask Smart Accounts Kit v0.3.0. For detailed information, refer to the specific reference files.

📚 Detailed References:

  • Smart Accounts Reference - Account creation, implementations, signers
  • Delegations Reference - Delegation lifecycle, scopes, caveats
  • Advanced Permissions Reference - ERC-7715 permissions via MetaMask

Package Installation

npm install @metamask/[email protected]

For custom caveat enforcers:

forge install metamask/[email protected]

Core Concepts Summary

1. Smart Accounts (ERC-4337)

Three implementation types:

  • Hybrid (Implementation.Hybrid) - EOA + passkey signers
  • Multisig (Implementation.MultiSig) - Multiple signers with threshold
  • Stateless7702 (Implementation.Stateless7702) - EIP-7702 upgraded EOA

2. Delegation Framework (ERC-7710)

Grant permissions from delegator to delegate:

  • Scopes - Initial authority (spending limits, function calls)
  • Caveats - Restrictions enforced by smart contracts
  • Types - Root, open root, redelegation, open redelegation
  • Lifecycle - Create → Sign → Store → Redeem

3. Advanced Permissions (ERC-7715)

Request permissions via MetaMask extension:

  • Human-readable UI confirmations
  • ERC-20 and native token permissions
  • Requires MetaMask Flask 13.5.0+
  • User must have smart account

Quick Code Examples

Create Smart Account

import { Implementation, toMetaMaskSmartAccount } from '@metamask/smart-accounts-kit'
import { privateKeyToAccount } from 'viem/accounts'

const account = privateKeyToAccount('0x...')

const smartAccount = await toMetaMaskSmartAccount({
  client: publicClient,
  implementation: Implementation.Hybrid,
  deployParams: [account.address, [], [], []],
  deploySalt: '0x',
  signer: { account },
})

Create Delegation

import { createDelegation } from '@metamask/smart-accounts-kit'
import { parseUnits } from 'viem'

const delegation = createDelegation({
  to: delegateAddress,
  from: delegatorSmartAccount.address,
  environment: delegatorSmartAccount.environment,
  scope: {
    type: 'erc20TransferAmount',
    tokenAddress: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
    maxAmount: parseUnits('10', 6),
  },
  caveats: [
    { type: 'timestamp', afterThreshold: now, beforeThreshold: expiry },
    { type: 'limitedCalls', limit: 5 },
  ],
})

Sign Delegation

const signature = await smartAccount.signDelegation({ delegation })
const signedDelegation = { ...delegation, signature }

Redeem Delegation

import { createExecution, ExecutionMode } from '@metamask/smart-accounts-kit'
import { DelegationManager } from '@metamask/smart-accounts-kit/contracts'
import { encodeFunctionData, erc20Abi } from 'viem'

Metadata

Stars4473
Views0
Updated2026-05-01
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-ayushbherwani1998-metamask-smart-accounts-kit": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.