XMRig Multi is a cross-platform Monero / Wownero / DERO miner by ImL1s: native XMRig on Android, iOS (sideload), and Desktop; RandomX.js in the browser; WearOS / watchOS companions for stats.
Repository:
ImL1s/xmrig-multi. Product display name: XMRig Multi.
| Platform | Status | Mining | Notes |
|---|---|---|---|
| 📱 Android | ✅ Asset binary in checkout | Native XMRig | Pool + Monero solo (monerod); ./gradlew :app:assembleDebug |
| 🍎 iOS | .a is upstream donate |
Native XMRig | Rebuild for this repo's fee; App Store prohibited |
| 🌐 Web | ✅ Demo | RandomX.js | Needs local WebSocket proxy |
| 💻 Desktop | ✅ Linux tracked + CI installers | Native XMRig | v2.3.0 .deb / NSIS / DMG; or desktop/scripts/build-xmrig.sh |
| ⌚ WearOS | Companion | No | ./gradlew :wearos:assembleDebug |
| ⌚ watchOS | Companion | No | cd watchos && xcodegen generate |
繁體中文 | Docs | Platforms | Dev fee | Screenshots | Release v2.3.0
./gradlew :app:assembleDebug
./gradlew :app:installDebugA checkout includes app/src/main/assets/xmrig_arm64 with this repo's 1% fee wallet. If gitignored jniLibs/arm64-v8a/libxmrig.so is missing, Gradle (:app:stageXmrigJniLib) packages that asset as arm64-v8a libxmrig.so so Android 10+ 64-bit devices can execute it. There is no 32-bit (armeabi-v7a) miner in checkout. ./scripts/build_xmrig.sh still produces the preferred arm64 library before a release.
Tracked ios/XMRigCore/output/libxmrig-ios-arm64.a is XMRig 6.25.0 with upstream donate (donate.v2.xmrig.com), not this repo's 8AfU... wallet. Xcode can still link it. Rebuild with this project's fee: docs/ios.md.
Run this from the repository root (do not cd into ios/XMRigCore/scripts first):
open ./ios/XMRigMiner-iOS.xcodeprojcd web/proxy && npm install && node server.js # Start proxy
cd web && npm install && npm run dev # Start dev server
# Open http://localhost:5173cd desktop && npm install
./scripts/build-xmrig.sh # Build XMRig with custom dev fee
npm run tauri:dev # Development
npm run tauri:build # Production build- ✅ Multi-Coin Support: Monero (XMR), Wownero (WOW), DERO
- ✅ Multi-Pool Support: MoneroOcean, SupportXMR, HashVault, 2Miners, and more
- ✅ Android Solo Mining: Monero via user
monerodRPC (daemon: true) — see docs/platforms.md - ✅ Dynamic Pool Switching: Change pools without restart
- ✅ Algorithm Auto-Selection: rx/0 (Monero), rx/wow (Wownero), AstroBWT/v3 (DERO)
- 📊 Real-time hashrate (10s / 60s / 15m averages)
- 📈 Shares accepted/rejected tracking
- 🌡️ CPU temperature & usage monitoring
- 🔋 Battery status (mobile)
- 📶 Network connection status
- 🎨 Material Design 3 (Android)
- 🍎 SwiftUI native (iOS)
- 🖥️ Tauri + React (Desktop)
- 🌐 Modern responsive web UI
This application includes a 1% developer fee to support ongoing development.
- Rate: 1% of mining time
- Wallet:
8AfUwcnoJiRDMXnDGj3zX6bMgfaj9pM1WFGr2pakLm3jSYXVLD5fcDMBzkmk4AeSqWYQTA5aerXJ43W65AT82RMqG6NDBnC - Mechanism: Time-based (99 min user → 1 min dev → repeat)
- Transparency: All code is open source
See docs/dev-fee.md for detailed explanation.
Presentation (Jetpack Compose)
↓
ViewModel (MVI: State, Event, Effect)
↓
Repository (DataStore, Flow)
↓
Native Layer (JNI → C++ XMRig)
| Component | Technology |
|---|---|
| Android UI | Jetpack Compose + Material 3 |
| iOS UI | SwiftUI |
| Desktop | Tauri 2.0 + React |
| Web | Vite + vanilla JS |
| Mining Engine | XMRig 6.21.0 (C++) |
| Web Mining | RandomX.js (WASM) |
| Platform | Device | Hashrate | Notes |
|---|---|---|---|
| Android | Snapdragon 8 Gen 2 | 800-1200 H/s | Native XMRig |
| Android | Snapdragon 865 | 500-800 H/s | Native XMRig |
| iOS | iPhone 11+ | 3-5 H/s | JIT blocked by iOS |
| iOS | iPhone 11+ (JIT enabled) | 200-400 H/s | Requires SideStore+StikDebug |
| Desktop | AMD Ryzen 9 | 15,000+ H/s | Full JIT support |
| Desktop | Apple M2 | 2,500+ H/s | Full JIT support |
| Web | Modern browser | 40-120 H/s | WASM, no JIT |
iOS Note: Apple blocks JIT compilation on iOS 17.4+. Without JIT, RandomX runs in interpreted mode (~3-5 H/s). To enable JIT (~200+ H/s), use SideStore + StikDebug. See docs/platforms.md for details.
Note: Actual hashrate depends on device, cooling, and background processes.
| Platform | Requirements |
|---|---|
| Android | Android Studio, NDK 26+, JDK 17 |
| iOS | Xcode 15+, macOS 14+ |
| Desktop | Rust 1.70+, Node.js 20+, Tauri CLI |
| Web | Node.js 20+ |
xmrig-multi/
├── docs/ # Build, platforms, fee guides
├── app/ # Android app
│ ├── src/main/java/ # Kotlin source
│ ├── src/main/cpp/ # JNI bridge
│ └── src/main/jniLibs/ # libxmrig.so after scripts/build_xmrig.sh (gitignored)
├── ios/ # iOS app
│ └── XMRigMiner-iOS/ # SwiftUI project
├── web/ # Web miner
│ ├── js/ # JavaScript source
│ └── proxy/ # WebSocket proxy
├── desktop/ # Desktop app (Tauri)
│ └── src-tauri/ # Rust backend
├── wearos/ # WearOS companion
├── watchos/ # watchOS companion
├── xmrig_custom_source/ # Custom XMRig source (dev fee)
└── scripts/ # Build scripts
This project is licensed under the GNU General Public License v3.0 - see LICENSE.
XMRig is licensed under GPLv3: https://github.com/xmrig/xmrig
- For educational and research purposes only.
- Mining consumes significant power and may cause device heating.
- Not for distribution on App Store / Google Play (mining apps are prohibited).
- Use responsibly and at your own risk.


