Public alpha

NIMmesh

Download

Download the Android APK, then check both hashes.

Android 12 or newer

Download the APK

Version 0.89.7 · 16.9 MB
No account, no registration, no device limit

iPhone, iOS 16 or newer

Install on iPhone

Version 0.89.11 · 3.5 MB
Registered devices only, and it has to be Safari

Check both hashes

You are sideloading a wallet that will hold real money. Do not take anyone's word for what is in the file, including ours.

The file

shasum -a 256 nimmesh.apk

f6835ac0206bc035f1de0a5bbecaf5241324f035ac7ab80e5454de2b84fafd6e

The signing key

The same key on every build, so this one never changes. Android refuses an update signed by any other.

apksigner verify --print-certs nimmesh.apk

7b5b6a5179441caacdcadf3eea341569ebf4b7d303122fbc0fd564a1cd853fc2

Installing

  1. Tap the download buttonAny browser on the phone.
  2. Open the file, allow your browser onceAndroid warns about sideloading in general, not this file.
  3. Open NIMmesh, allow BluetoothHow the phone finds other phones and relays for them.
  4. Write your 24 words on paperNo forgot password. Uninstalling deletes the key.

This is real mainnet money. There is no test mode. Put in an amount you would not mind losing.

Permissions

Ten permissions, all needed. Anything not on this list is wrong: email [email protected].

PermissionWhat it is for
BLUETOOTH_SCANFind other phones running NIMmesh. Flagged neverForLocation, which is how the app avoids asking for your location at all.
BLUETOOTH_ADVERTISELet other phones find you, so you can relay for them.
BLUETOOTH_CONNECTOpen the link that carries the payment bytes.
FOREGROUND_SERVICE
..._CONNECTED_DEVICE
Keep the radio alive while the screen is off. Android kills background Bluetooth otherwise, and a sleeping phone stops relaying.
POST_NOTIFICATIONSThe notification Android requires a foreground service to show. It is how you can tell the mesh is still running.
INTERNET
ACCESS_NETWORK_STATE
Read your balance and broadcast, when you have a connection. The offline path never touches these.
CAMERAScan a payment QR code. Nothing is uploaded.
USE_BIOMETRICUnlock the wallet with a fingerprint instead of typing.

No location, no contacts, no storage, no analytics. Below Android 12 a Bluetooth scan needs location, so the app refuses to run there.

What works

Wallet on mainnetMesh unproven on Android

The wallet creates, restores, shows a real balance and sends, with the same keys as the iPhone build. Two Android phones have never passed a payment between them. The test guide has the run.

Why iPhone is limited

The iOS build is Ad Hoc: registered devices only, capped at 100. TestFlight rejected the first submission, and Apple's rule on crypto wallets from individual developers is the wall.

Email me to get a device added.

Help fund more development

Built for the Nimiq community.

Any help means a lot, and it goes straight back into building.

NIM