A React Native Android app for discovering and managing GLAM vaults on Solana.
- Vault Discovery: Browse and search investment vaults with real-time data from Solana
- Portfolio Management: Track positions and manage redemption requests
- Mobile Wallet Integration: Connect via Solana Mobile Wallet Adapter (MWA) for signing transactions
- Transaction Support: Deposit, withdraw, and claim redemptions directly from the app
- React Native + Expo (SDK 53)
- TypeScript for type safety
- Solana Web3.js + @glamsystems/glam-sdk
- Solana Mobile Wallet Adapter for Android wallet integration
- Zustand for state management
- TanStack Query for data fetching
- React Native Reanimated for animations
- Node.js v18+
- Expo CLI
- Android Studio with Android Emulator
- Android device or emulator with a Solana wallet app (Phantom, Solflare, Backpack, etc.)
-
Clone and install:
git clone https://github.com/glamsystems/glam.git cd glam npm install
-
Configure environment:
cp .env.example .env.local
-
Edit
.env.local
with your RPC endpoints:NETWORK=mainnet SOLANA_RPC=https://your-mainnet-rpc MAINNET_TX_RPC=https://your-tx-rpc
npm start # Start Expo dev server
npm run android # Run on Android emulator/device
src/
├── components/ # UI components
├── constants/ # App constants (fonts, spacing, tokens)
├── contexts/ # React contexts
├── data/ # Static data files
├── hooks/ # Custom React hooks
├── screens/ # App screens
├── services/ # GLAM/Solana services
├── solana/ # Wallet & RPC providers
├── store/ # Zustand stores
├── theme/ # Theme system (colors, fonts, context)
├── types/ # TypeScript type definitions
└── utils/ # Helpers & formatters
- vaultStore: Vault data, search, and filtering
- walletStore: Wallet connection and balances
- portfolioStore: User positions and redemptions
- activityStore: Transaction history
iVaults uses the Solana Mobile Wallet Adapter protocol for secure wallet interactions on Android devices. This provides:
- Secure Transaction Signing: All transactions are signed within your wallet app
- Session Persistence: Wallet authorization persists between app launches
- Deep Linking: Automatic return to iVaults after wallet interactions
- Multi-Wallet Support: Works with any MWA-compatible wallet (Phantom, Solflare, Backpack, etc.)
- Mainnet configuration by default
- Performance metrics are simulated for display
- Wallet sessions persist between app launches
- Supports deep linking for wallet returns
- Web Support: Add browser extension wallet support for web platform
- iOS Support: Implement iOS wallet integration
- Cross-Platform Wallet Adapter: Unified wallet connection across all platforms
- WalletConnect Integration: Alternative wallet connection method
- Activity Tracking: Monitor transaction history and vault performance
This project is licensed under the Business Source License 1.1 - see the LICENSE file for details.
The license converts to MIT License on 2029-07-25.