Files
metamask-integration/docs/SMART_ACCOUNTS_DEPLOYMENT_NOTE.md
2026-03-02 12:14:14 -08:00

2.9 KiB

Smart Accounts Kit Deployment - Important Note

Date: 2026-01-26
Status: ⚠️ Contract Sources Required


Important Deployment Note

MetaMask Smart Accounts Kit uses ERC-4337 standard contracts that need to be deployed:

  1. EntryPoint Contract (ERC-4337 standard)
  2. AccountFactory Contract (MetaMask Smart Accounts Kit)
  3. Paymaster Contract (Optional, for gas abstraction)

Contract Sources

Option 1: MetaMask Smart Accounts Kit Package

The contracts may be available in the @metamask/smart-accounts-kit package:

npm install @metamask/smart-accounts-kit
# Check for contract artifacts in node_modules/@metamask/smart-accounts-kit

Option 2: Standard ERC-4337 Implementations

Use standard ERC-4337 implementations:

  • OpenZeppelin: ERC-4337 contracts
  • Alchemy: Account Abstraction SDK
  • Stackup: ERC-4337 implementations
  • Pimlico: ERC-4337 contracts

Option 3: Use Existing Deployments

If EntryPoint and AccountFactory are already deployed on ChainID 138, use those addresses.


Deployment Steps

Step 1: Obtain Contract Sources

  1. Check @metamask/smart-accounts-kit package for contracts
  2. Or use standard ERC-4337 implementations
  3. Or verify if contracts are already deployed

Step 2: Deploy Contracts

Once contract sources are available:

# Deploy EntryPoint
forge script script/smart-accounts/DeployEntryPoint.s.sol \
  --rpc-url $RPC_URL_138 --broadcast

# Deploy AccountFactory
forge script script/smart-accounts/DeployAccountFactory.s.sol \
  --rpc-url $RPC_URL_138 --broadcast

# Deploy Paymaster (optional)
forge script script/smart-accounts/DeployPaymaster.s.sol \
  --rpc-url $RPC_URL_138 --broadcast

Step 3: Update Configuration

# Update .env
echo "ENTRY_POINT=<deployed-address>" >> smom-dbis-138/.env
echo "SMART_ACCOUNT_FACTORY=<deployed-address>" >> smom-dbis-138/.env
echo "PAYMASTER=<deployed-address>" >> smom-dbis-138/.env  # optional

# Update config
cd metamask-integration
./scripts/update-smart-accounts-config.sh --interactive

Step 4: Deploy AccountWalletRegistryExtended

cd smom-dbis-138
forge script script/smart-accounts/DeployAccountWalletRegistryExtended.s.sol \
  --rpc-url $RPC_URL_138 --broadcast

Current Status

Deployment script created: script/smart-accounts/DeploySmartAccountsKit.s.sol
⚠️ Contract sources needed: EntryPoint and AccountFactory implementations
AccountWalletRegistryExtended ready: Can be deployed once factory/entry point addresses are set


Next Steps

  1. Obtain contract sources from MetaMask Smart Accounts Kit or ERC-4337 implementations
  2. Create deployment scripts for EntryPoint and AccountFactory
  3. Deploy contracts to ChainID 138
  4. Update configuration with deployed addresses
  5. Deploy AccountWalletRegistryExtended

Last Updated: 2026-01-26