How SSP Components Work Together
The Complete SSP Ecosystem
SSP consists of three core components working together to provide secure, user-friendly cryptocurrency management using traditional 2-of-2 multisignature technology:
Component Deep Dive
π SSP Wallet (Browser Extension)
Primary Key Holder & User Interface
Purpose: Main interface for wallet management and transaction initiation
Key Role: Holds first private key (Key #1) of the 2-of-2 multisig pair
Platforms: Chrome, Firefox, Brave, Edge
Built With: React 19, TypeScript, Vite
Architecture: Manifest v3 browser extension
Core Responsibilities:
π€ User interface for all wallet operations across 13+ blockchains
π Generate and securely store first BIP48-derived private key
πΈ Construct transactions for UTXO and EVM networks
π Coordinate with SSP Key for transaction approval
π Multi-blockchain support with network-specific optimizations
π WalletConnect v2 integration for dApp connectivity
Supported Address Types:
Bitcoin/UTXO: P2SH, P2WSH (SegWit) multisignature addresses
Ethereum/EVM: ERC-4337 smart-contract accounts (CREATE2-derived), controlled by a 2-of-2 Schnorr multisig β not EOAs
Account Abstraction: The native and only EVM mode; every EVM address is an ERC-4337 smart account signed by both keys
π± SSP Key (Mobile App)
Secondary Key Holder & Transaction Authorizer
Purpose: Secure mobile 2FA device for transaction authorization
Key Role: Holds second private key (Key #2) of the 2-of-2 multisig pair
Platforms: iOS 15.1+, Android 7+
Built With: React Native 0.78, TypeScript
Security: React Native Keychain + MMKV encrypted storage
Core Responsibilities:
π Generate and store second BIP48-derived private key independently
β Review transaction details and approve/reject on mobile interface
π± Receive push notifications for transaction requests (FCM/APNS)
π Synchronize with SSP Wallet via QR codes or optional relay server
π€ Complete multisignature transactions using Schnorr signatures
π‘οΈ Independent security layer with biometric authentication
Key Security Features:
iOS: Keychain Services integration with Face ID/Touch ID
Android: Android Keystore with fingerprint authentication
Encryption: AES-256 with device fingerprinting
Offline Capable: Full functionality via QR code scanning
β‘ SSP Relay (Communication Server)
Optional Zero-Knowledge Communication Bridge
Purpose: Optional server to facilitate communication between devices
Key Role: Message relay only - never accesses or stores private keys
Infrastructure: Node.js 20+, MongoDB, WebSocket, REST API
Security: Zero-knowledge architecture, end-to-end encryption
Alternative: Full offline operation available via QR codes
Core Responsibilities:
π‘ Relay encrypted messages between SSP Wallet and SSP Key
π Coordinate device synchronization process (optional)
π Provide blockchain data, network fees, and UTXO information
π Support for 12+ blockchain networks via various APIs
π WebSocket connections for real-time communication
π Caching and performance optimization
Zero-Knowledge Design:
β Never sees: Private keys, seed phrases, transaction details
β Only handles: Encrypted message passing and public blockchain data
β Alternative: Users can operate completely offline with QR codes
Communication Flow
Initial Setup & Synchronization
Online Synchronization (via SSP Relay)
Since v2, a sync request can carry multiple chains at once (batch sync) β SSP Key shows one approval naming all chains β and every sync ends with the pairing verification code: both devices independently derive the same 6 words from the exchanged keys, so any tampering (even by the relay) is visible to the user.
Offline Synchronization (QR Code Only)
Transaction Process
Online Transaction Flow
Offline Transaction Flow
Security Architecture
π Traditional Multisignature Security
True 2-of-2: Both private keys required for every transaction
BIP48 Derivation: Industry-standard hierarchical deterministic keys
Network Native: Uses each blockchain's native multisig capabilities
No Single Point of Failure: Compromise of one device doesn't affect funds
π‘οΈ Device-Level Protection
SSP Wallet: Browser extension with encrypted local storage
SSP Key: Mobile app with hardware-backed key storage
Communication: Optional relay server with zero-knowledge design
Backup: User-controlled seed phrase backup (no cloud storage)
π Redundant Verification
Address validation on both devices during setup
Transaction details verification before signing
Network-specific validation before broadcast
Optional offline operation for maximum security
Data Flow & Storage
SSP Wallet Storage (Browser Extension)
β Encrypted with AES-256: BIP48 private key with password-based encryption
β Device Fingerprinted: Encryption tied to specific browser and device
β Local Storage: Transaction history, contacts via LocalForage
β Session Storage: Temporary password caching for user convenience
β No Cloud Sync: All data remains on user's local device
SSP Key Storage (Mobile App)
β React Native Keychain: iOS Keychain Services/Android Keystore
β MMKV Encrypted: High-performance encrypted local database
β Device-Specific Encryption: Uses device fingerprint + user PIN/biometric
β Biometric Integration: Face ID/Touch ID/Fingerprint authentication
β User-Controlled Backup: Seed phrase backup managed by user
SSP Relay Storage (Zero-Knowledge)
β No Private Keys: Never sees, stores, or accesses private keys
β No Seed Phrases: No access to wallet recovery information
β Message Queue: Temporary encrypted message passing only
β Blockchain Data: Public UTXO and network information caching
β Performance Data: Network fees and transaction estimation
Integration Points
Blockchain Networks (Actual Implementation)
Based on /src/storage/blockchains.ts:
UTXO Networks (Native Multisignature)
Bitcoin: P2WSH multisig addresses, RBF support, SegWit optimization
Litecoin: P2WSH multisig, 2.5-minute blocks, low fees
Dogecoin: P2SH multisig, high throughput, meme-friendly
Bitcoin Cash: P2SH multisig, cashaddr format, BCH-specific features
Ravencoin: P2SH multisig, asset creation and transfers
Zcash: P2SH multisig, transparent addresses (shielded coming)
Flux: P2SH multisig, native integration with Flux ecosystem
EVM Networks (ERC-4337 Smart Accounts + Schnorr Signing)
Ethereum (Chain ID: 1): Schnorr multisig message signing, Account Abstraction
Polygon (Chain ID: 137): Low-cost transactions, full EVM compatibility
BSC (Chain ID: 56): High throughput, Binance ecosystem integration
Base (Chain ID: 8453): Coinbase L2, optimized user experience
Avalanche (Chain ID: 43114): Sub-second finality, C-Chain compatibility
External Service Integration
WalletConnect v2: Full protocol support with Schnorr multisig compatibility
Onramper: Integrated fiat-to-crypto onramp services
Blockbook/Insight: UTXO network APIs for Bitcoin-like chains
Alchemy: Premium Ethereum infrastructure provider
Etherspot: Account Abstraction bundler services
Performance Characteristics
Network-Specific Optimization
UTXO Networks: Efficient UTXO selection and fee optimization
EVM Networks: Gas price optimization and transaction batching
Cross-Chain: Unified interface across different blockchain architectures
Scaling Capabilities
Concurrent Users: Thousands per relay instance
Transaction Throughput: Limited by blockchain networks, not SSP
Network Efficiency: Optimized API calls and caching strategies
Offline Operations: Full functionality without internet connectivity
Monitoring & Health
System Health Indicators
π’ Device Sync Status: Real-time synchronization between wallet and key
π’ Network Connectivity: Blockchain node and API endpoint health
π’ Relay Server Status: Optional communication server availability
π’ Transaction Queue: Pending and confirmed transaction status
Error Recovery Mechanisms
Automatic Reconnection: Network interruption handling
State Synchronization: Consistent state across devices and sessions
Offline Mode Activation: Seamless QR code fallback
Transaction Retry Logic: Failed transaction recovery procedures
Next Steps
Introduction to 2-of-2 Multisignature - Core security concepts
Security Overview - Comprehensive security analysis
Pairing Verification Code - How synced devices verify each other
WalletConnect v2 Integration - dApp communication flows
Last updated