Why this blog exists
Good morning! The internet is not short on things to read, so we appreciate you spending a click.
Below is a recap of why we are building Bitcoin Witness.
On a good Wednesday morning about a year ago, I went looking for a way to verify my own bitcoin backup without trusting anyone, and discovered there wasn't an easy way of doing that. Every check I could run relied on something or somebody: the device that generated the keys, that device's proprietary firmware, a second black-box device, a software on an internet-connected machine, an company's reputation, an influencer's track record.
On the other side, there was my own ability to get Ian Coleman's open-source tool (excellent, go try it) onto an Air-Gapped, clean offline machine without one misstep along the way. Each of those... let's call them methods is good on their own. However, none of them is easy and completely trustless. After deliberating for a few days, I built a tool for myself. I then added open-source password management software, Ian Colemans BIP39 tool and PSBT signing ability, support for older standards and seeds just in case someone needs it. Turns out all of it was useful for others as well.
So this is the what and the why.
Now, onto some details.
Verifying your own cryptocurrency backup is the financial equivalent of inspecting the parachute before you jump. Today, though, it mostly comes packed by someone you'll never meet, in a language you may not read. And the instructor has gone home too. That should be a double-click, yet, somehow, in 2026 it isn't.
The raw material is all there: guides for hardware wallets, threads on steel seed plates, enough derivation code on GitHub to fill a long weekend and have your family notice you weren't around (true story). What none of it answered was the question that sounds simple: do the 24 words from my cold wallet produce the addresses they should? Is my multisig setup correct? Can I confirm it without trusting the device that made them or anything that has ever touched a network, no middleman or black-box? I couldn't find a clean answer, so I wrote one and I am in the final weeks of testing to eventually publish it.
Most people I asked about this issue turned out to be living with it too. Very few of my friends who hold their own keys have verified them beyond just retyping them in the same place that had generated them. Less so against totally independent code, offline. Clearly the reason wasn't laziness. The tooling has always assumed you were a developer. The verification was never double-click-easy.
That assumption is what we in this blog set out to take apart. We will do some personal exposé, and also technical posts. Some tutorials (anyone?). Why retyping your seed into the same device proves very little, how to pull trustworthy entropy from a pair of dice. How the code for Bitcoin Witness itself is built as a glass box: plain text that you (or your favorite AI) can read before trusting a line of it. No binaries, firmware, compilers, obfuscation. Simple text that runs on your offline device you bought yourself.
And yes, some historical references too. We love history.
Bitcoin Witness will not recover a seed you've lost, unlock a passphrase you've forgotten, nor revive a device already compromised. Bitcoin Witness does one job: manage and verify the existing cryptographical standards on a hardened, encrypted, airgapped generic hardware device (Raspberry Pi). That's the whole design.
Where it should be dull, the design is gloriously dull. No network calls, nothing of ours that runs that you cannot read first, in place. There is no new cryptogaphy (if you see one anywhere - run away) or exagerrated claims: BIP32, BIP39, BIP84, and secp256k1 are public, heavily reviewed. The mathematics under them is older than Windows 98, and rather better tested too. The project bundles established, openly auditable tools like Electrum, Sparrow, and Ian Coleman's BIP39 tool instead of reinventing them. What we built is the workflow that ties them into something you can check yourself.
One piece is public today xpubverify.py, a short MIT-licensed script, confirms your addresses from your wallet's public key alone, no seed required. We intend to keep publishing more as we finish our internal testing. The specifications, downloadable examples and the Preview on this website are based on the real code as of September 2026.
Not your keys, not your coins, and, it turns out, not necessarily your addresses either. The standards have been public for over a decade. What was missing is an independent verification layer that checks and reports, offline, itself fully verifiable. We will be back shortly with more updates.
Bitcoin Witness is coming. Join the waitlist at bitcoinwitness.org.