Skip to content

Using the iOS Wallet on gsr-net

This guide takes the iOS app from install to a private payment on gsr-net, the public GSR test network. Everything here uses test coins with no value.

The app ships to testers through TestFlight.

It needs iOS 17 or later.

On the welcome screen, tap Network (or later, Settings → Network):

  • Mode: a real pool (the other choice, Demo, is a mock with no keys).
  • Chain preset: gsr-net (signet). The app then checks every block’s signet signature itself.
  • Cheshire nodes: add the node address of the gsr-net pool.
  • Bitcoin peers per sync: leave the default. Peers let the app catch a node that hides a settlement.
  • Connect through Tor: on (the default). The first connection takes a few seconds; the home screen shows “connecting through Tor (n%)” until it is ready.

The app learns the pool from its first sync and keeps it.

  • Create: the app makes twelve words, shows them once, and asks two of them back. Write them down. They are kept in the iOS Keychain on this device only.
  • Restore: enter the twelve words. The app rebuilds your wallet from the chain over its next syncs (seed recovery).
  1. Open Receive and choose the one-time deposit address (a normal tb1… signet address).
  2. Send gsr-net coins there, for example from gsr-net’s faucet (as of 2026-10-30: one coin per address and per IP address per hour).
  3. The app finds the coins through Bitcoin peers’ block filters and shows them as outside the pool.
  4. Move them into the pool. The app makes deposits in standard chips, signs the funding on the phone, and sends it through Tor. Each deposit pays its fee from its own value.
  5. A node merges deposits into a group and the next settlement takes them in. Until a group picks your deposit up, you can cancel it. Once picked up, it either settles or the group is returned to every owner after about two hours (deposits).
  1. Get their payment code (tchs1… on test networks) from their Receive screen.
  2. Pay → paste the code → enter the amount → choose economy, normal or priority.
  3. The app proves the payment on the phone and sends it to a node picked at random.
  4. The payment shows as pending, then settled once a settlement confirms in a block.

At low volume a payment may wait, because a lone payment does not pay for a whole settlement. The payment’s detail then says how short its batch is, and offers pay more to settle sooner. Nothing changes unless you tap it (fees).

Pay to an ordinary signet address instead of a payment code. The withdrawal is paid by the vault’s fan-out after its settlement confirms (withdrawals).

  • gsr-net resets. When the GSR branch changes consensus, gsr-net restarts from scratch and every coin on it, including the pool, disappears. A wallet that sees its chain change should stop, not rebuild.
  • Settlements are slow. Proving one takes about an hour.
  • Privacy at low volume is thin. With few users, a deposit and a withdrawal close in time are easy to pair (privacy).
  • Not in the app yet: the backup flow, a privacy check, the emergency exit screens, camera scanning, Lightning.