12 KiB
Smart Vault vs MetaMask Smart Accounts Kit - Comparison
Date: 2026-01-26
Reference: MetaMask Smart Accounts Kit Documentation
Executive Summary
The Proxmox project contains RailEscrowVault and AccountWalletRegistry systems, which serve different purposes than MetaMask Smart Accounts Kit. This document compares the two systems and outlines integration opportunities.
System Comparison
MetaMask Smart Accounts Kit
Purpose: Enable programmable account behavior and granular permission sharing for MetaMask users.
Key Features:
- ✅ Smart Accounts: Programmable accounts with custom logic
- ✅ Delegation Framework: Rule-based permission sharing
- ✅ Advanced Permissions (ERC-7715): Fine-grained permissions for dApps
- ✅ User Operations: Batch transactions and gas abstraction
- ✅ Multi-Signature: Multi-sig approvals
- ✅ Gas Abstraction: Pay gas in tokens or sponsor gas
Use Cases:
- Execute on behalf of users
- Batch multiple transactions
- Share permissions with dApps
- Programmable account behavior
Proxmox Smart Vault System
Components:
1. RailEscrowVault
Purpose: Holds tokens locked for outbound rail transfers (payment rails like FEDWIRE, SWIFT, SEPA).
Key Features:
- ✅ Token Escrow: Locks tokens for payment rail transfers
- ✅ Per-Trigger Tracking: Tracks escrow by trigger ID
- ✅ Role-Based Access: SETTLEMENT_OPERATOR_ROLE required
- ✅ Lock/Release: Lock tokens for settlement, release after completion
Address: 0x609644D9858435f908A5B8528941827dDD13a346
Use Cases:
- Lock tokens for FEDWIRE transfers
- Lock tokens for SWIFT transfers
- Lock tokens for SEPA transfers
- Manage escrow for payment rails
2. AccountWalletRegistry
Purpose: Maps regulated fiat accounts (IBAN, ABA) to Web3 wallets.
Key Features:
- ✅ Account-Wallet Mapping: Links fiat accounts to wallets
- ✅ Provider Support: Supports MetaMask, Fireblocks, etc.
- ✅ 1-to-Many Mapping: One account can link to multiple wallets
- ✅ Active/Inactive Links: Can activate/deactivate links
- ✅ Privacy: Stores hashed references (no PII on-chain)
Address: 0xBeEF0128B7ff030e25beeda6Ff62f02041Dedbd0
Use Cases:
- Link IBAN to MetaMask wallet
- Link ABA routing to wallet
- Track wallet providers
- Manage account-wallet relationships
3. SettlementOrchestrator
Purpose: Coordinates trigger lifecycle and fund locking/release.
Key Features:
- ✅ Trigger Validation: Validates payment triggers
- ✅ Compliance Checks: Checks compliance registry
- ✅ Policy Enforcement: Enforces policy manager rules
- ✅ Escrow Management: Manages vault or lien escrow
- ✅ Rail Integration: Integrates with payment rails
Use Cases:
- Coordinate payment settlements
- Validate compliance
- Enforce policies
- Manage escrow lifecycle
Feature Comparison Matrix
| Feature | MetaMask Smart Accounts Kit | Proxmox Smart Vault System |
|---|---|---|
| Programmable Accounts | ✅ Yes (Smart Accounts) | ❌ No (Standard EOAs) |
| Delegation Framework | ✅ Yes (Rule-based) | ❌ No |
| Advanced Permissions (ERC-7715) | ✅ Yes | ❌ No |
| User Operations | ✅ Yes (Batch transactions) | ❌ No |
| Gas Abstraction | ✅ Yes | ❌ No |
| Multi-Signature | ✅ Yes | ❌ No |
| Token Escrow | ❌ No | ✅ Yes (RailEscrowVault) |
| Account-Wallet Mapping | ❌ No | ✅ Yes (AccountWalletRegistry) |
| Payment Rail Integration | ❌ No | ✅ Yes (SettlementOrchestrator) |
| Compliance Integration | ❌ No | ✅ Yes (ComplianceRegistry) |
| Policy Enforcement | ❌ No | ✅ Yes (PolicyManager) |
Key Differences
1. Purpose
MetaMask Smart Accounts Kit:
- Focus: User experience and dApp integration
- Goal: Enable programmable accounts and permission sharing
- Target: End users and dApp developers
Proxmox Smart Vault System:
- Focus: Payment rail settlement and compliance
- Goal: Manage escrow for traditional payment rails
- Target: Financial institutions and regulated entities
2. Architecture
MetaMask Smart Accounts Kit:
- Smart contract accounts (ERC-4337 compatible)
- Delegation framework
- Permission system (ERC-7715)
- User operation batching
Proxmox Smart Vault System:
- Standard EOAs (Externally Owned Accounts)
- Escrow vault contracts
- Account-wallet registry
- Settlement orchestration
3. Use Cases
MetaMask Smart Accounts Kit:
- Execute transactions on behalf of users
- Batch multiple operations
- Share permissions with dApps
- Gas abstraction
Proxmox Smart Vault System:
- Lock tokens for payment rail transfers
- Map fiat accounts to wallets
- Coordinate payment settlements
- Enforce compliance and policies
Integration Opportunities
Option 1: Add MetaMask Smart Accounts Kit Support
Benefits:
- Enable programmable accounts for ChainID 138
- Support delegation and advanced permissions
- Enable gas abstraction
- Support user operation batching
Implementation:
- Deploy MetaMask Smart Accounts Kit contracts
- Integrate with existing AccountWalletRegistry
- Add delegation framework
- Support ERC-7715 Advanced Permissions
Files to Create:
- Smart Accounts deployment scripts
- Delegation integration guide
- Advanced Permissions setup
- Integration with AccountWalletRegistry
Option 2: Enhance AccountWalletRegistry with Smart Account Features
Benefits:
- Add programmable behavior to registered wallets
- Enable delegation for payment rails
- Support batch operations
- Add permission framework
Implementation:
- Extend AccountWalletRegistry to support smart accounts
- Add delegation capabilities
- Integrate with MetaMask Smart Accounts Kit
- Support both standard and smart accounts
Option 3: Hybrid Approach
Benefits:
- Keep existing RailEscrowVault for payment rails
- Add Smart Accounts for dApp interactions
- Support both use cases
Implementation:
- Deploy MetaMask Smart Accounts Kit
- Keep RailEscrowVault for payment rails
- Use Smart Accounts for dApp interactions
- Bridge between systems via AccountWalletRegistry
Recommended Integration Path
Phase 1: Deploy MetaMask Smart Accounts Kit
-
Deploy Smart Accounts Contracts:
- Deploy MetaMask Smart Accounts Kit contracts
- Configure for ChainID 138
- Set up delegation framework
-
Integrate with AccountWalletRegistry:
- Extend AccountWalletRegistry to support smart accounts
- Link smart accounts to fiat accounts
- Support both EOA and smart accounts
-
Add Delegation Support:
- Implement delegation framework
- Support rule-based permissions
- Enable dApp permissions
Phase 2: Advanced Features
-
ERC-7715 Advanced Permissions:
- Implement Advanced Permissions standard
- Enable fine-grained dApp permissions
- Support permission requests from MetaMask
-
Gas Abstraction:
- Enable gas payment in tokens
- Support gas sponsorship
- Batch operations for efficiency
-
User Operations:
- Support user operation batching
- Enable transaction batching
- Optimize gas usage
Integration Guide Structure
1. Smart Accounts Deployment
File: docs/SMART_ACCOUNTS_DEPLOYMENT.md
- Deploy MetaMask Smart Accounts Kit
- Configure for ChainID 138
- Set up delegation framework
- Test smart account creation
2. AccountWalletRegistry Integration
File: docs/SMART_ACCOUNTS_ACCOUNT_WALLET_INTEGRATION.md
- Extend AccountWalletRegistry
- Support smart account addresses
- Link smart accounts to fiat accounts
- Manage smart account lifecycle
3. Delegation Framework
File: docs/SMART_ACCOUNTS_DELEGATION.md
- Implement delegation framework
- Create delegation rules
- Enable permission sharing
- Test delegation flows
4. Advanced Permissions
File: docs/SMART_ACCOUNTS_ADVANCED_PERMISSIONS.md
- Implement ERC-7715
- Enable permission requests
- Manage permission lifecycle
- Test permission flows
Code Examples
Current: AccountWalletRegistry Usage
// Link MetaMask wallet to fiat account
accountWalletRegistry.linkAccountToWallet(
keccak256("IBAN123"),
keccak256("0xWalletAddress"),
keccak256("METAMASK")
);
Proposed: Smart Account Integration
// Create smart account and link to fiat account
address smartAccount = smartAccountFactory.createAccount(userAddress);
accountWalletRegistry.linkAccountToWallet(
keccak256("IBAN123"),
keccak256(abi.encodePacked(smartAccount)),
keccak256("METAMASK_SMART_ACCOUNT")
);
Proposed: Delegation Usage
// Request delegation from user
const delegation = await smartAccountsKit.requestDelegation({
target: dAppAddress,
permissions: ['execute_transactions', 'batch_operations'],
expiry: Date.now() + 86400000, // 24 hours
});
Benefits of Integration
For Users
- ✅ Programmable Accounts: Custom account behavior
- ✅ Gas Abstraction: Pay gas in tokens
- ✅ Batch Operations: Multiple transactions in one
- ✅ Permission Sharing: Share permissions with dApps
For dApps
- ✅ Execute on Behalf: Execute transactions for users
- ✅ Advanced Permissions: Fine-grained permission control
- ✅ Better UX: Batch operations, gas abstraction
- ✅ Delegation: Rule-based permission sharing
For Payment Rails
- ✅ Keep Existing System: RailEscrowVault continues to work
- ✅ Enhanced Capabilities: Add smart account features
- ✅ Better Integration: Bridge traditional and Web3
- ✅ Compliance: Maintain compliance with smart accounts
Implementation Checklist
Phase 1: Smart Accounts Deployment
- Review MetaMask Smart Accounts Kit documentation
- Deploy Smart Accounts contracts to ChainID 138
- Configure delegation framework
- Test smart account creation
- Test delegation flows
Phase 2: AccountWalletRegistry Integration
- Extend AccountWalletRegistry interface
- Add smart account support
- Update linking functions
- Test smart account linking
- Update API documentation
Phase 3: Advanced Features
- Implement ERC-7715 Advanced Permissions
- Add gas abstraction support
- Enable user operation batching
- Test all features
- Create integration guides
Partner Integrations
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 Opportunity:
- Submit ChainID 138 for Smart Accounts Kit support
- Create partner integration guide
- Test with existing partners
Conclusion
The Proxmox Smart Vault system (RailEscrowVault, AccountWalletRegistry) serves a different purpose than MetaMask Smart Accounts Kit:
- Smart Vault: Payment rail settlement and compliance
- Smart Accounts Kit: Programmable accounts and dApp integration
However, they can be complementary:
- Smart Vault handles payment rails
- Smart Accounts Kit handles dApp interactions
- AccountWalletRegistry bridges both systems
Recommended Action: Deploy MetaMask Smart Accounts Kit alongside existing Smart Vault system for enhanced capabilities.
Last Updated: 2026-01-26