Public alpha

NIMmesh

How it works

A mesh is other people. Here is what that means in practice.

A mesh needs more than one phone

This is the part that is easy to miss, and it is the whole shape of the thing. Nimmesh is not a wallet that magically reaches the internet on its own. It is a wallet that hands a payment to somebody else's phone.

So one phone running Nimmesh, alone in a field, cannot send anything. It will sign the transaction happily and then sit there holding it, because there is nobody to hand it to. Two phones in the same room can already do something. A dozen phones spread across a building start to look like a network.

The short version. Your payment needs at least one other device running Nimmesh within Bluetooth range, and somewhere down the line, one device that has an internet connection. Those can be the same device or ten hops apart.

What actually travels

A signed Nimiq transaction is a self contained blob of about 139 bytes. It carries its own signature, so nothing can tamper with it in transit, and it stays valid for roughly two hours.

The Nimiq network does not care how those bytes reached it. There is no rule that says a transaction has to arrive over the internet. It only has to be valid and arrive inside its window. That is the whole trick: the internet is needed at the last hop only, and every hop before it can be a phone in someone's pocket.

The three roles

The sender

Builds and signs the transaction on device, with no signal at all. The private key never leaves the phone. What goes onto the mesh is only bytes that are already safe to publish.

The relay

Any nearby phone running Nimmesh. It receives the packet, checks it has not already seen it, decrements a hop counter, and passes it on. A relay never reads what it is carrying, and could not spend it if it tried. Relaying costs the carrier nothing and earns them nothing today.

The gateway

The first device in the chain that has a working internet connection. It hands the bytes to the Nimiq network, then sends a receipt back through the mesh so the original sender sees the payment settle. Nobody chooses to be the gateway. Whoever has signal is it.

Why your first send might do nothing

If you install Nimmesh, go offline, and send, the most likely outcome is that nothing happens, and nothing is broken. You were the only node. The transaction is sitting on your phone waiting for a neighbour, and it will go out the moment one appears or the moment you come back online.

This is why testing needs two phones, and why the network gets better the more people carry it. The testing guide walks through setting that up.

Where the range ends

Bluetooth Low Energy gives you roughly thirty metres in the open, less through walls. That is a room, a queue, a bus, a market stall. It is not a city.

That ceiling is the reason the roadmap points at LoRa radios and text messages. The same 139 bytes fit inside one LoRa packet and inside a single binary text message, so the payload never has to be split. Community LoRa networks already cover entire cities, which means the hard part is joining one rather than building one.