Tech stack
| Layer | Choice |
|---|---|
| Framework | React Native 0.83.2 |
| Runtime | Expo ~55.0.7 |
| Language | TypeScript ~5.9.2 |
| Routing | expo-router (file-based, typed routes) |
| Data fetching | TanStack Query ^5.90.20 |
| Animation | react-native-reanimated + react-native-gesture-handler |
| iOS target | 15.1 |
| Build | Expo dev client, EAS workflow-ready |
Features
Auth
Auth
- Passkey authentication with local credential hints and re-login
- Google, Apple, and email OTP sign-in
- Mnemonic create and import for recovery onboarding
- Guard code handling for protected wallet flows
- Local logout and wallet session reset
Wallet and portfolio
Wallet and portfolio
- Multi-network configuration via OMS runtime config
- ERC-20 balance summary with fiat pricing
- ERC-721 and ERC-1155 collectible inventory
- Asset detail views for tokens and collectibles
- Activity feed with indexed transfer history
- Native transfer fallback for selected networks
Transactions and approvals
Transactions and approvals
- Send flow with recipient-first UX
- Coin and collectible send surfaces
- Saved recipients and QR-based recipient scanning
- Relayer-aware transaction submission
- Approval surfaces for transaction requests, message signing, and typed data
- Shared approval execution path reused by wallet, browser, and WalletConnect flows
Browser and WalletConnect
Browser and WalletConnect
- Embedded dapp browser with tab management, history, bookmarks, and connected-site records
- In-app RPC bridge for browser-originated wallet requests
- WalletConnect pairing via QR scan or pasted URI
- Proposal and request approval and rejection
- Active session management and disconnect flows
Funding and earn
Funding and earn
- Fiat-to-crypto on-ramp via Transak with wallet address prefill
- Earn module backed by Yield.xyz: vault discovery, deposit, withdraw, position lookup, reward history
- Persistent earn metadata and vault caching
Security
Security
- OS-backed secure storage isolated from general cache layers
- Screen-capture blocking on mnemonic screens
- Sensitive logging redaction in auth flows
- Runtime healthcheck for secure storage, SQLite, and MMKV
- Explicit separation between local sign-out, cleanup, and session teardown
Storage model
| Layer | Technology | Purpose |
|---|---|---|
| Secrets | Secure OS-backed storage | Private keys, credentials |
| State | SQLite | Structured wallet and app state |
| Cache | MMKV | Non-secret cache and UX state |
Integrations
Wallet Development Kit, OMS Indexer, OMS API, OMS Relayer, OMS Guard, WalletConnect (Reown), Yield.xyz, Transak.The primary implementation targets native iOS. Expo web output is configured but the UX focus is mobile-first. Passkey, Google, and Apple sign-in are implemented as iOS-native flows.
Get access
Request access to this demo
Want to explore the neobank iOS demo? Contact us to request access.