Offline payment handoff
BSVKeyHow to use this page
Send a Bitcoin BSV payment to someone nearby with no internet: as a QR code, as sound, or as a text message. Everything happens on your phone. Nothing is sent anywhere unless you press "Broadcast now" ("Get my coins" only reads your balance).
Walkthrough, 1 minute 52: two phones paying by QR code, by sound and by text, and the real payment and faucet run recorded on mainnet. Needs a connection to play.
Try it first, on one phone (1 minute)
- On Pay, press Try a demo payment. It makes a practice payment that is signed but not spendable.
- Press Copy text.
- Open , paste it into the box at the bottom and press Check it.
- You will see "Signed correctly": that is the check the other person's phone does with no internet.
Pay someone face to face (QR code)
- You: on Pay, open Send real BSV: load your wallet, press Get my coins while you still have internet, enter the address and amount, and press Sign payment. (Or paste a payment you already signed.)
- You: press Show QR code and hold the screen up.
- Them: on , enter their address and the amount, then press Scan QR code.
- Them: the page shows "pays you N sat" if it checks out. The payment waits under "Waiting to be sent".
- Them, later: when they have signal, press Text to gateway or Broadcast now. Only then is it final.
Pay by sound (phone to phone, walkie-talkie, radio, phone call)
- Them: on , press Listen and allow the microphone.
- You: on Pay, press Play as sound, with the phones close together. It plays twice, about 26 seconds each time.
- Over a walkie-talkie, an AM radio or a phone call, first pick the walkie-talkie option in . Hold the talk button while it plays (about 40 seconds).
- Them: the page shows "Heard part 1 of 3...", then checks the payment, just like a scan.
Pay by text message, and get a receipt
- In , enter the gateway's phone number and its public key (the gateway operator gives you both).
- On Pay, load the payment and press Text to gateway. Your messaging app opens with the payment filled in. Send it. This works with no mobile data, only texting.
- The gateway texts back a receipt. Paste it into Check the gateway's receipt. "ACCEPTED" means the network took the payment.
Get coins from a faucet
- On , enter your address, then Listen or Scan when a faucet is being announced (or paste its message).
- It appears under Faucets heard.
- For a normal faucet, press Claim by text and send the message. The faucet texts back what it paid you.
- For a "bearer" coin, press Sweep to my address. It then waits under Waiting to be sent: press Broadcast now (mainnet) there as soon as you have internet. The first person to get a coin to the network keeps it.
- A new faucet's coins only exist once its setup payment has been broadcast. If a sweep is refused, ask whoever runs the faucet whether it is live yet.
Send a payment you were given to the network (be the courier)
- Someone gives you a signed payment that you are only carrying: it may pay someone else, or set up a faucet. Open .
- Press Scan QR code (or Listen, or paste it in the box and press Check it).
- If it pays someone else, the page says so and lists where it goes under pays. Check that is what you expect, then press Keep it to forward anyway.
- Scroll to Waiting to be sent and press Broadcast now (mainnet). When it says "Sent", the network has it: tap the WhatsOnChain link to see it.
- No internet yet? Leave it waiting and broadcast it later, or press Text to gateway (set the gateway up in ).
Pay instantly over the same Wi-Fi or hotspot (Nearby)
- Put both phones on the same Wi-Fi, or turn on one phone's hotspot and join it with the other. No internet is needed.
- First phone: open and press Start. A code appears.
- Second phone: open Nearby and press Join, then scan that code (or point its camera app at it and open the link).
- The second phone now shows an answer code. First phone: press Scan their answer and scan it. Both say Connected.
- The phones tell each other where to be paid (the open wallet's address, or the one under Get paid), so there is no address to type. To pay: open your wallet and get your coins once (Pay tab, Send real BSV), then on Nearby enter an amount and press Pay them. It arrives on the other phone's Get paid tab, checked.
- Just testing? Press Send a demo payment instead: no wallet needed.
Use it with no internet at all
- Open this page while you still have a connection, and keep the tab open, or download it to your phone and open the saved file.
- Everything above works offline. Only "Broadcast now" needs a connection, and texting needs a phone signal.
Good to know: a payment checked offline is signed correctly and pays the right amount, but it cannot be known final until it reaches the network. Treat it like a cheque: fine for small amounts, wait for a receipt for large ones.
1. The payment
A Bitcoin BSV payment, already signed. No internet is needed from here on.
Send real BSV
Tip: words with a dotted line explain themselves. Point at them, or tap them on a phone.
Use your own wallet. Your key or recovery phrase stays in this page's memory only: it is never saved or sent, and closing the tab forgets it.
No internet? Paste a funding transaction
Raw hex of a transaction that paid your address, saved while you were online.
Signing needs no internet, and nothing is sent yet. Then give it to the other person below (QR code, sound or text), or, if you are online, press Broadcast now to send it yourself.
2. Give it to the other person
Show the code, play it as sound, or text it to a gateway that is online.
3. Check the gateway's receipt
Paste the gateway's reply text. Its signature is checked against the gateway key in Settings.
Receive a payment
Faucets heard
Faucet announcements and coins picked up by Scan, Listen or paste. A claims faucet pays you when you text it; a bearer coin is yours only if your sweep reaches the network first.
Waiting to be sent
Payments you accepted. Only a broadcast rules out a double spend: forward each one when you can. Sent ones stay here, with a link to see them on the chain, until you remove them.
Link two phones directly
Both phones on the same Wi-Fi, or one phone's hotspot. No internet is needed and nothing goes through a server: the phones swap two QR codes, then talk to each other directly (WebRTC). Payments then arrive in under a second. The camera turns on while connecting: browsers only share a device's local network address while the camera is in use, and the two devices need it to find each other.
Pay the other device:
Signs from your open wallet (Send real BSV on the Pay tab) and sends it straight over this link. Nothing goes to the network until someone broadcasts it.
The other device has not shared an address yet: it shares its open wallet's address, or the one under its Get paid tab.
Or send the payment loaded on the Pay tab. The other device checks it on its Get paid tab.
Gateway
Saved on this device only.
What this page can and cannot check
With no internet it checks every signature and that the payment pays the amount it says. It cannot know whether the payer already spent the same coins somewhere else. Only a broadcast settles that, so for larger amounts wait for the gateway's ACCEPTED receipt.
The page makes no network requests except when you press "Broadcast now" (to GorillaPool ARC) or "Get my coins" (it reads your address's coins from WhatsOnChain).