A modern, open-source, and self-custody Monero light-wallet built with Flutter.
Download from latest release, .AppImage to run on any distribution, .deb for Debian.
Download from latest release the .exe file.
Each release artifact has a detached GPG signature (.asc). Verify downloads before installing. This applies to all signed files (.deb, .AppImage, .exe, .apk, .aab, etc.).
1. Import the signing key (one-time):
curl -LO https://magicgrants.org/files/app-signing-key.asc
gpg --import app-signing-key.ascConfirm the fingerprint matches:
65C4 1CFC AE37 B3B2 72AC 40BE A555 F5F7 B1FF 5885
gpg --fingerprint '65C4 1CFC AE37 B3B2 72AC 40BE A555 F5F7 B1FF 5885'The key owner should be MAGIC Grants <info@magicgrants.org>.
2. Download the artifact and its signature from the release page. Example for v1.0.10 on amd64:
curl -LO https://github.com/MAGICGrants/skylight-wallet/releases/download/v1.0.10/skylight-wallet-v1.0.10-amd64.deb
curl -LO https://github.com/MAGICGrants/skylight-wallet/releases/download/v1.0.10/skylight-wallet-v1.0.10-amd64.deb.asc3. Verify the signature:
gpg --verify skylight-wallet-v1.0.10-amd64.deb.asc skylight-wallet-v1.0.10-amd64.debA successful verification prints Good signature from "MAGIC Grants <info@magicgrants.org>". Substitute the artifact and .asc filenames for other platforms (e.g. .AppImage, .exe, .apk).
Before you begin, ensure you have the following installed:
- Flutter SDK (3.8.1 or higher) - Installation guide
- Dart SDK (3.8.1 or higher) - Usually comes with Flutter
- Android Studio - For Android development
- Android SDK - API level 21+ (Android 5.0 Lollipop or higher)
- Java JDK - Version 11 or higher
git clone https://github.com/magicgrants/skylight-wallet.git
cd skylight-walletflutter pub get- Install Android Studio and the Android SDK
- Accept Android licenses:
flutter doctor --android-licenses
- Set up a device:
- Use an Android emulator (AVD Manager in Android Studio), or
- Connect a physical Android device with USB debugging enabled
- Verify setup:
This will check for any missing dependencies
flutter doctor
Run the app in debug mode with hot reload:
# Run on connected device or emulator
flutter run
# List available Android devices/emulators
flutter devices
# Run on a specific device
flutter run -d <device_id>Make sure you have an Android emulator running or a physical device connected before running the app.
Build a debug APK for testing:
flutter build apk --debugThe APK will be located at: build/app/outputs/flutter-apk/app-debug.apk
Build a debug APK for release:
flutter build apk --releaseThe APK will be located at: build/app/outputs/flutter-apk/app-release.apk
flutter build apk --split-per-abi --releaseThis creates separate APKs for each architecture:
app-armeabi-v7a-release.apk(32-bit ARM)app-arm64-v8a-release.apk(64-bit ARM)app-x86_64-release.apk(64-bit x86)
To install the built APK on your device:
# Install debug APK
flutter install
# Or manually using adb
adb install build/app/outputs/flutter-apk/app-release.apkNote: Other platforms (iOS, Linux, macOS, Windows, Web) are not currently supported but may be added in future releases.
The app uses Flutter's internationalization framework. To add a new language:
- Create a new ARB file in
lib/l10n/(e.g.,app_es.arbfor Spanish) - Copy the structure from
app_en.arband translate the strings - Run code generation:
flutter gen-l10n
- The generated localization files will be in
lib/l10n/
This is needed for the wallet functions and is located at android/app/src/main/jniLibs/<platform>/.
These instructions should work on Ubuntu 22.04. You can use the ubuntu:22.04 Docker image if you don't use Ubuntu as your OS.
$ apt update
$ apt install -y build-essential pkg-config autoconf libtool \
ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf \
unzip python-is-python3 llvm$ git clone https://github.com/vtnerd/monero_c --recursive
$ cd monero_c
$ git checkout lwsf
$ git submodule update --init
$ ./apply_patches.sh monero# For armeabi-v7a
$ ./build_single.sh monero armv7a-linux-androideabi -j$(nproc)
# For arm64-v8a
$ ./build_single.sh monero aarch64-linux-android -j$(nproc)
# For x86_64
$ ./build_single.sh monero x86_64-linux-android -j$(nproc)Pull requests welcome! Thanks for supporting MAGIC Grants.
To join our Matrix community, click here.
