A Flutter-based cryptocurrency wallet supporting multiple blockchain networks with custom network functionality.
-
Pre-configured Networks: Support for major blockchain networks
-
BNB Smart Chain (Mainnet & Testnet)
-
Polygon (Mainnet & Mumbai Testnet)
-
Avalanche (C-Chain & Fuji Testnet)
-
Fantom (Opera & Testnet)
-
Ethereum (Mainnet & Sepolia)
-
Sui (Devnet / Testnet / Mainnet) — Move-based network support
-
-
Custom Networks: Add your own blockchain networks
- Custom RPC URLs
- Custom Chain IDs
- Custom currency symbols
- Custom block explorers
- Edit and delete custom networks
- Native token: SUI (base unit = 1e9 — 1 SUI = 1,000,000,000 base units)
- Move tokens: The app detects Sui coin objects and lists Move-token balances in the wallet UI. When sending a Move token the app will aggregate multiple coin objects if needed.
- Network id detection: networks that include
suiin their id (for examplesui-devnet) will enable Sui-specific handling and SDK selection.
- 🔐 Secure Wallet Creation: Generate new wallets with 12-word mnemonic
- 📥 Wallet Import: Import existing wallets using mnemonic phrases
- 💰 Balance Display: View native token balance on selected network
- 💸 Send Transactions: Send native tokens to any address
- 🔄 Network Switching: Easy network switching with visual indicators
- 🌈 Modern Design: Clean and intuitive interface
- 🎨 Color-coded Networks:
- 🟢 Green for mainnets
- 🟠 Orange for testnets
- 🔵 Blue for custom networks
- 📱 Responsive Layout: Works on all screen sizes
- 🔄 Network Indicator: Shows current network in app bar
- Flutter SDK (3.9.0 or higher)
- Dart SDK
- Android Studio / VS Code
Additional notes for Sui
- Ensure
flutter pub getinstalls thesuiDart package used for Sui RPC and transaction building. - Private keys are read from Flutter Secure Storage under the key
pk_<address>for both EVM and Sui wallets.
- Clone the repository
- Install dependencies:
flutter pub get - Run the app:
flutter run
- Create Wallet: Tap "Create New Wallet" to generate a new wallet
- Backup Mnemonic: Save the 12-word mnemonic phrase securely
- Or Import: Use "Import Wallet" with existing mnemonic
- Switch Networks: Tap the network indicator in the top-right corner
- Select Network: Choose from predefined or custom networks
- Add Custom Network: Tap the "+" button in network selector
- Open Network Selector: Tap network indicator
- Add Network: Tap the "+" icon
- Fill Details:
- Network Name (e.g., "My Custom Chain")
- RPC URL (e.g., "https://rpc.example.com")
- Chain ID (e.g., 1337)
- Currency Symbol (e.g., "CUSTOM")
- Block Explorer URL (optional)
- Toggle testnet if applicable
- Test Connection: Use the test button to verify RPC
- Save Network: Tap "Add Network"
- Open Network Selector
- Find Custom Network in the "Custom Networks" section
- Tap Menu: Use the three-dot menu for options
- Edit/Delete: Choose your desired action
- Backup Your Mnemonic: Always backup your 12-word mnemonic phrase
- Test Networks First: Use testnets before mainnet operations
- Verify Addresses: Double-check recipient addresses before sending
- Custom Networks: Verify RPC URLs and chain IDs before adding
Sui-specific notes:
- If your token balances are split across many small coin objects the wallet will attempt to aggregate them for a single transfer; if a transfer still fails consider running a consolidation transaction first.
- For testing Sui features use
sui-devnetand small amounts.
- Secure Storage: Private keys encrypted using Flutter Secure Storage
- Mnemonic Backup: 12-word backup phrases for wallet recovery
- Network Validation: RPC connection testing before adding networks
- Transaction Confirmation: Clear transaction details before sending
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.