Complete 24-screen onboarding sequence with password creation, biometrics, location, wallet backup, and KYC.
Welcome screen remains unchanged from current app. Shows app logo with tagline "Pay & Get Paid, 24/7" and value proposition. Two CTAs: "Create Account" starts onboarding, "What can I do?" opens feature tour.
Note: Create Account button modified to work within iframe navigation.
Password creation with real-time validation. Shows 8+ characters, letter, number, and match requirements. Screen 3 is when all criteria are met and Next button becomes enabled.
Offers Face ID/Touch ID setup with "Maybe later" option. Detects platform to show appropriate biometric type. Screen 5 (loading) is integrated into this component.
Note: Biometric enrollment is simulated for prototype.
Request location to enable location-based features. Shows benefits list: Personal IBAN, Free Debit Card, Full Wallet Features. Continue enabled only after permission granted.
Mockup of native OS location permission dialog. Shows what users would see on iOS/Android. Screen 8 (Android) uses same component as Screen 7 (iOS) for simplicity.
Note: This is a simplified text mockup of the OS dialog. Backend calls mocked for prototype.
Auto-detects country from location. Shows "We've detected your country as Switzerland" with option to change. Warning modal if user tries to override detected country.
Note: Country detection is mocked for prototype.
On app entry, prompt the user to connect a TON wallet. We need the wallet address to fetch Fiat24 account information and eligibility (if the user already has a Fiat24 account). This lets us load fiat status early. For countries not supported by Fiat24, the UI stays cryptoβonly (USDT via TON) with no fiat account features.
Design decision: Move TON Connect to the first step to obtain the wallet address needed for Fiat24 lookups, simplifying the flow and avoiding branching later.
Shows USDT wallet successfully connected with option to continue CHF account setup. Displays mini version of CHF benefits (IBAN and debit card) to encourage completion of full onboarding.
User enters main app for first time. Shows two onboarding cards: "Secure Your Assets" (active) prompts wallet backup, "Verify Identity" (locked) waits until backup complete.
Before showing recovery phrase, confirm user's identity by asking for password again. Ensures only account owner can see secret phrase.
Note: Password verification is mocked for this prototype.
Shows 12-word recovery phrase. Initially covered with "Reveal Phrase" button. Screen 15 is revealed state where words are visible and "I've Backed Up" is enabled.
Note: Recovery phrase is mocked for prototype. Production would generate unique words.
Backup complete, wallet card removed. "Quick ID Check - about 5 min" card now active with info tooltip explaining regulations and benefits.
Send 0.0001 ETH on Arbitrum to prove you're human. Shows deposit address with copy button. Tooltip explains funds stay in your wallet, not a fee.
Note: Blockchain deposit verification is mocked for this prototype.
Loading state after anti-bot verification. Shows "Creating your account..." with spinner. Auto-advances after 2 seconds.
Note: Blockchain operations are mocked for this prototype.
Updated message: "Submitted. Waiting for on-chain mint..." Shows blockchain operation in progress. Auto-advances after 2 seconds.
Note: On-chain minting is simulated for prototype.
Success message with blue checkmark: "Anti-bot verified! Next: Confirm your identity." Auto-advances to ID check after 2 seconds.
Uses existing ID check screen. Shows checklist: Be at home address, Phone camera ready, Biometric passport/ID. All must be checked to enable "Start ID Check".
Modal informs user: "You will be asked to sign a blockchain message on the next screen. This is normal and costs no gas." Continue acknowledges and proceeds.
Placeholder for Fiat24 KYC process. Would normally open webview for: wallet signature, ID upload, selfie, address verification. Auto-completes after 5 seconds for demo.
Note: External KYC process is mocked. Click "Simulate KYC Completion" or wait 5 seconds.
Final confirmation screen. Shows "β You're all set!" with "Your EUR/CHF/USD account & IBAN are now live." Prompts to top up 10 EUR/CHF/USD to activate free debit card.
documentation/new-onboarding.md
for full implementation details