Project Overview
Better Wallet is a revolutionary two-device cryptocurrency wallet system that transforms a pair of ordinary smartphones into a hardware wallet setup with Ledger/Trezor-level security. By utilizing an air-gapped architecture with QR code communication, Better Wallet ensures your private keys never touch the internet while maintaining full functionality for dApp interactions, token transfers, and transaction monitoring.
The Problem We're Solving
Hardware wallets like Ledger and Trezor cost $50-$200 and require dedicated devices that users must purchase and carry around. Meanwhile, most people have old smartphones sitting in drawers gathering dust. Additionally, existing mobile wallets store private keys on internet-connected devices, creating significant security risks. We asked: "What if we could turn two smartphones into a secure hardware wallet setup?"
Our Solution: Two-Device Air-Gapped Architecture
Better Wallet splits wallet functionality across two devices:
-
Cold Wallet (Device B - Offline Phone):
- Stores private keys and signs transactions
- Completely offline (enforces airplane mode)
- Acts like a hardware wallet
- Never connects to the internet
-
Hot Wallet (Device A - Online Phone/Browser):
- View-only wallet monitoring balances
- Creates unsigned transactions
- Connects to dApps via WalletConnect
- Broadcasts signed transactions
-
Communication Method:
- Exclusively through QR codes
- No Bluetooth, NFC, or network connection
- Complete physical air-gap
Key Features & Innovations
Security-First Design
- ✅ Airplane Mode Enforcement: The cold wallet app blocks all usage until the device is completely offline
- ✅ Biometric Authentication: Every transaction requires Face ID or fingerprint verification
- ✅ Secure Storage: Private keys stored in iOS Keychain / Android Keystore
- ✅ Transaction Verification: Detailed review of all transaction parameters before signing
- ✅ dApp Transparency: When signing dApp transactions, the cold wallet displays which dApp (name, URL, icon) is requesting the transaction
Seamless dApp Integration
- ✅ WalletConnect Support: Connect to any dApp (Uniswap, OpenSea, Aave, etc.)
- ✅ Full Transaction Context: See which dApp is making requests while signing
- ✅ Session Management: Persistent connections with proper metadata handling
- ✅ Standard Compliance: Supports
eth_sendTransaction and eth_signTransaction
PayPal USD (PYUSD) Integration
- ✅ Dollar-Backed Stablecoin: Store and send PYUSD tokens (1:1 USD peg)
- ✅ Dual Balance Display: View both ETH and PYUSD balances simultaneously
- ✅ Stable Value Experience: Unlike volatile crypto, PYUSD maintains steady dollar value
- ✅ PayPal-Backed: Trusted, institutional-grade stablecoin
- ✅ Fast Global Transfers: Send "dollars" anywhere instantly on blockchain
Blockscout Transaction Tracking
- ✅ Real-Time Notifications: Visual toast popups when transactions broadcast
- ✅ Live Monitoring: Watch transaction progress in real-time
- ✅ Open-Source Explorer: Transparent blockchain exploration without centralized services
- ✅ Direct Links: One-click access to full transaction details
- ✅ Status Updates: See confirmations as they happen
ERC-20 Token Support
- ✅ Automatic Detection: Cold wallet detects and displays token transfers
- ✅ Token Metadata: Shows token name, symbol, and amount
- ✅ Transfer Verification: Review token transfers before signing
Progressive Web App (PWA)
- ✅ Installable: Add hot wallet to home screen on mobile
- ✅ Offline UI: Graceful degradation when network unavailable
- ✅ Cross-Platform: Works on iOS, Android, desktop browsers
- ✅ No App Store: Direct deployment via web
Technical Architecture
Cold Wallet (React Native + Expo)
Technologies:
- React Native + Expo for cross-platform mobile development
- ethers.js for Ethereum wallet operations
- expo-secure-store for encrypted private key storage
- expo-local-authentication for biometric auth
- expo-camera for QR code scanning
- react-native-qrcode-svg for QR generation
Key Components:
- HD Wallet with BIP39 mnemonic (12-word recovery phrase)
- Transaction parser for ERC-20 detection
- Biometric authentication layer
- Offline network detector
Hot Wallet (React + Vite + PWA)
Technologies:
- React + Vite for fast development and builds
- ethers.js for blockchain interaction
- @reown/walletkit for WalletConnect integration
- @blockscout/app-sdk for transaction tracking
- vite-plugin-pwa for Progressive Web App features
- html5-qrcode for browser QR scanning
Key Components:
- View-only wallet monitoring
- WalletConnect session management
- Transaction builder with gas estimation
- Real-time balance tracking
- Blockscout notification system
Landing Page (React + Vite)
- Modern neobrutalism design
- Direct APK download
- Getting started documentation
- Mobile-responsive
Transaction Flow
Manual Transaction:
- Hot wallet creates unsigned transaction with gas estimation
- Transaction serialized as JSON and displayed as QR code
- Cold wallet scans QR code and parses transaction details
- User reviews recipient, amount, gas fees, and network
- Biometric authentication required to proceed
- Cold wallet signs transaction with private key (offline)
- Signed transaction displayed as QR code
- Hot wallet scans signed QR and broadcasts to blockchain
- Blockscout notification appears with transaction tracking
dApp Transaction (WalletConnect):
- Hot wallet connects to dApp via WalletConnect URI
- User approves connection in hot wallet
- dApp initiates transaction (swap, NFT purchase, etc.)
- Hot wallet displays transaction QR with dApp metadata
- Cold wallet scans and shows transaction + dApp info (name, URL, icon)
- User verifies dApp details and transaction parameters
- Biometric authentication + signing
- Hot wallet scans signed QR, broadcasts to blockchain
- WalletConnect confirms transaction back to dApp
- Blockscout tracks transaction in real-time
Security Model
Defense in Depth:
Layer 1: Physical Air-Gap
└─ No network permissions on cold device
└─ QR codes only communication method
Layer 2: Device Security
└─ iOS Keychain / Android Keystore
└─ Biometric authentication
└─ Secure key generation
Layer 3: Transaction Verification
└─ Detailed parameter review
└─ dApp source transparency
└─ Amount/address confirmation
Layer 4: Offline Enforcement
└─ Airplane mode required
└─ Network status monitoring
└─ App blocks if connectivity detected
Why This Is Secure:
- Private keys generated and stored on offline device
- Keys never transmitted (even encrypted)
- No USB, Bluetooth, or network connection
- User verifies every transaction detail
- Biometric prevents unauthorized signing
- Open-source and auditable
User Experience Highlights
Onboarding:
- Simple 3-step wallet creation
- Clear backup instructions for recovery phrase
- Word verification to ensure proper backup
- QR code pairing between devices
Daily Use:
- Clean, mobile-first interface
- Bottom tab navigation
- Real-time balance updates
- One-tap transaction creation
- Visual feedback for all actions
- Blockscout notifications for peace of mind
Design:
- Neobrutalism aesthetic with bold colors and borders
- Dark mode support (cold wallet)
- Smooth animations and transitions
- Accessibility-focused
- Mobile-optimized (max-width: 428px)
What Makes This Hackathon-Worthy
- Novel Security Approach: Repurposes existing devices into hardware wallet setup
- Real-World Problem: Addresses both cost and security concerns of crypto storage
- Complete Implementation: Fully functional with cold app, hot app, and landing page
- Multiple Integrations: WalletConnect, PYUSD, Blockscout all working seamlessly
- Production-Ready: Deployed landing page with downloadable Android APK
- Open Source: All code available for audit and contribution
- User-Centric: Prioritizes both security and usability
- Cross-Platform: Works on iOS, Android, web browsers
Technical Challenges Overcome
- QR Code Size Limits: Implemented efficient transaction serialization
- ERC-20 Detection: Built parser to identify and decode token transfers
- WalletConnect Metadata: Preserved dApp context through QR code flow
- Offline Enforcement: Reliable network detection across platforms
- Camera Access: Handled browser permissions and HTTPS requirements
- PWA Service Workers: Implemented proper caching strategies
- Biometric Integration: Cross-platform authentication with fallbacks
Future Roadmap
- Multi-signature support
- Additional EVM chains (Polygon, Arbitrum, Optimism)
- NFT display and transfers
- Hardware wallet import (Ledger/Trezor)
- Social recovery mechanisms
- Multi-account management
- Enhanced transaction analysis
- Support for more token standards
Testing & Verification
Available Now on Sepolia Testnet:
- Get test ETH from faucets
- Send ETH and PYUSD transactions
- Connect to dApps via WalletConnect
- Monitor transactions with Blockscout
- Test complete air-gapped flow
Conclusion
Better Wallet demonstrates that hardware wallet-level security doesn't require expensive dedicated devices. By combining smartphone capabilities, air-gapped architecture, and modern web technologies, we've created a secure, user-friendly cryptocurrency wallet system that leverages PayPal's PYUSD for stable value storage and Blockscout for transparent transaction tracking. This is crypto security made accessible to everyone.
Better Wallet is built using React Native (Expo) for the Cold Wallet and React + Vite PWA for the Hot Wallet. The Cold Wallet securely stores private keys using expo-secure-store and authenticates users via biometrics before signing transactions offline. The Hot Wallet connects to dApps using Reown WalletKit, constructs unsigned transactions, and transfers them via QR codes using html5-qrcode. Signed QR codes are scanned and broadcasted to the blockchain with ethers.js, while Blockscout SDK tracks transaction status. This air-gapped design ensures hardware-wallet-level security using existing devices, no Bluetooth, cables, or internet between them.