LaChispa is a modern mobile application developed in Flutter that allows you to manage Bitcoin through Lightning Network using LNBits as backend. Designed with an intuitive interface and attractive visual effects, it makes Lightning Network usage accessible for everyone.
- π Secure Authentication: Login and registration with multiple LNBits servers
- πΌ Wallet Management: Support for multiple wallets with automatic selection
- β‘ Lightning Payments: Send and receive instant Lightning payments
- π§ Lightning Address: Create and manage personalized Lightning Addresses
- π― Multiple Formats: Support for BOLT11, LNURL, and Lightning Address
- π± Currency Conversion: Integration with Yadio.io for USD, CUP and sats (more denominations coming)
- π Complete History: Detailed visualization of all transactions
- π Multiplatform: Android, iOS, Web, Windows, macOS and Linux
Welcome Screen | Home Screen | Send Payment | Receive Payment | Transaction History |
---|---|---|---|---|
Easy onboarding | Wallet management | Multiple formats | QR code generation | Complete transaction log |
- Flutter 3.0+: Cross-platform framework
- Dart: Programming language
- Provider: State management
- QR Flutter: QR code generation
- Mobile Scanner: QR code scanning
- LNBits: Lightning Network server
- Yadio.io: Exchange rate conversion
- Lightning Network: Payment protocol
- Secure Storage: Secure credential storage
- Dio HTTP Client: Optimized HTTP requests
- Real-time Updates: Automatic balance updates
- Responsive Design: Automatic adaptation to different screen sizes
- Flutter SDK (>=3.0.0)
- Dart SDK
- Configured LNBits server
git clone https://github.com/Forte11Cuba/lachispa.git
cd lachispa
flutter pub get
flutter run
Android:
flutter build apk --release
iOS:
flutter build ios --release
Web:
flutter build web --release
Desktop:
flutter build windows --release # Windows
flutter build macos --release # macOS
flutter build linux --release # Linux
The application comes preconfigured with public LNBits servers, but you can add your own server:
- Open the application
- Go to "Change server"
- Select "Custom server"
- Enter your LNBits server URL
lib/
βββ main.dart # Entry point
βββ models/ # Data models
β βββ wallet_info.dart
β βββ lightning_invoice.dart
β βββ ln_address.dart
βββ providers/ # State management
β βββ auth_provider.dart
β βββ wallet_provider.dart
β βββ ln_address_provider.dart
βββ screens/ # Application screens
β βββ 1welcome_screen.dart
β βββ 6home_screen.dart
β βββ ...
βββ services/ # API services
β βββ auth_service.dart
β βββ wallet_service.dart
β βββ invoice_service.dart
βββ widgets/ # Reusable components
βββ qr_scanner_widget.dart
βββ spark_effect.dart
- Secure Storage: Locally encrypted credentials
- HTTPS Only: All communications encrypted
- No Logging: No sensitive information logging
- Session Management: Secure session management
- Input Validation: Comprehensive input validation
- β Android (API 21+)
- β iOS (iOS 12.0+)
- β Web (Chrome, Firefox, Safari)
- β Windows (Windows 10+)
- β macOS (macOS 10.14+)
- β Linux (Ubuntu 18.04+)
Contributions are welcome! Please:
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/new-feature
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature/new-feature
) - Open a Pull Request
This project is under the MIT License - see the LICENSE file for more details.