Account Abstraction Implementation
SSP Wallet implements ERC-4337 Account Abstraction with Schnorr signature multisignature support on EVM-compatible networks, providing advanced smart account capabilities while maintaining the security of the 2-of-2 multisignature architecture.
Overview
Account Abstraction (AA) represents a paradigm shift in how Ethereum accounts work, enabling smart contract wallets to have the same user experience as Externally Owned Accounts (EOAs) while providing additional programmable features.
SSP Wallet's implementation combines:
ERC-4337 Standard: Industry-standard Account Abstraction protocol
Schnorr Signatures: Advanced cryptographic signatures for efficiency
2-of-2 Multisignature: Maintaining SSP's core security model
Custom Validation Logic: Flexible transaction validation rules
Technical Architecture
Smart Account Structure
contract SSPSmartAccount {
// Core validation logic
function validateUserOp(UserOperation op, bytes32 opHash, uint256 missingAccountFunds)
external returns (uint256 validationData);
// Execute user operations
function execute(address dest, uint256 value, bytes calldata func) external;
// Batch execution
function executeBatch(address[] calldata dest, uint256[] calldata value, bytes[] calldata func) external;
// Schnorr signature validation
function validateSchnorrSignature(bytes32 hash, bytes calldata signature) internal view returns (bool);
}Components
1. UserOperation Structure
2. Schnorr Multisignature Validation
The smart account validates Schnorr signatures from both SSP Wallet and SSP Key:
Key Features
1. Gas Payment
SSP Wallet does not enable paymaster sponsorship on EVM chains — every EVM UserOperation is paid from the smart account's own native gas balance, so the account must hold the chain's native token (ETH, MATIC, BNB, …). The paymasterAndData field is a standard ERC-4337 slot that SSP does not currently use, so the example below is illustrative only. Gasless / sponsored fees in the SSP stack exist only on Solana, where the SSP Relay paymaster signs the fee-payer slot.
2. Batch Operations
Execute multiple transactions atomically in a single operation:
3. Session Keys — Not Supported
SSP Wallet does not implement session keys or delegated single-key spending. Every transaction always requires the full 2-of-2 (SSP Wallet + SSP Key); there is no createSessionKey API and no way for a dApp to transact with a temporary single key. This is deliberate — a session key would let one device spend alone, breaking the two-device security guarantee.
4. Recovery Model — No Social Recovery
SSP does not implement social recovery, guardians, or any third-key fallback. Even on EVM / Account Abstraction accounts, spending is a strict 2-of-2: every transaction requires both the SSP Wallet key and the SSP Key. There is no threshold-of-guardians mechanism and no relay-side key recovery.
Each key is recoverable only from its own seed phrase:
The SSP Wallet seed phrase restores the first (wallet) key.
The SSP Key seed phrase restores the second (key) key.
The two seed phrases are different and both are required. If either key's device and its seed phrase are lost, you hold only 1 of the 2 required keys and the account can no longer sign — funds are permanently frozen. Back up both seed phrases independently and store them separately. See Lost or Replaced a Device?.
Implementation Details
UserOperation Lifecycle
Signature Generation Process
UserOperation Hash: Create deterministic hash of operation
Dual Signing: Both SSP Wallet and SSP Key sign the hash
Signature Aggregation: Combine signatures using Schnorr aggregation
Validation: Smart contract verifies both signatures
Security Enhancements
1. Multi-Layer Validation
Signature Validation: Schnorr multisignature verification
Nonce Management: Replay attack prevention
Gas Validation: Prevent gas griefing attacks
Target Validation: Whitelist of allowed contract interactions
2. Risk Management
3. Emergency Controls
Two-key enforcement: Every UserOperation requires both signatures; a single device cannot execute
Device restore: A lost device is restored only from its own seed phrase — there is no key recovery beyond the two seed phrases
Upgrade Protection: Secure contract upgrade procedures
Gas Optimization
1. Signature Aggregation
Schnorr signatures enable efficient aggregation, reducing gas costs:
2. Batch Operations
Reduce individual transaction overhead through batching:
Development SDK
Installation
Basic Usage
Advanced Configuration
Supported Networks
EVM Networks (Account Abstraction with ERC-4337)
Ethereum Mainnet: Full feature support (Chain ID: 1)
Polygon: Low-cost operations (Chain ID: 137)
Base: Coinbase L2 integration (Chain ID: 8453)
Binance Smart Chain: BEP-20 support (Chain ID: 56)
Avalanche: C-Chain compatibility (Chain ID: 43114)
EVM Testnets
Sepolia: Ethereum testnet (Chain ID: 11155111)
Amoy: Polygon testnet (Chain ID: 80002)
Note: Account Abstraction is only available on EVM-compatible networks. UTXO networks (Bitcoin, Litecoin, Dogecoin, etc.) use native multisignature implementations and do not support Account Abstraction features.
Under Evaluation
The following networks are being evaluated for future support:
Cardano: Multi-signature implementation research in progress
Cosmos: Inter-blockchain communication and multisig evaluation
TRON: TRC-20 and native multisig assessment
NEAR: Account model and multisig capabilities evaluation
Best Practices
1. Gas Management
Ensure the smart account holds native gas (ETH/MATIC/BNB…) — SSP does not sponsor EVM gas
Batch operations when possible
Set appropriate gas limits
Monitor gas price fluctuations
2. Security Considerations
Validate paymaster trustworthiness
Implement spending limits
Regular security audits
Monitor unusual activity patterns
3. User Experience
Clear transaction previews
Progress indicators
Error handling and recovery
Educational materials
Future Roadmap
Short Term
Enhanced paymaster integration
Additional network support
Improved gas estimation
Mobile SDK optimization
Long Term
Cross-chain operations
Advanced recovery mechanisms
Institutional features
Regulatory compliance tools
SSP Wallet's Account Abstraction implementation represents a significant advancement in smart contract wallet technology, combining the security benefits of multisignature architecture with the flexibility and user experience improvements of programmable accounts.
Last updated