Shin Wallet is a secure, non-custodial mobile cryptocurrency wallet built with React Native and Expo. It provides a user-friendly interface for managing digital assets, with a focus on security and ease of use.
- Secure Wallet Creation: Generate a new wallet using a 12-word mnemonic seed phrase.
 - Biometric Authentication: Secure your wallet with Face ID or Touch ID for quick and safe access.
 - Asset Management: View your wallet balance and transaction history.
 - Cross-Platform: Runs on iOS, Android, and Web from a single codebase.
 - Modern UI: Built with the Tamagui component library for a consistent and performant user experience.
 
- Framework: React Native with Expo
 - UI Toolkit: Tamagui
 - Routing: Expo Router
 - State Management: Zustand
 - Ethereum Interaction: viem
 - Secure Storage: Expo Secure Store & React Native Keychain
 - Internationalization: i18next
 
Follow these steps to get the project running on your local machine.
- Node.js (LTS version recommended)
 - Bun (for dependency management)
 - Expo Go app on your iOS or Android device, or an emulator/simulator.
 
- 
Clone the repository:
git clone https://github.com/al002/shin-wallet.git cd shin-wallet - 
Install dependencies: This project uses
bunfor package management.bun install
 - 
Start the development server:
bun expo start
This will start the Expo development server. You can then scan the QR code with the Expo Go app on your phone or run it in a simulator.
 - 
Windows Firewall
New-NetFirewallRule -DisplayName "Expo Metro (8081)" -Direction Inbound -Protocol TCP -LocalPort 8081 -Action Allow
 
Here is a brief overview of the key directories in this project:
.
├── app/                # All screens and routes, managed by Expo Router.
│   ├── (onboarding)/   # Onboarding and wallet setup flow.
│   └── (tabs)/         # Main app screens after login.
├── assets/             # Static assets like images and fonts.
├── components/         # Reusable UI components (e.g., Button, Input).
├── constants/          # Shared constants like theme colors and keys.
├── contexts/           # React contexts for sharing state.
├── locales/            # Internationalization (i18n) files.
├── store/              # Global state management with Zustand.
└── utils/              # Utility functions and helpers.
Contributions are welcome! Please feel free to open an issue or submit a pull request.