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

13 KiB

Smart Vault System vs MetaMask Smart Accounts Kit - Comprehensive Comparison

Date: 2026-01-26
Reference: MetaMask Smart Accounts Kit


Executive Summary

The Proxmox project contains a Smart Vault System for payment rail settlement, which is fundamentally different from MetaMask Smart Accounts Kit. However, they can be complementary and integrated together.


System Overview

Proxmox Smart Vault System

Purpose: Payment rail settlement and compliance for traditional financial systems.

Components:

  1. RailEscrowVault (0x609644D9858435f908A5B8528941827dDD13a346)

    • Escrows tokens for payment rail transfers
    • Supports FEDWIRE, SWIFT, SEPA, RTGS
    • Per-trigger escrow tracking
  2. AccountWalletRegistry (0xBeEF0128B7ff030e25beeda6Ff62f02041Dedbd0)

    • Maps fiat accounts (IBAN, ABA) to Web3 wallets
    • Supports multiple wallet providers (MetaMask, Fireblocks)
    • 1-to-many account-wallet mapping
  3. SettlementOrchestrator

    • Coordinates payment trigger lifecycle
    • Validates compliance and policies
    • Manages escrow lock/release

Architecture: Standard EOAs (Externally Owned Accounts) with escrow contracts


MetaMask Smart Accounts Kit

Purpose: Programmable account behavior and granular permission sharing.

Key Features:

  • Smart Accounts: ERC-4337 compatible programmable accounts
  • Delegation Framework: Rule-based permission sharing
  • Advanced Permissions (ERC-7715): Fine-grained dApp permissions
  • User Operations: Batch transactions
  • Gas Abstraction: Pay gas in tokens or sponsor gas
  • Multi-Signature: Multi-sig approvals

Architecture: Smart contract accounts with programmable logic

Reference: MetaMask Smart Accounts Kit Documentation


Detailed Feature Comparison

1. Account Type

Feature Proxmox Smart Vault MetaMask Smart Accounts Kit
Account Type Standard EOAs Smart Contract Accounts
Programmability No Yes
Custom Logic No Yes
Upgradeability No Yes (via proxy)

2. Permission System

Feature Proxmox Smart Vault MetaMask Smart Accounts Kit
Delegation No Yes (Delegation Framework)
Advanced Permissions No Yes (ERC-7715)
Rule-Based Permissions No Yes
Permission Expiry No Yes
Role-Based Access Yes (AccessControl) Yes (Delegation)

3. Transaction Features

Feature Proxmox Smart Vault MetaMask Smart Accounts Kit
Batch Operations No Yes (User Operations)
Gas Abstraction No Yes
Transaction Batching No Yes
Multi-Signature No Yes
Account Abstraction No Yes (ERC-4337)

4. Payment Rail Features

Feature Proxmox Smart Vault MetaMask Smart Accounts Kit
Payment Rail Support Yes (FEDWIRE, SWIFT, SEPA) No
Escrow Management Yes (RailEscrowVault) No
Settlement Orchestration Yes No
Compliance Integration Yes No
Policy Enforcement Yes No

5. Account-Wallet Mapping

Feature Proxmox Smart Vault MetaMask Smart Accounts Kit
Fiat Account Mapping Yes (AccountWalletRegistry) No
Wallet Provider Support Yes (MetaMask, Fireblocks) Yes (MetaMask)
1-to-Many Mapping Yes No
Account Privacy Yes (Hashed refs) No

Use Case Comparison

Proxmox Smart Vault Use Cases

  1. Payment Rail Settlement:

    • Lock tokens for FEDWIRE transfer
    • Lock tokens for SWIFT transfer
    • Coordinate settlement lifecycle
    • Enforce compliance and policies
  2. Account-Wallet Linking:

    • Link IBAN to MetaMask wallet
    • Link ABA routing to wallet
    • Track wallet providers
    • Manage account-wallet relationships
  3. Compliance and Policy:

    • Check compliance registry
    • Enforce policy manager rules
    • Validate account eligibility
    • Track regulated entities

MetaMask Smart Accounts Kit Use Cases

  1. dApp Integration:

    • Execute transactions on behalf of users
    • Request advanced permissions
    • Batch multiple operations
    • Abstract gas payments
  2. User Experience:

    • Programmable account behavior
    • Delegation to dApps
    • Gas abstraction
    • Batch transactions
  3. Developer Features:

    • Smart account creation
    • Delegation framework
    • Permission management
    • User operation batching

Integration Opportunities

Option 1: Deploy Smart Accounts Kit Alongside Smart Vault

Architecture:

┌─────────────────────┐
│  Fiat Account       │
│  (IBAN/ABA)         │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────┐
│ AccountWalletRegistry│
└──────────┬──────────┘
           │
           ├──► EOA Wallet (MetaMask)
           │    └──► RailEscrowVault (Payment Rails)
           │
           └──► Smart Account (New)
                  ├──► Delegation Framework
                  ├──► Advanced Permissions
                  └──► User Operations (dApps)

Benefits:

  • Keep existing payment rail system
  • Add smart account capabilities
  • Support both use cases
  • Enhanced user experience

Option 2: Enhance AccountWalletRegistry with Smart Accounts

Implementation:

  1. Extend AccountWalletRegistry to support smart accounts
  2. Auto-create smart accounts when linking wallets
  3. Support both EOA and smart accounts
  4. Use smart accounts for dApp interactions
  5. Use EOAs for payment rails (if needed)

Benefits:

  • Unified account management
  • Seamless integration
  • Backward compatible
  • Enhanced capabilities

Implementation:

  1. Payment Rails: Continue using RailEscrowVault with EOAs
  2. dApp Interactions: Use Smart Accounts Kit
  3. Account Management: AccountWalletRegistry manages both
  4. Bridge: SettlementOrchestrator can use either

Benefits:

  • Best of both worlds
  • Maintain existing functionality
  • Add new capabilities
  • Flexible architecture

Implementation Plan

Phase 1: Deploy Smart Accounts Kit

Tasks:

  1. Install Smart Accounts Kit SDK
  2. Deploy EntryPoint contract
  3. Deploy AccountFactory contract
  4. Deploy Paymaster contract (optional)
  5. Configure for ChainID 138

Files to Create:

  • scripts/deploy-smart-accounts-kit.sh
  • contracts/smart-accounts/DeploySmartAccounts.s.sol
  • docs/SMART_ACCOUNTS_DEPLOYMENT.md

Phase 2: Integrate with AccountWalletRegistry

Tasks:

  1. Extend AccountWalletRegistry interface
  2. Add smart account creation on link
  3. Support both EOA and smart accounts
  4. Update API documentation

Files to Create:

  • contracts/emoney/AccountWalletRegistryExtended.sol
  • docs/SMART_ACCOUNTS_ACCOUNT_WALLET_INTEGRATION.md

Phase 3: Add Delegation Framework

Tasks:

  1. Implement delegation framework
  2. Create delegation rules
  3. Enable permission sharing
  4. Test delegation flows

Files to Create:

  • docs/SMART_ACCOUNTS_DELEGATION.md
  • examples/delegation-example.ts

Phase 4: Advanced Permissions (ERC-7715)

Tasks:

  1. Implement ERC-7715 standard
  2. Enable permission requests
  3. Manage permission lifecycle
  4. Test permission flows

Files to Create:

  • docs/SMART_ACCOUNTS_ADVANCED_PERMISSIONS.md
  • examples/advanced-permissions-example.ts

Code Examples

Current: AccountWalletRegistry

// Link MetaMask EOA to fiat account
accountWalletRegistry.linkAccountToWallet(
    keccak256("IBAN123"),
    keccak256("0xWalletAddress"),
    keccak256("METAMASK")
);

Proposed: Smart Account Integration

// Create smart account and link
const smartAccount = await smartAccountsKit.createAccount({
  owner: userAddress,
});

await accountWalletRegistry.linkAccountToWallet(
    keccak256("IBAN123"),
    keccak256(abi.encodePacked(smartAccount.address)),
    keccak256("METAMASK_SMART_ACCOUNT")
);

Proposed: Delegation for Payment Rails

// Delegate payment rail operations
const delegation = await smartAccountsKit.requestDelegation({
  target: settlementOrchestratorAddress,
  permissions: ['lock_escrow', 'release_escrow'],
  expiry: Date.now() + 86400000, // 24 hours
});

Partner Integration Opportunities

According to MetaMask Smart Accounts Kit documentation, the following partners are integrated:

  • Scaffold-ETH 2: Smart Accounts extension
  • Viem: Smart Accounts support
  • Arbitrum: Network support
  • permissionless.js: Smart Accounts integration
  • Monad: Testnet support

ChainID 138 Integration:

  • Submit ChainID 138 for Smart Accounts Kit support
  • Create partner integration guide
  • Test with existing partners (Viem, permissionless.js)

Benefits of Integration

For Payment Rails

  • Keep Existing System: RailEscrowVault continues to work
  • Enhanced Security: Smart accounts for sensitive operations
  • Better Compliance: Programmable compliance checks
  • Delegation: Delegate payment operations securely

For dApps

  • Better UX: Gas abstraction, batch operations
  • Advanced Permissions: Fine-grained permission control
  • Delegation: Execute on behalf of users
  • Programmable: Custom account behavior

For Users

  • Flexibility: Choose EOA or smart account
  • Better UX: Gas abstraction, batch transactions
  • Security: Delegation with expiry
  • Control: Fine-grained permissions

  1. Payment Rails: Use RailEscrowVault with EOAs (existing system)
  2. dApp Interactions: Use Smart Accounts Kit (new capabilities)
  3. Account Management: AccountWalletRegistry manages both
  4. Bridge: Users can have both EOA and smart account linked

Benefits:

  • Maintains existing payment rail functionality
  • Adds smart account capabilities
  • Flexible for different use cases
  • Backward compatible

Implementation Checklist

Smart Accounts Kit Deployment

  • Review MetaMask Smart Accounts Kit documentation
  • Install SDK: npm install @metamask/smart-accounts-kit
  • Deploy EntryPoint contract
  • Deploy AccountFactory contract
  • Deploy Paymaster contract (optional)
  • Configure for ChainID 138
  • Test smart account creation

AccountWalletRegistry Integration

  • Extend AccountWalletRegistry interface
  • Add smart account creation function
  • Support both EOA and smart accounts
  • Update linking functions
  • Test smart account linking
  • Update API documentation

Delegation Framework

  • Implement delegation framework
  • Create delegation rules
  • Enable permission sharing
  • Test delegation flows
  • Create delegation examples

Advanced Permissions

  • Implement ERC-7715 standard
  • Enable permission requests
  • Manage permission lifecycle
  • Test permission flows
  • Create permission examples

Files Created

  1. docs/SMART_VAULT_VS_METAMASK_SMART_ACCOUNTS_COMPARISON.md - Initial comparison
  2. docs/SMART_VAULT_COMPREHENSIVE_COMPARISON.md - This comprehensive comparison
  3. scripts/deploy-smart-accounts-kit.sh - Deployment script
  4. smart-accounts-kit-deployment/DEPLOYMENT_GUIDE.md - Deployment guide
  5. smart-accounts-kit-deployment/ACCOUNT_WALLET_INTEGRATION.md - Integration guide

Next Steps

  1. Review Comparison: Understand differences and opportunities
  2. Deploy Smart Accounts Kit: Deploy to ChainID 138
  3. Integrate with AccountWalletRegistry: Extend existing system
  4. Test Integration: Test all features
  5. Document: Create user and developer guides

Conclusion

The Proxmox Smart Vault System and MetaMask Smart Accounts Kit serve different but complementary purposes:

  • Smart Vault: Payment rail settlement and compliance
  • Smart Accounts Kit: Programmable accounts and dApp integration

Recommended: Deploy Smart Accounts Kit alongside Smart Vault system for enhanced capabilities while maintaining existing payment rail functionality.


Last Updated: 2026-01-26