Crossbill Wallet
A wallet for Bitcoin (XBT) on the BLAKE2b chain that runs on your own StartOS server, holds no seed words, and has every send signed on your Krux.
The BLAKE2b chain is the one that changed Bitcoin's proof of work to BLAKE2b and signs with the unified opt-in signature hash (0x21). Crossbill is open source under Apache 2.0 and not audited. There is also an iPhone app with the same screens.
How it works
You open Crossbill in a browser on a computer or a phone. Crossbill runs on your StartOS server and uses your own Bitcoin Knots node: wallets live in the node's cormorant watch-only wallet, the same one the iPhone app and desktop Shrike use, so an existing wallet opens with no rescan. The server never holds seed words. Every send goes to your Krux to be signed, by QR code or microSD.
What you need
- StartOS 0.4.0 or later.
- Bitcoin Knots on the BLAKE2b chain, installed from this registry:
Crossbill refuses a node on another chain.
https://start9.mempool.guide - A Krux with Paperclip's firmware. Paperclip's K210 Krux Hardware Wallet with Paperclip's BLAKE2b firmware. Standard Krux firmware refuses unified signatures.
- Optional: Lightning Fork, for Lightning balances, activity, invoices and payments.
Install in six steps
-
Add the Finchly6819 registry
-
Install Crossbill
Switch to the Finchly6819 registry and install Crossbill.
-
Run the setup tasks
Run Set Password on Crossbill and copy the password into your password manager. It is shown only once. If StartOS also asks you to run Auto-Configure on Bitcoin, run it: it turns on the node's wallet, which Crossbill keeps its watch-only wallets in.
-
Start Crossbill and sign in
Start Crossbill, open its Web UI at its
https://address, and sign in with the password. The camera only works on anhttps://address, or on an onion address in Tor Browser. -
Add your Krux wallet
On the Krux, show its key's QR code. In Crossbill, choose Scan the Krux's key and hold the code up to the camera. Or save the key to microSD and choose Open the key file from microSD. Check the balance and the first receive address match what you expect.
-
Try a small send
Build a send for a small amount and sign it on your Krux, as shown below.
Lightning, if you run Lightning Fork: in its dashboard, open Mobile app, then Pair a phone. In Crossbill, open Settings, Node and Lightning, Lightning, and choose Scan. The code works once, for five minutes. Payments stay off until you run Turn On Lightning Payments on Crossbill in StartOS.
Signing a send with your Krux
At step 3, check the address, amount, change and fee on the Krux's screen, not only in the browser. Before sending, Crossbill checks that the transaction is the one it built and that every signature verifies.
With a microSD card instead: choose Save for microSD instead, sign the file on the Krux, then choose Open the signed file.
StartOS or iPhone?
Both share the same screens and the same cormorant wallet on your node, so you can use both.
| Topic | Crossbill on StartOS | iPhone app |
|---|---|---|
| Seed words | Only on your Krux. The server never holds them and refuses to store them. | In the iPhone Keychain behind Face ID, or only on a linked Krux. |
| Signing | On the Krux, by QR code or microSD. | On the iPhone, with Face ID (or the app PIN) and the two-factor code when it's on. Or on the Krux, which needs neither. |
| Signing in | One password, made by the Set Password action. Two-factor is available, but the page checks the code, so the password is what keeps others out. | Face ID, with an optional app PIN and duress PIN. Two-factor codes are checked on the iPhone. |
| Notifications and widgets | None in this version. | Notifications (off by default) and Home Screen and Lock Screen widgets. |
| Lightning | Through your Lightning Fork node: balances, activity and invoices. Payments once you turn them on with a StartOS action. | Through your Lightning Fork node. Every payment needs Face ID (or the app PIN) and the two-factor code when it's on. |
| Camera scanning | The camera of the device the page is open on, on an https:// or onion address. You can also open a picture of a code or paste its text. |
The iPhone's camera. |
| Getting it | From the Finchly6819 registry, as above. | In testing: TestFlight by invitation, or sideload a release build (see TESTERS.md). Not on the App Store. To ask for a TestFlight invitation, email finchly6819@crossbillwallet.com. |
Good to know
- Watch-only
- There is no screen for seed words, and the server refuses to store them. Wallets come from a Krux's key, and every send is signed on the Krux.
- Not audited
- Use it at your own risk, under the Apache 2.0 terms. Start with a small amount.
- Two-factor on the server
- You can turn two-factor on in Crossbill's Settings, and it asks for the code before sends. On the server the page checks the code, and anyone signed in can read its key. It guards against a slip, not against someone who has the password. Guard the password itself. Once Lightning payments are on, anyone who can sign in can pay.
- The XBT price
- The only outside service the server contacts is Neoxa Exchange's public API, for the live XBT price, through Tor when Tor is installed on your server and the page asks for it. Everything else goes to your own nodes.
- Backups
- A StartOS backup of Crossbill brings back the password, two-factor, the Lightning Fork pairing, and every wallet's public data, labels and contacts. The node's
cormorantwallet is Bitcoin's data, not Crossbill's, so it is in Bitcoin's backup instead. A restored Lightning pairing works only while Lightning Fork still lists it. - Current limits
-
- No sign-out button in the page. Running Set Password signs out every session.
- Mainnet only.
- Paperclip's Krux is the only hardware wallet.
- Untested on a pruned node.
- No notifications or widgets. Those are part of the iPhone app.
Help and source
Source and docs
- crossbill: the wallet, the iPhone app and the server
- crossbill-startos: the StartOS package
- Crossbill on StartOS: how the browser version differs from the iPhone app
- Instructions: the same text as the Instructions tab in StartOS
Report a problem
- StartOS package issues: installing, actions and backups
- Wallet issues: the wallet itself
- Security problems go privately, not in an issue: open the Security tab and choose Report a vulnerability. See SECURITY.md.
Never post seed words, passwords, node addresses or screenshots that show them.