# CryptoVault - Bootable Multi-Coin USB Wallet

## Vision
A physical "crypto bank" on a USB drive that:
- Boots into its own lightweight Linux OS for offline, air-gapped crypto management
- When plugged into Windows, auto-launches as a desktop app
- Password protected with encrypted storage
- Supports 15+ major cryptocurrencies
- Hardware wallet integration (Ledger/Trezor)
- Windows Explorer sidebar integration

## Architecture

### USB Drive Contents
```
/crypto-vault/
├── vault-os/           # Mini Linux OS (Tiny Core Linux based)
│   ├── bzImage        # Kernel
│   ├── core.gz        # Root filesystem
│   └── cryptwallet/   # Wallet app bundle
│       ├── app/       # React wallet UI
│       ├── walletd    # Built-in crypto daemon
│       └── keys/      # Encrypted keystore
├── autorun.inf        # Windows auto-launch
├── vault.exe          # Windows launcher
├── sidebar.dll        # Explorer sidebar extension
└── setup.bat          # Windows installer for shell integration
```

### Supported Coins
- BTC, ETH, LTC, BCH, DOGE, XMR, ZEC (native daemon)
- SOL, XRP, XLM, ADA, DOT, AVAX (lightweight/API)
- USDT, USDC, DAI, LINK, UNI (ERC-20 tokens)
- AIE custom token

### Security
- AES-256 encrypted keystore
- BIP39 mnemonic support
- Argon2id key derivation
- Shamir's Secret Sharing backup
- Auto-wipe after 10 failed attempts (configurable)

### Boot Modes
1. **Live Mode**: Boot from USB into read-only vault OS
2. **Persistent Mode**: Changes saved to encrypted partition
3. **Windows Mode**: Auto-launch desktop app when plugged in

## Build Commands
```bash
cd /home/workspace/crypto-vault
python3 flasher/CryptoVault-Flasher.py --build      # Build package
python3 flasher/CryptoVault-Flasher.py --flash /dev/sdX  # Flash to USB
```

## Flasher Requirements
- Python 3.8+
- pywin32 (Windows only)
- parted, losetup, mkfs.vfat (Linux build only)
