Air-Gapped Raspberry Pi Cold Wallet: Build a Secure Bitcoin Signing Station in Canada
Self-custody means you control your Bitcoin private keys, and controlling keys safely is the single most important responsibility for any hodler. An air-gapped signing station based on a Raspberry Pi gives Canadian and global Bitcoin users a low-cost, flexible, and robust cold-wallet workflow. This guide walks you through the why, what, and how of building an offline Raspberry Pi signer, including recommended components, an easy PSBT signing workflow, practical hardening steps, testing, and Canadian-specific considerations so you can protect your coins without relying on custodians.
Why an Air-Gapped Signing Station?
An air-gapped device never touches the internet. It generates and holds your private keys, signs transactions, and then returns only signed PSBT files to a connected online wallet. This approach reduces exposure to remote attacks, malware, exchange hacks, and SIM swap vulnerabilities common in custodial setups. For Canadians who prefer tangible control and long-term stewardship of wealth, a Raspberry Pi signer is affordable, auditable, and adaptable to multisig and advanced workflows.
What You Will Build: Overview and Components
The goal is a small, offline Raspberry Pi that runs a signing wallet (for example Electrum in offline mode or another PSBT-compatible signer). The workflow uses a separate online wallet for PSBT creation and transaction broadcasting and a watch-only wallet for monitoring balances.
- Raspberry Pi 4 (2GB or 4GB) or Raspberry Pi 400 - CAD 80 to 140
- MicroSD card (16GB or 32GB) with a clean Raspberry Pi OS image - CAD 10 to 20
- Small USB drive or microSD adapter for PSBT file transfer - CAD 5 to 15
- Optional: a small HDMI screen and keyboard for setup; otherwise a headless setup via local console - CAD 40 to 80
- Optional: a hardware wallet used in conjunction with the Pi for signing (Coldcard, Trezor, Ledger) - prices vary
Software choices
Popular signer options include Electrum in offline mode or other PSBT-capable software. The essential requirement is support for Partially Signed Bitcoin Transactions, so you create PSBT files on an online device and sign them offline on the Pi. Multisig setups can also use PSBT workflows with the Pi acting as one signer in a multi-party keyset.
Step-by-Step Build and Workflow
1. Prepare the Raspberry Pi offline
On a clean, internet-connected machine, download the Raspberry Pi OS image and verify checksums. Flash the microSD card. Before you ever plug the Pi online, plan to disable networking and never connect the Pi to Wi-Fi or Ethernet during key generation and signing. For best security, use a brand-new microSD card and a freshly flashed image.
2. Harden the Pi
- Disable Wi-Fi and Bluetooth in /boot/config.txt or via raspi-config.
- Set a strong local password and change the default user name.
- Consider full-disk encryption if you are comfortable with LUKS; otherwise protect the microSD physically.
- Create a dedicated user account for signing and lock down autorun and USB rules to prevent automatic execution of files.
3. Generate keys offline
With the Pi firmly offline, install your signer software. Generate a new seed phrase or import an existing one. If you prefer higher entropy, generate dice rolls or other physical entropy and feed them into your seed generation tool. Record the seed using a robust backup method, such as steel plate backups, and consider a Shamir or multisig strategy if you have significant holdings.
Never store your seed phrase on any internet-connected device, cloud service, or photo backup. A steel backup in a safe is far more resilient to fire, flood, and theft.
4. Create a watch-only wallet on your online device
Export the xpub or watch-only descriptors from the offline Pi to the online computer. Import that into an online wallet so you can monitor balances and build unsigned PSBT transactions. This keeps the Pi offline while giving you balance visibility in daily use. Always verify the xpub fingerprint on both devices to avoid address-poisoning attacks.
5. PSBT signing workflow
The general signing flow is:
- On your online wallet, build a transaction and export it as a PSBT file (file name example: unsigned.psbt).
- Transfer unsigned.psbt to a clean USB drive or microSD adapter that you will exclusively use for offline transfers.
- Insert the USB into the offline Raspberry Pi, open your signer, and sign the PSBT. The signer will produce signed.psbt or a fully signed transaction in raw hex.
- Move the signed file back to the online machine and broadcast it to the Bitcoin network using your online wallet.
Alternative transport methods include QR-based PSBT transfers if you prefer not to use USB drives. Be aware that QR solutions may require a camera or intermediary smartphone and have size limits for larger PSBTs. Each transport channel has tradeoffs in convenience and security.
Testing and Routine Checks
Before moving larger amounts, perform small test transactions to prove the workflow end-to-end. Verify the watch-only addresses, input UTXOs, and change addresses match expectations. Keep a checklist and rehearse recovery steps regularly so you can recover if a device fails or you lose access to the Pi.
Backup and recovery best practices
- Store the seed phrase on a steel backup; keep copies in geographically separated secure locations.
- Test recovery from your seed phrase on a different device to ensure your backup is valid.
- Consider splitting the seed with Shamir or using a multisig setup to reduce single-point-of-failure risk.
- If you ever forget passphrases or lose part of a split, tools such as btcrecover exist as recovery aids, but they require careful use and expertise. Always maintain secure backups to avoid reliance on recovery tools.
Hardening, Common Mistakes, and Troubleshooting
Common mistakes to avoid
- Connecting the Pi to the internet after key generation without a full reflash. If that happens, re-image the microSD and recreate keys.
- Using a generic USB drive for everyday tasks. Dedicate a clean transfer drive and inspect it regularly.
- Failing to verify exported xpubs and watch descriptors, which opens the door to address-poisoning scams.
- Counting on a single physical backup. Fire, flood, or theft can destroy single copies.
Troubleshooting tips
- If the signer software fails to recognize a PSBT, ensure the PSBT was created with compatible inputs and standard script types. Update your offline signer by reflashing from a verified image rather than connecting the Pi to the internet.
- If a signed transaction does not broadcast, check that the final hex is complete and that inputs are still unspent. Rebuild and sign a fresh PSBT if the UTXO moved.
- If a USB is not detected, try reformatting on an air-gapped machine and only place PSBT files on it. Never mount unknown USBs on the signer.
Canada-Specific Considerations
Canadian users should be aware that while holding Bitcoin privately is legal, businesses and exchanges fall under FINTRAC and securities rules depending on services offered. If you use exchanges like Bitbuy or Coinsquare to top up or cash out, expect KYC and transaction monitoring. Interac e-transfers for peer-to-peer buys carry fraud risk; a cold-wallet workflow protects keys but does not eliminate counterparty fraud when buying. Always confirm counterparty ID in person or use regulated OTC desks for large transactions.
Also consider physical security in Canadian climates. Store steel backups in a bank safety deposit box or fireproof safe tuned for local risks like freezing, moisture, or forest-fire smoke. Keep documentation of your recovery process for heirs and trusted parties without exposing the seed itself.
Estimated Costs and Time Investment
A basic Raspberry Pi air-gapped signer can be assembled for roughly CAD 150 to 300 depending on accessories. Expect a few hours upfront to set up and learn the workflow, plus periodic maintenance and backup testing. This is a one-time, high-value investment for anyone serious about self-custody.
When to Consider Alternatives
If you prefer turnkey solutions, dedicated hardware wallets or commercially audited multisig custodians offer easier setups with strong security. A Raspberry Pi signer is best for people who want full control, auditability, and flexibility. If you are not comfortable managing seeds, consider combining a hardware wallet and an air-gap signer or working with an experienced custodian for large treasury operations.
Conclusion
An air-gapped Raspberry Pi signing station is a practical, affordable way to achieve high-grade cold storage for Bitcoin. It offers a balance of security, control, and adaptability for Canadian and international users. By following a disciplined PSBT workflow, hardening the device, and maintaining resilient backups, you can hold Bitcoin with confidence while minimizing attack surfaces and single points of failure. Start small, test thoroughly, and document your recovery plan so your Bitcoin remains safe for years to come.
If you build a Pi signer, consider performing a recovery drill and store your backup in at least two secure locations. The technology is only one piece of the puzzle. The other is consistent, disciplined operational security.