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:
-
RailEscrowVault (
0x609644D9858435f908A5B8528941827dDD13a346)- Escrows tokens for payment rail transfers
- Supports FEDWIRE, SWIFT, SEPA, RTGS
- Per-trigger escrow tracking
-
AccountWalletRegistry (
0xBeEF0128B7ff030e25beeda6Ff62f02041Dedbd0)- Maps fiat accounts (IBAN, ABA) to Web3 wallets
- Supports multiple wallet providers (MetaMask, Fireblocks)
- 1-to-many account-wallet mapping
-
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
-
Payment Rail Settlement:
- Lock tokens for FEDWIRE transfer
- Lock tokens for SWIFT transfer
- Coordinate settlement lifecycle
- Enforce compliance and policies
-
Account-Wallet Linking:
- Link IBAN to MetaMask wallet
- Link ABA routing to wallet
- Track wallet providers
- Manage account-wallet relationships
-
Compliance and Policy:
- Check compliance registry
- Enforce policy manager rules
- Validate account eligibility
- Track regulated entities
MetaMask Smart Accounts Kit Use Cases
-
dApp Integration:
- Execute transactions on behalf of users
- Request advanced permissions
- Batch multiple operations
- Abstract gas payments
-
User Experience:
- Programmable account behavior
- Delegation to dApps
- Gas abstraction
- Batch transactions
-
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:
- Extend AccountWalletRegistry to support smart accounts
- Auto-create smart accounts when linking wallets
- Support both EOA and smart accounts
- Use smart accounts for dApp interactions
- Use EOAs for payment rails (if needed)
Benefits:
- ✅ Unified account management
- ✅ Seamless integration
- ✅ Backward compatible
- ✅ Enhanced capabilities
Option 3: Hybrid Approach (Recommended)
Implementation:
- Payment Rails: Continue using RailEscrowVault with EOAs
- dApp Interactions: Use Smart Accounts Kit
- Account Management: AccountWalletRegistry manages both
- 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:
- Install Smart Accounts Kit SDK
- Deploy EntryPoint contract
- Deploy AccountFactory contract
- Deploy Paymaster contract (optional)
- Configure for ChainID 138
Files to Create:
scripts/deploy-smart-accounts-kit.shcontracts/smart-accounts/DeploySmartAccounts.s.soldocs/SMART_ACCOUNTS_DEPLOYMENT.md
Phase 2: Integrate with AccountWalletRegistry
Tasks:
- Extend AccountWalletRegistry interface
- Add smart account creation on link
- Support both EOA and smart accounts
- Update API documentation
Files to Create:
contracts/emoney/AccountWalletRegistryExtended.soldocs/SMART_ACCOUNTS_ACCOUNT_WALLET_INTEGRATION.md
Phase 3: Add Delegation Framework
Tasks:
- Implement delegation framework
- Create delegation rules
- Enable permission sharing
- Test delegation flows
Files to Create:
docs/SMART_ACCOUNTS_DELEGATION.mdexamples/delegation-example.ts
Phase 4: Advanced Permissions (ERC-7715)
Tasks:
- Implement ERC-7715 standard
- Enable permission requests
- Manage permission lifecycle
- Test permission flows
Files to Create:
docs/SMART_ACCOUNTS_ADVANCED_PERMISSIONS.mdexamples/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
Recommended Approach
Hybrid Architecture (Recommended)
- Payment Rails: Use RailEscrowVault with EOAs (existing system)
- dApp Interactions: Use Smart Accounts Kit (new capabilities)
- Account Management: AccountWalletRegistry manages both
- 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
docs/SMART_VAULT_VS_METAMASK_SMART_ACCOUNTS_COMPARISON.md- Initial comparisondocs/SMART_VAULT_COMPREHENSIVE_COMPARISON.md- This comprehensive comparisonscripts/deploy-smart-accounts-kit.sh- Deployment scriptsmart-accounts-kit-deployment/DEPLOYMENT_GUIDE.md- Deployment guidesmart-accounts-kit-deployment/ACCOUNT_WALLET_INTEGRATION.md- Integration guide
Next Steps
- Review Comparison: Understand differences and opportunities
- Deploy Smart Accounts Kit: Deploy to ChainID 138
- Integrate with AccountWalletRegistry: Extend existing system
- Test Integration: Test all features
- 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