# Nuri iOS Application - Actual Frontend Architecture ## Application Structure ### 1. Entry Points - **Welcome Screen**: First-time users land here with a simple "Login with Passkey" button - **Main Application**: Authenticated users go directly to the tab-based interface ### 2. Main Navigation (Tab Bar) The application uses a three-tab navigation structure: #### Bitcoin Tab This is the primary functional area with: - **Wallet Overview**: Displays Bitcoin balance in both BTC and EUR - **Send/Receive**: Buttons to initiate Bitcoin transactions - **Transaction History**: Link to view complete transaction list - **Buy Bitcoin**: CTA to purchase Bitcoin - **Exchange Rate**: Real-time EUR/BTC pricing from mempool.space - **Face ID Authentication**: Required before accessing wallet functions #### Card Tab Currently focused on a virtual card offering: - **Card Illustration**: Visual representation of the card - **Feature List**: - Free virtual Visa card - Bitcoin top-up capability - Apple Wallet integration - **Get Card**: Button that initiates phone number verification flow #### Security Tab (Keys) Focused on wallet security and backup management: - **Password Management**: Set and edit encryption passwords - **Encryption Testing**: Verify encryption/decryption functionality - **iCloud Backup**: Create, restore, and test iCloud backups - **Seed Management**: Import/export wallet seed phrases - **Diagnostics**: Storage diagnostics and cleanup tools - **Force Operations**: Manual refresh and aggressive cleanup options ### 3. Authentication & Security The current implementation shows: - **Mock Authentication**: "Login with Passkey" button that actually skips all authentication - **Face ID Integration**: Used for Bitcoin wallet access (but not for initial app login) - **Password-based Encryption**: For securing wallet data - **iCloud Backup**: Encrypted seed backup using iCloud Keychain ### 4. Onboarding Flows The implemented flows include: - **Phone Number Verification**: For card acquisition process - **Country Selection**: For international dial codes - **Verification Call**: Alternative verification method ### 5. Current Status Clarifications You're absolutely correct about several important points: 1. There's no actual physical passkey card - it's a virtual card offering 2. The "passkey authentication" is currently just a mock that skips all real authentication 3. Face ID is used for Bitcoin wallet access, not for initial app login 4. The card functionality is focused on a virtual Visa card that can be added to Apple Wallet The frontend is essentially a Bitcoin wallet application with virtual card features, where the "security" tab provides advanced wallet backup and recovery options, and the authentication is much simpler than a full passkey implementation would be.