Most wallets
Ask a server.
You hand an indexer your addresses and it answers. Now it knows your balance, your history and who you pay, tied to your IP. “We don't log” is a policy, not a mechanism — the question itself is the leak.
A Taproot-only wallet for iPhone. It pulls compact block filters straight from Bitcoin peers and checks them against your keys on the device — so nothing ever has to be told which addresses are yours.
Filters stream in. Matching happens on the phone. Nothing goes back.
The screen above is an unretouched capture from the automated end-to-end run against signet.
How it works
So every wallet has to answer one question — which coins are mine? — and the answer decides who learns about you.
Most wallets
You hand an indexer your addresses and it answers. Now it knows your balance, your history and who you pay, tied to your IP. “We don't log” is a policy, not a mechanism — the question itself is the leak.
btc-swift
Peers send a small summary of every block — about 15 KB, identical for everyone who asks. Your phone tests each one against its own keys and pulls a full block only on a hit. Your keys never leave it.
The app
Taproot only, so the legacy matrix simply isn't in the binary. Every path you can take is one of these.
Every screen on this page is an unretouched capture from the automated end-to-end suite running against signet.
Receive
Taproot receiving addresses derived on the device. While the Receive screen is open, the wallet privately watches live transaction relay and flags incoming payments as “unconfirmed” within seconds; they count once confirmed in a block — 0-conf is never called received.
Send
Every payment is reviewed in full — destination, amount, fee, rate and inputs — before a signature exists. Pay a normal address or a reusable sp1… silent-payment code.
Vaults
MuSig2 vaults that look like an ordinary single signature on-chain, and k-of-n vaults for a 2-of-3. Cosigning shows you every destination and the fee before your key is used.
Built small on purpose
Proof, not mockups
Unretouched captures from the automated end-to-end suite: the app runs against a local signet node while the test creates the wallet, mines blocks to it, spends from it, builds a vault and verifies an import. Per-scenario timings from the latest run are in timings.json, regenerated with the screenshots on every run.
The trade
Every wallet makes this trade. Most don't tell you. Here is ours, in full.
Where it is
The protocol core, both multisig schemes and silent payments are complete and vector-tested. The app runs on signet — Bitcoin's test network — while mainnet gets the care it deserves.