App guide · 3 of 3
Bind your node to your wallet
Binding tells the network that a MeshCore node is yours, so the coverage it maps is credited to your wallet. There is nothing to type: the app asks the radio you are connected to who it is, and one button does the rest. Two signatures are collected, one from the wallet and one from the node itself, and that pair is what makes the claim provable.
Before you start
- The node is connected over Bluetooth. Only the node can sign for itself, so it has to be on the link when you bind. The connection guide gets you there.
- The wallet exists on this phone. Restored or fresh, either is fine: the wallet guide covers both.
- The node's firmware is MeshCore v1.4.0 or newer. An older radio cannot sign, and the app will tell you so rather than guess.
- The app is version 0.1.10 or newer. That is the first Android build binding actually works on: the screens on this page were written a couple of versions earlier, but before 0.1.10 the app either shipped without the binding section at all or could not read the node's answer over the Bluetooth link, so the ceremony could not finish. Older builds than that asked you to paste a 64 character key instead. The download page always hands out the current build.
My devices: what this wallet already holds
Binding lives on the Wallet tab, in a section of its own called My devices. The list is a signed read of what the service records for your address, so it answers the question the app used to leave open: which radios count as mine. Every row shows the name your radio knows the device by, the whole public key under it, and a short label saying where the binding stands: Bound, Not active, This device for the radio you are connected to right now, and Unknown contact for a binding this phone has no name for. A device nobody has named is still your device, so it is listed by the first characters of its key rather than left out.
Before you bind anything the section reads No devices bound yet, which is an answer rather than a failure. Under the list sit the two ways in, and the rest of this page is those two: Bind this device and Add a device.
The short way: Bind this device
This is the main path, and it is the right one whenever the radio you want to bind is the one you are already connected to.
-
Under My devices, tap Bind this device
The Bind this device screen opens. At the top it says in its own words what is about to happen: two signatures, one from this wallet, one from the node.
No field to fill in: the radio names itself. -
Check the radio the screen names
Under The radio in your hand the app prints what it read off the link: the device name, when your radio knows one for it, and the full public key, which is the identity that actually gets bound. Under Bound to this wallet it prints the address that will claim it. If the app cannot name a radio, this is where it says which prerequisite is missing instead of quietly greying the button out; the list at the foot of this page goes through every case.
-
Tap Bind this device and wait a few seconds
The screen narrates each part as it happens: a fresh challenge is fetched, the node signs it, your wallet signs it, the binding is sent. There is nothing for you to do during this except keep the radio connected.
Two signatures, gathered while you watch. -
Read the result: Node bound
The binding counts from the moment it is accepted: the coverage this node maps is credited to your address from now on. There is nothing further to wait for and nothing to confirm anywhere else. Done takes you back, and My devices re-reads itself, so the radio you just bound is in the list when you get there. Own more nodes? One wallet holds as many as you bring.
Bound. From here on, this node maps for you.
The guided way: Add a device
Add a device is for the radio that is not the one in your hand: a second node at home, a spare in the car, anything your connected radio has heard of. It does not bind anything by itself. It answers the one question a list can answer, which radio is mine, and then walks you onto it, because only a node can sign for itself.
-
Pick the radio from the list
The candidates come from the contact list of the radio you are connected to, which the app reads over Bluetooth at no airtime cost, so the list is as good as what your radio has heard lately. Each entry shows a name and a key, and the one you are connected to right now is marked Connected now. If the list is empty the screen says Nothing to add yet: connect a radio, give it a moment to share its contacts, and the companions it knows show up here.
Which radio is mine: the one question a list can answer. -
Get onto that radio, then bind it
Choosing a device opens the same ceremony, with your choice shown under The device you picked. While a different radio is on the link the screen says A different radio is connected and offers Choose a radio; nothing is sent in the meantime, and the app will never quietly bind the wrong one. Connect to the device you picked and the button comes alive, after which it is the same three steps as above.
The chosen device, waiting for you to get onto it.
Only companion radios are listed, and the screen says why: a repeater does not speak the companion protocol at all, so it cannot sign for itself and cannot be bound from a phone. Leaving it out of the list is the honest version of a flow that could not have finished.
Advanced: enter a key by hand
The Bind this device screen has one more way out at the bottom: Advanced: enter a key by hand, which opens a field for the 64 character node public key. It is a last resort and the screen says so. The node still has to sign for itself, so the only device that can really be bound is the radio on the Bluetooth link; a key belonging to any other node will be refused, and the screen warns you about that before you press anything.
It is worth keeping for two cases: a radio this phone has never heard of, so it is in no contact list to pick from, and working out what a refusal was about. For everything else the two paths above already know the key, and they cannot mistype it.
Binding during first-run setup
The setup wizard ends on the same ceremony: its binding step opens Bind this device, and a bind that lands there is the same binding you would have made from the Wallet tab. If a radio or a wallet is missing, the step names which one rather than showing a dead button, and you can skip it and bind later from the Wallet screen or by running the setup again.
When the Bluetooth link is too narrow
Android opens every Bluetooth connection at the smallest size the standard allows, which leaves 20 bytes per message, and the radio's answer naming its node does not fit in 20 bytes. From app version 0.1.10 the app asks Android for a wider link as soon as it connects, so on almost every phone this is now invisible. iPhones never needed it: iOS negotiates the width by itself, which is why the same build always worked there.
A few phones refuse the wider link anyway. When that happens the binding screen does not blame the radio: it says The Bluetooth link is cutting answers short and explains that the radio answered, but the part naming the node never arrived. Reconnecting does not change it, so no reconnect button is offered. What does help is turning Bluetooth off and on again, or forgetting the device in your phone's Bluetooth settings and pairing it again, because some phones only agree to the wider link on a fresh pairing. Until then, Advanced lets you enter the key by hand.
If it does not go through
- No radio connected. Binding needs the node's own signature, so nothing is sent until one is on the link. Choose a radio opens the device picker.
- The radio did not say which node it is. It is connected but its answer never arrived. Reconnect it and come back, or use Advanced in the meantime.
- The Bluetooth link is cutting answers short. The narrow link case above, with the two things that actually fix it.
- The radio is too old to sign. Binding needs companion version 3, which is MeshCore v1.4.0. The screen prints the version your radio reports. Update it and come back; nothing was sent and nothing was bound.
- A different radio is connected. From the guided path, when the radio on the link is not the one you picked. Connect to the one you picked; the app will not substitute another.
- Already bound to a different wallet. A node belongs to one wallet at a time. If that other wallet is yours on another phone, restore it there or here; if it is not yours, the node's current keeper got there first.
- Something timed out or expired. Tap Start over and run it again; the flow is safe to repeat as many times as it takes.
- Your devices could not be read. That is the list failing, not your bindings: nothing about them has changed. The section says which kind of problem it was and offers Try again where trying again could help.
That is the whole setup: device connected, wallet in place, node bound. What your node hears from here on becomes the map, and the wallet page explains what the binding proves and when points are worked out.
Stuck? Ask in the community
Somebody has almost certainly been stuck on this same step. Questions about the app, the device and these guides get answered in the MapMinter group: Telegram