Skip to main content

Runtime Requirements

To run Muun Wallet on an Android device, the following minimum specifications are required:

Android Version

Android 5.0 (Lollipop) or higherAPI Level 21+

Google Services

Google Play Services requiredFor Firebase and Play Integrity

SDK Configuration

The app is configured with the following SDK levels:
minSdk 21      // Android 5.0 (Lollipop)
targetSdk 35   // Latest Android API
compileSdk 35  // Compile against latest SDK
The minimum SDK of 21 corresponds to Android 5.0 (Lollipop), released in 2014. This ensures broad device compatibility while maintaining modern Android features.

Build Requirements

Local Development Build

To build Muun Wallet locally, you need the following tools installed:
1

OpenJDK

Version: >= 8Download from AdoptOpenJDKThe project uses Java 17 for compilation:
compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}
2

Golang

Version: = 1.24.x (exact version required)Download from golang.org/dl
Use exactly version 1.24.x for compatibility with the libwallet build scripts.
3

Android NDK

Version: >= 22Download from Android NDK DownloadsImportant: Set the ANDROID_NDK_HOME environment variable:
export ANDROID_NDK_HOME=/path/to/your/ndk
4

Docker

Version: >= 28Download from Docker Install Docs
Docker must be running before executing build scripts.

Kotlin Configuration

The project uses Kotlin with the following JVM target:
kotlinOptions {
    jvmTarget = JavaVersion.VERSION_17.toString()
}

Reproducible Build Requirements

For reproducible builds and APK verification:

Docker Resources

Reproducible builds require significant Docker resources.
  • Docker Version: >= 18.09
  • RAM: At least 16 GB allocated to Docker
  • Disk Space: At least 60 GB free

APK Verification Tools

To verify an existing APK installation:
brew install android-platform-tools

Build Dependencies

Core Libraries

Muun depends on several key Android libraries:

Navigation

navigation:2.7.7
For fragment navigation and safe args

WorkManager

work-runtime:2.9.0
For background task scheduling

Firebase

firebase-bom:32.6.0
For crashlytics and analytics

gRPC

grpc:1.57.2
For backend communication

Bitcoin & Cryptography

The wallet includes native cryptographic libraries:
  • libwallet: Custom Bitcoin and Lightning library (Rust + Go)
  • Protobuf: Version 4.29.3 for protocol buffers
  • BitcoinJ: For Bitcoin operations (via common module)
The native libraries must be built before assembling the APK. See the Quick Start guide for build instructions.

Development Tools

Optional Tools

These tools are useful for development but not required for building:
  • Android Studio: Latest stable version recommended
  • Git: For version control
  • Gradle: Included via wrapper (./gradlew)

Debug Tools

The debug build includes additional development tools:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
debugImplementation 'com.github.markzhai:blockcanary-android:1.5.0'
These tools are automatically excluded from release builds to minimize APK size.

Build docs developers (and LLMs) love