Skip to content
A stateless, QR-airgapped hobbyist hardware wallet
Python HTML
Branch: master
Clone or download
Latest commit 4ffa5e3 Sep 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images update readme Sep 3, 2019
static working qr + keyboard prototype Aug 30, 2019
templates cleanup Aug 31, 2019
tests finish unittests Jul 25, 2019
.gitignore working qr + keyboard prototype Aug 30, 2019
README.md update readme Sep 3, 2019
bitboy.py cleanup Aug 31, 2019
requirements.txt better ui Aug 30, 2019
rpc.py cleanup Aug 31, 2019
ui.py cleanup Aug 31, 2019
usb.py working qr + keyboard prototype Aug 30, 2019
wallet.py cleanup Aug 31, 2019

README.md

BitBoy

A stateless, QR-airgapped hobbyist hardware wallet

image

Workflow:

  • Enter BIP39 seed on QWERTY keyboard
  • (Optional) Export XPUB to desktop wallet with QR on device display
  • Import unsigned PSBT with QR scanner
  • After confirming outputs & fees, BitBoy will sign it
  • Export signed PSBT with QR on device display

Shopping List

BitBoy

QR code airgap, keyboard. $110.

BitBoy "lite"

MicroSD airgap. $42.

How it works:

  • Base MicroPython firmware
    • Bitcoin primitives
    • Drivers for display, buttons, keyboard
  • bitboy.py in this repo contains the hardware wallet logic itself. It's a modern asyncio event loop!
  • wallet.py is a primitive watch-only wallet leveraging Bitcoin Core
  • ui.py is a shitty UI connecting BitBoy and wallet.py / Bitcoin Core
  • Eventually I want this all to work in Junction

Status

This is alpha software, testnet-only for now.

If you'd like to build one, buy the items in the shopping list. Instructions will be posted in the next week. You can DM Justin with questions on Twitter.

You can’t perform that action at this time.