Use an air-gapped Raspberry Pi Zero to sign for Bitcoin transactions! (and do other cool stuff)

Overview

Hello World!

Build your own offline, airgapped Bitcoin transaction signing device for less than $35! Also generate seed word 24 or generate a seed phrase from dice rolls!

Image of SeedSigner in an Orange Pill enclosure

The code is designed to ultimately be run on a Raspberry Pi Zero (version 1.3 with no wireless capability) with a Waveshare 1.3" 240x240 pxl LCD (more info at https://www.waveshare.com/wiki/1.3inch_LCD_HAT) and a Pi Zero-conpatible camera (tested to work with the Aokin 5MP 1080p with OV5647 Sensor Video Camera Module; other brands with that sensor module may work as well). Choose the Waveshare screen carefully (there are several similar models); make sure to purchase the model that has a resolution of 240x240 pixels.

The easiest way to get the signer up and running is to downloaded the "seedsigner_0_1_0.zip" file in the current release, extract the "seedsigner_0_1_0.img" file, and write it to a MicroSD card (at least 4GB in size or larger). Then install the MicroSD in the assembled hardware and off you go.

Newest Added Features:

  • Native Segwit Multisig Xpub generation w/ QR display
  • Scan and Parse transaction data from animated QR codes
  • Sign transactions & transfer xpub data using animated QR codes
  • New extensible menu system
  • Improved letter entry responsiveness
  • Various UX improvements
  • Various code optimizations
  • Project donation information
  • ORANGE text! (looks great with orange pill enclosure!)

Considerations:

  • BUG ALERT: Transaction confirmation screen includes change address in the total spending amount; transactions are processed by Specter correctly after signing. Will be corrected in the next release.
  • Built to be compatible with Specter-desktop Bitcoin wallet
  • Be patient, it takes a couple of minutes for the menu to come up after applying power to the Pi Zero (when you see the "static" you're almost there!)
  • Confirmed bug: a "bad" seed phrase that fails checksum validation will crash the app and you will need to restart the Pi
  • For now, ALWAYS opt to use animated QR codes in Specter-desktop
  • Mainnet is only option; test with SMALL AMOUNTS of bitcoin
  • Currently ONLY generating Native Segwit Multisig Xpubs
  • Scanning animated QRs into a PC is tricky, be aware of ambient light, glare and focus
  • (Holding the screen upside-down significantly reduces glare for some reason)
  • Display text is small; comes with 240x240 territory but ever trying to optimize
  • Check out our "seedsigner" telegram community for community help / feedback: (https://t.me/joinchat/GHNuc_nhNQjLPWsS)
  • If you think SeedSigner adds value to the Bitcoin ecosystem, please help me spread the word! (tweets, pics, videos, etc.)

Coming Improvements/Functionality:

  • Add support for single QR codes
  • Support for 12 word seeds
  • Reduce signed xpub data to decrease required QR images
  • Support for single signature Xpub key generation
  • Select from different display colors
  • Generate seed from internal entropy (maybe)
  • Other optimizations based on user feedback!

The software can also be installed using an internet-connected Raspberry Pi 2/3/4 or Zero W are as follows:

Install the Raspberry Pi Lite operating system (https://www.raspberrypi.org/software/operating-systems/) on a MicroSD card and install the card in a Raspberry Pi 2/3/4 or Zero W.

Connect a keyboard & monitor, or SSH into the Pi if you're familiar with that process.

  • sudo raspi-config

(set your localization options, configure WiFi if necessary, but most important: navigate to the "interface options" and enable the "SPI" interface; also make sure to enable the camera interface in raspi-config)

Reboot when prompted within the raspi-config interface

Install these dependencies:

  • sudo apt-get update
  • sudo apt-get install wiringpi
  • sudo apt-get install python3-pip
  • sudo apt-get install python3-numpy
  • sudo apt-get install python-pil
  • sudo apt-get install libopenjp2-7
  • sudo apt-get install ttf-mscorefonts-installer
  • sudo apt-get install git
  • sudo apt-get install python3-opencv
  • sudo apt-get install libzbar0
  • sudo apt-get install python3-picamera

Install this:

  • wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
  • tar zxvf bcm2835-1.60.tar.gz
  • cd bcm2835-1.60/
  • sudo ./configure
  • sudo make && sudo make check && sudo make install
  • cd ..

Install these python dependencies:

  • sudo pip3 install --verbose spidev
  • sudo pip3 install --verbose RPi.GPIO
  • sudo pip3 install --verbose pillow
  • sudo pip3 install --verbose embit
  • sudo pip3 install --verbose qrcode
  • sudo pip3 install --verbose imutils
  • sudo pip3 install --verbose pyzbar
  • sudo pip3 install --verbose argparse
  • sudo pip3 install --verbose imutils

Download SeedSigner

  • sudo git clone https://github.com/SeedSigner/seedsigner

Modify the system config to run SeedSigner at boot:

  • sudo nano /etc/rc.local add sudo python3 /home/pi/seedsigner/main.py & to the line above exit 0

Use Control + O, then [enter], to write the file. Then use Control + X, to exit the program.

(Optional) Modify the system swap configuration to disable virtual memory:

  • sudo nano /etc/dphys-swapfile add CONF_SWAPSIZE=100 to CONF_SWAPSIZE=0

Use Control + O, then [enter], to write the file. Then use Control + X, to exit the program.

To shut down the pi:

  • sudo shutdown --poweroff now

Now either move the MicroSD card to a Pi Zero 1.3 with the 1.3-inch LCD Hat and camera installed, or the LCD Hat will also run fine on a Raspberry Pi 2/3/4 or Zero W; just remember to disable networking if you want to run the software in isolation.

It will take a couple of minutes after the Pi is powered on for the GUI to launch -- be patient!

Comments
  • Seed generated with dice rolls on 0.4.5 does not match seed generated with the coldcard rolls.py script

    Seed generated with dice rolls on 0.4.5 does not match seed generated with the coldcard rolls.py script

    With the introduction of https://github.com/SeedSigner/seedsigner/pull/109 I am following the guide on https://coldcard.com/docs/verifying-dice-roll-math to verify that the SeedSigner 0.4.5 and the Coldcard produce the same seed and I am seeing some differences.

    Steps to reproduce

    On SeedSigner 0.4.5 go to Seed Tools > Generate Seed with Dice

    Enter 45 twos, followed by 54 fives. This will give you a seed 1. garden 2. uphold ... 23. feature 24. wave.

    Perform the same using rolls.py and you will see that the seeds match:

    % echo 222222222222222222222222222222222222222222222555555555555555555555555555555555555555555555555555555 | python3 rolls.py 
    5fbdda0295cdc4c682fbb5eba6d704b90f281a45f6eab283e8b7c86abab4d50f
    
       1: garden
       2: uphold
       3: level
       4: clog
       5: sword
       6: globe
       7: armor
       8: issue
       9: two
      10: cute
      11: scorpion
      12: improve
      13: verb
      14: artwork
      15: blind
      16: tail
      17: raw
      18: butter
      19: combine
      20: move
      21: produce
      22: foil
      23: feature
      24: wave
    

    Repeat the test above, but replace the last five with a six. The SS will display

    1. whale 2. monitor ... 23. capital 24. owner

    However, this time rolls.py differs:

    % echo 222222222222222222222222222222222222222222222555555555555555555555555555555555555555555555555555556 | python3 rolls.py 
    82c39211f153aea293a41d03ea77c619170d3f552d378dd69467f6c5eea58f12
    
       1: lizard
       2: broken
       3: love
       4: tired
       5: depend
       6: eyebrow
       7: excess
       8: lonely
       9: advance
      10: father
      11: various
      12: cram
      13: ignore
      14: panic
      15: feed
      16: plunge
      17: miss
      18: regret
      19: boring
      20: unique
      21: galaxy
      22: fan
      23: detail
      24: fly
    

    Expected output

    I would expect that the seed generated by SS 0.4.5 and rolls.py match for all dice rolls.

    opened by eriknylund 12
  • Manually enter 24 word seed not saved

    Manually enter 24 word seed not saved

    When I manually enter 24 word seed in "Temp Seed Storage", the seed is not saved, instead I get returned to "Temp Seed Storage" page

    opened by jessjamesjones 10
  • Correct last word

    Correct last word

    This addresses #132. By entering an additional random word, the user provides the remaining entropy, and then 4-8 bits of their provided entropy are overwritten by the checksum.

    I've lightly tested this, but have no idea what I'm doing with UI/UX :)

    opened by brandonblack 9
  • Add Feature: Fast Automatic Seed Words Input

    Add Feature: Fast Automatic Seed Words Input

    It would be nice to add a feature that allows for easy and fast input of the 12/24 seed words. For instance, by using the camera to scan a paper with the written words or its BIP39 corresponding number and applying OCR or a template made-for-purpose that would make the recognition easier. This way the user can keep the seed stored safely and once needed to sign, he or she would just present it in front of the camera for automatic input.

    This could be an option, so users could choose to enter the words manually as it is done today, or via this new, fast, automatic method.

    opened by carlosmassa 9
  • Verify Address Issue With Nunchuk On Testnet Only

    Verify Address Issue With Nunchuk On Testnet Only

    When I use Seed Signer with Nunchuck on mainnet, everything works great!

    But when I switch to testnet, export a xpub into Nunchuk, create a wallet with that xpub, I can't verify an address. The Seed Signer just keeps looking for that address counting up into the thousands of addresses until I tell it to stop looking.

    This verify feature works just fine for me when Nunchuk is connect to a mainnet wallet. The issue is only on testnet. The Seed Sign knows it's looking for a Native Segwit Testnet Address, it just can't find it.

    The fingerprint and derivation path on the Seed Signer and Nunchuk all match up, so I don't understand why the Seed Signer can't find and verify the address.

    My Seed Signer version is 0.5.1

    IMG_2472

    bug 
    opened by BitcoinAscent 7
  • Randomise dice reset

    Randomise dice reset

    At present, the selected dice value resets to 5 after each input of a dice roll.

    To minimise the number of user inputs during seed generation via this method, the default value should randomly oscillate between 2 and 5. From the default 5 location, two inputs are required to reach 1/3 (but only one input to reach 4/6), whereas from a default 2 location two inputs are required to reach 4/6 (but only one to 1/3). By randomly selecting either 2/5 default with 50/50 probability for either selection, statistically the number of user inputs required will be minimised during the process of seed generation by dice rolls.

    This PR proposes a very simple method to randomly select a 2/5 default, based on the value of the previous input. This method is sufficiently random to benefit the user provided that the assumption that the dice used to generate the seed is unbiased, is accurate.

    opened by mandelbit 7
  • Refactoring/Extending BIP-85 PR

    Refactoring/Extending BIP-85 PR

    I wasn't sure how to build upon @jase100k's PR #194 so had to fork it and submit this as a separate PR.

    • DRY optimizations to eliminate redundant SeedWordsWarningView and SeedWordsView in the BIP85 flow (merges the BIP85 flow into the existing review flow).
    • Adds support to continue with the child seed into the backup verification flow.
    • Bugfix to prevent the KeyboardScreen from trying to submit when no input is provided.
    • UI tweak on keyboard layout for BIP85 child index input.
    • Naming convention tweaks to match existing standards.
    • Changes ordering of where the BIP85 options appear in Settings and SeedOptions.
    enhancement 
    opened by kdmukai 6
  • Split symbols keyboard

    Split symbols keyboard

    Replaces #267. Fixes #266.

    Props to @initfortherekt for the original PR (#267) to address this issue which kicked off discussion which led to these more involved changes.

    • Adds the missing symbols, per #266.
    • Splits the symbols across two swappable keyboards.
      • The new swap cycle is: 123 -> !@# -> *[] and then circles back to 123.
    • The most common symbols (punctuation, most human-friendly) are on the first keyboard, mostly following the layout across the top of a typical physical keyboard).
    • Less common symbols (more math-related, less human-friendly) are on the second keyboard and will hopefully almost never need to be used in a typical passphrase.

    Changes to ALL Keyboard instances across the code:

    • Changes how the additional_keys are displayed to set them apart from the normal keys and to reduce confusion with the < and > cursor position keys.

    Further TODO items for future contributors:

    • Render the additional_keys with icons, especially the cursor position keys.

    • Add a popup symbol name when hovering over a symbol. Could be temporarily added to the current position in the TextEntryDisplay:

    # As you navigate across the symbols:
    yourPassphrase[dollar sign]
    yourPassphrase[percent]
    yourPassphrase[ampersand]
    
    # Now click to lock that symbol in:
    yourPassphrase&
    

    Rationale: Certain symbols are just hard to read clearly, especially ` vs ' and ~ vs -. An explicit "backtick", "tilda", etc readout would hopefully completely eliminate any such errors.

    opened by kdmukai 6
  • Bug signing 1-of-2 multisig transaction when recipient is same wallet

    Bug signing 1-of-2 multisig transaction when recipient is same wallet

    Both keys are SeedSigner testnet devices in Specter.

    Transaction is sending coins back to a new addr in the same wallet.

    SeedSigner is hanging on "Parsing PSBT"

    Traceback (most recent call last):
      File "main.py", line 12, in <module>
        controller.start(DEBUG)
      File "/home/pi/seedsigner/controller.py", line 69, in start
        self.show_main_menu()
      File "/home/pi/seedsigner/controller.py", line 91, in show_main_menu
        ret_val = self.show_sign_transaction()
      File "/home/pi/seedsigner/controller.py", line 339, in show_sign_transaction
        signer.parse_psbt(raw_pbst)
      File "./helpers/psbt_signer.py", line 76, in parse_psbt
        (self.change, self.fee, self.spend, self.destinationaddress) = PSBTSigner.change_fee_spend_amounts(self.tx, self.inp_amount, policy, self.seed_storage.get_network())
      File "./helpers/psbt_signer.py", line 260, in change_fee_spend_amounts
        return (change, fee, spend, destinationaddress)
    UnboundLocalError: local variable 'destinationaddress' referenced before assignment
    

    I can confirm that the same device/seed works fine signing a tx for an address in a different wallet. So it's just the self-send/cycling coins that seems to cause problems.

    opened by kdmukai 6
  • Create online build instructions (without needing a 2nd Pi)

    Create online build instructions (without needing a 2nd Pi)

    I was able to get something like this working on a different project, I need to modify it for this one and then add to readme if it works.

    apt-get install replacement

    Online:

    $ mkdir apt && cd apt
    # wget all packages from https://packages.debian.org
    

    Offline (after copying files over):

    $ sudo dpkg -i *.deb
    

    pip install replacement

    Online:

    $ mkdir pip-whl && cd pip-whl && python3 -m pip download pillow numpy RPi.GPIO spidev pip setuptools && wget https://www.piwheels.org/simple/numpy/numpy-1.19.4-cp37-cp37m-linux_armv6l.whl && wget https://www.piwheels.org/simple/pillow/Pillow-8.0.1-cp37-cp37m-linux_armv6l.whl && cd ..
    

    Offline (after copying files over):

    $ sudo python3 /path/to/pip-20.2.4-py2.py3-none-any.whl/pip install --no-index --find-links [everything in pip-whl]
    

    If this works, then I think all these deb/whl could be brought into the project some how to make checkout + install easy. I'm not sure if the best approach is git submodules or perhaps an installer script to fetch them and validate their digest.

    opened by mflaxman 6
  • [Enhancement] Skip second seed selection & Discard PSBT option

    [Enhancement] Skip second seed selection & Discard PSBT option

    Correction/Enhancing workflow related to selecting a seed after scanning a PSBT (when you've already selected the seed previously).

    The skipping of the "second" seed selection requires these conditions:

    • PSBT was scanned from a previous selected seed menu
    • The fingerprint of the seed must match a input fingerprint in the PSBT (this means network settings also need to be correct).

    Also add "Discard PSBT" at the bottom of the seed selection menu (after Discard Seed). This only appears if a PSBT was previously loaded (scanned) into memory and then the user backed out. This provides the user a way to discard the PSBT without having to complete the signing workflow or scan from the home menu.

    opened by newtonick 5
  • New SeedQR + mnemonic backup printable templates

    New SeedQR + mnemonic backup printable templates

    • New templates designed to be usable as gifts to noobs (all the "wfingerprint" versions).
      • So far only in 21x21.
      • Includes 12- and 24-word mnemonic cards.
      • A matching xpub card, but requires that the user generate and print/paste/paste over the empty space for the xpub QR.
    • Renaming and re-org of existing templates
    • Removed older, less polished templates
    • Removes template_generator.py which was originally used to create html-based templates. No longer necessary.
    opened by kdmukai 0
  • [GitHub Issues]: Adding Templates for issues for better reviewability

    [GitHub Issues]: Adding Templates for issues for better reviewability

    Current Situation As I have been going through SeedSigner issues I have thought that there could be a better way to organize new issues and found out that GitHub supports templates for creating issues. Currently all new issues use the same format and that can make it a little more difficult to filter through issues and figure out what an issue is about.


    Proposed Action I have made some sample templates that can be seen in my seedsigner repository issues (Note: the templates will only be active when they are part of the default branch for the repo). These are just some basic templates that I copied and edited from examples in the GitHub documentation and adjusted them to fit some of SeedSigner repo needs. These templates can automatically assign labels and assign ownership of issues if desired. In the example template for a feature request I also added a spot where the requester can offer to put up a bounty for the feature (just an idea).

    Additionally I am wondering if it would be beneficial to enable discussions in the seed signer repo. You can see what discussions look like on the BlueWallet repo. I think it could be a good place for people to ask questions, get answers, share builds, discuss ideas that may not be the point of creating a new issues, etc. I have not previously used discussions so I cannot speak from experience, but it may be useful for the community. This could also be a place to redirect people that have questions or need help and avoid creating new issues that are not actual issues, but rather questions.


    Example List of Issue Templates Issue Templates

    BlueWallet Repo Discussions image

    opened by EverydayBitcoiner 13
  • Passphrase Verification for Seed Backup Flow

    Passphrase Verification for Seed Backup Flow

    I added a section to the end of the seed backup flow that will offer the opportunity for a user to verify their passphrase if the seed they are backing up has a passphrase. I made this up in response to issue #90 as a way for users to verify the passphrase in the backup process while still not showing the passphrase to the user again. This should work for both the seed word backup and the QR backup flows.

    One thing that I did not implement in this flow that I think may be useful is a max number of attempts at passphrase verification (like 10 or something) before the seed gets wiped from memory.

    Thoughts?

    opened by EverydayBitcoiner 12
  • Shuffle SeedQR

    Shuffle SeedQR

    Folks, I wrote this, not wanting to be arrogant, but wanting to improve this amazing project, please take this as constructive criticism.

    I made some assumptions: If the equipment is stolen, you are safe. If the QRcode is exposed, everything is lost. (we are avoiding liability). If the QRcode is exposed, but it has Bip39 passphrase, it is safe, it can add some security, but it also adds complexity.

    Have you considered using a shuffle algorithm to secure the SeedQR code? The option is to use Python to generate a secure random key or a deterministic key by equipment, and use this key as a seed for a shuffle algorithm like the Fisher-Yates shuffle. This will shuffle our QR code in a way that makes it useless if it is exposed or photographed( because the shuffle seed), and can be physically stored on SD card equipment. This can be a great way to protect user QrCode!

    If the equipment is stolen and this key is extracted, and will, there is no risk. this key can even be generated and stay on the SD card clear text, it is only used to protect the SeedQRCode been exposed. If the QRcode is exposed, no risk without the seed to revert the shuffle.

    Recoverability: But now we lose Recoverability, as the QRcode no longer matches the user's seed. Yea! And this can be solved if the shuffle seed is created deterministically using the seedphrases... so same seed phrases generate same key to shuffle, same key can be used to recover from a SeedQr Code.

    It's important to understand that now we keep our backup keys (which may be 12 or 24 words long) safe and secure and hidded, and that the QR code we now generate and use on a daily basis (called the SeedQr) will be different from the backup seeds...

    Here is some example in JS https://www.npmjs.com/package/seedrandom https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

    opened by jrc-dev 2
  • [GUI] More consistency in formatting buttons

    [GUI] More consistency in formatting buttons

    @easyuxd, tagging you because I know you are the UX guy.

    A couple of things that I want to change, but not sure if there is a reason they are the way they are.

    One is the right carat in the two images below. The carat seems extra and inconsistent and I'm not entirely sure what it is conveying because every menu option leads me to a place where I am presented with more options (I get that the advanced one is indicating a submenu, but if it is going to have the carat I think it should be the very bottom button). Is there a reason that these need to be here or can they be taken out to be more consistent?

    image

    I'm also a little bit bothered by the fact that only one button on the Seed Options list has an icon. I think it would be more consistent to either have all buttons one way or the other rather than a mix of some with icons and some without. Below is an example of them all having icons on that list.

    image

    opened by EverydayBitcoiner 1
  • [Enhancement] Long Click Functionality

    [Enhancement] Long Click Functionality

    Implementing functionality to enable use of long click for any buttons. This came up in https://github.com/SeedSigner/seedsigner/pull/286#issuecomment-1364563189 where the use case would be for long pressing the back button to abort all flows and go all the way back home instead of having to go back through the whole backstack.

    Another possible use case would be to avoid accidental clicks for certain actions such as you have to long press the discard seed button when getting rid of a seed (I know that there is already a screen warning before this step). I think this could be a good functionality to have as it opens up different ways of developing the UX.

    opened by EverydayBitcoiner 10
Releases(0.5.1_EXP)
  • 0.5.1_EXP(Oct 14, 2022)

    This experimental release features a new customized Linux Buildroot operating system that we're calling "SeedSigner OS".

    More information on SeedSigner OS can be found at: https://github.com/SeedSigner/seedsigner-os

    Over time SeedSigner OS will open up additional possibilities, but this initial release already includes the following features:

    • Dramatically smaller binary release image (~3.8 GB ==> ~0.035 GB)
    • Ability to remove (and re-insert) the memory card after boot
    • Reduced attack surface due to customized, security-hardened OS

    It should also be noted that this release can be built from scratch with just three terminal commands.

    Because this release is experimental and not recommended for use with real funds, no G/PGP attestation signature is being provided with the released files.

    Known Issue: This experimental release is not compatible with Pi Zero 2W

    If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/

    For anyone testing with this experimental release, please make any suggestions and report any bugs in our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on your MicroSD card:

    • Download the file "SeedSignerOS_0_5_1_EXP.img"
    • Write the extracted image to a 64 MB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • Use up/down to adjust brightness while QRs are displayed
    • Scan a Bitcoin address to initiate the verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Rotate the screen, adjust brightness (up/down) & reduce QR density to resolve glare / lighting issues
    • You are the software integrity assurance mechanism; verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    SeedSignerOS_0_5_1_EXP.img(34.00 MB)
    SeedSignerOS_0_5_1_EXP.img.sha256(134 bytes)
  • 0.5.1(Jun 17, 2022)

    This release builds on our recent UX/UI upgrade and includes a few new features and bug-fixes.

    Checking your download for integrity and authenticity is super important! These steps make the process pretty darn simple: https://github.com/SeedSigner/seedsigner#verifying-your-software

    New Features:

    • Options to add final word entropy
      • Coin flips
      • Select BIP39 word
      • Finalize with zeros
    • Added final word calc screen showing bit-level entropy + checksum bits
    • Integration of compiled secp256k1 library for ~8x faster signing / address verification
    • Miscellaneous under-the-hood code clean-up & enhancements

    Bug Fixes:

    • Workflow bug related to scanning PSBT/address before initializing a mnemonic
    • Bug on displaying complex transactions involving self-transfers resolved

    Special Notes:

    • Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide
    • If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/
    • For now the Settings Generator repo is still hosted by Keith, you can find it at: https://github.com/kdmukai/seedsigner-settings-generator

    To install on your MicroSD card:

    • Download the file "seedsigner_0_5_1.img.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • Built for compatibility with Nunchuk 1.9.7 and up
    • The system's user:password has been set to pi:[email protected]!
    • Rotate the screen, adjust brightness (up/down) & reduce QR density to resolve glare/lighting issues
    • Scan a Bitcoin address to initiate the manual verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • You are the software integrity assurance mechanism -- verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_5_1.img.zip(1163.42 MB)
    seedsigner_0_5_1.img.zip.sha256(161 bytes)
    seedsigner_0_5_1.img.zip.sha256.sig(438 bytes)
  • 0.5.0(Apr 25, 2022)

    We made it to the finish line! We immensely appreciate everyone's interest, testing, donations, suggestions, and all of the other help along the way.

    This is a big, big upgrade to the SeedSigner user experience!

    Beautiful new interface, updated code base, more intuitive workflows!

    Checking your download for integrity and authenticity is super important! These steps make the process pretty darn simple: https://github.com/SeedSigner/seedsigner#verifying-your-software

    Special Notes:

    • Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide
    • If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/
    • For now the Settings Generator repo is still hosted by Keith, you can find it at: https://github.com/kdmukai/seedsigner-settings-generator

    To install on your MicroSD card:

    • Download the file "seedsigner_0_5_0.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • Built for compatibility with Nunchuk 1.9.7 and up
    • For testing/development using SSH, the device's network name is "raspberrypi"
    • The system password has been set to "[email protected]!" (no quotes)
    • Rotate the screen, adjust brightness (up/down) & reduce QR density to resolve glare/lighting issues
    • Scan a Bitcoin address to initiate the manual verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • You are the software integrity assurance mechanism; verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_5_0.img.zip(1161.13 MB)
    seedsigner_0_5_0.img.zip.sha256(161 bytes)
    seedsigner_0_5_0.img.zip.sha256.sig(438 bytes)
  • 0.5.0-rc1(Apr 5, 2022)

    At last, this is the release candidate for our UI overhaul upgrade!

    Special Notes:

    • Please make suggestions and report ANY bugs you come across in our Telegram chat
    • For now the Settings Generator repo is still hosted by Keith, you can find it at: https://github.com/kdmukai/seedsigner-settings-generator
    • Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide
    • If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/

    For anyone testing with this pre-release, please make any suggestions and report any bugs in our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on your MicroSD card:

    • Download the file "seedsigner_0_5_0-pre3.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device

    Implemented Pre-Release Features:

    • Seed word backup verification test (new)
    • Denomination display options (new)
    • Settings: Donate screen (new)
    • HRF logo on splash screen (new)
    • Improve I/O Test responsiveness (new)
    • I/O Test in Settings
    • Create new seed via dice
    • Single sig psbt change & self-transfer/receive address verification
    • Single sig address scan and verification
    • Multisig psbt change/receive addr verification
    • Multisig address scan and verification
    • UR format multisig wallet descriptor import
    • Custom derivation paths in xpub export flow
    • Scan SeedQR / CompactSeedQR
    • Create new seed via image entropy
    • Manual mnemonic seed word entry
    • 12th/24th word calc
    • Add/Edit passphrase
    • View seed words w/configurable warnings
    • SeedQR/CompactSeedQR manual transcription UI w/configurable UI style (dots vs grid)
    • Export xpub w/configurable warnings and flow determined by Settings
    • Scan PSBT
    • Full PSBT review screens
    • Single sig address scan and verification
    • "Full Spend" (no change) warning
    • Send signed PSBT via QR
    • QR display dimming/brightness UP/DOWN
    • Subset of configurable Settings; persistent Settings storage
    • All GUI Components support scrollable Screens
    • SettingsQR integration proof-of-concept

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "raspberrypi"
    • The system password has been set to "[email protected]!" (no quotes)
    • Use up/down to adjust brightness while QRs are displayed
    • Scan a Bitcoin address to initiate the manual verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Rotate the screen, adjust brightness (up/down) & reduce QR density to resolve glare/lighting issues
    • You are the software integrity assurance mechanism; verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_5_0-rc1.img.zip(1152.22 MB)
    seedsigner_0_5_0-rc1.img.zip.sha256(165 bytes)
    seedsigner_0_5_0-rc1.img.zip.sha256.sig(438 bytes)
  • 0.5.0-pre3(Mar 30, 2022)

    This is the third of our User-Interface-Overhaul pre-releases!

    Special Notes:

    • This is a testing release! Don't risk real funds or create keys for use with real funds!
    • Not all functionality in the current release has been implemented!
    • Screens may not be in their final presentation state (icons, text, positioning, etc)
    • Please make suggestions and report ANY bugs you come across in our Telegram chat
    • Because this is a testing release, a hash is being provided, but no attestation signature
    • For now the Settings Generator repo is still hosted by Keith, you can find it at: https://github.com/kdmukai/seedsigner-settings-generator
    • Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide

    If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/

    For anyone testing with this pre-release, please make any suggestions and report any bugs in our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on your MicroSD card:

    • Download the file "seedsigner_0_5_0-pre3.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device

    Implemented Pre-Release Features:

    • I/O Test in Settings (new)
    • Create new seed via dice (new)
    • Single sig psbt change & self-transfer/receive address verification (new)
    • Single sig address scan and verification (new)
    • Multisig psbt change/receive addr verification (new)
    • Multisig address scan and verification (new)
    • UR format multisig wallet descriptor import (new)
    • Custom derivation paths in xpub export flow (new)
    • Scan SeedQR / CompactSeedQR
    • Create new seed via image entropy
    • Manual mnemonic seed word entry
    • 12th/24th word calc
    • Add/Edit passphrase
    • View seed words w/configurable warnings
    • SeedQR/CompactSeedQR manual transcription UI w/configurable UI style (dots vs grid)
    • Export xpub w/configurable warnings and flow determined by Settings
    • Scan PSBT
    • Full PSBT review screens
    • Single sig address scan and verification
    • "Full Spend" (no change) warning
    • Send signed PSBT via QR
    • QR display dimming/brightness UP/DOWN
    • Subset of configurable Settings; persistent Settings storage
    • All GUI Components support scrollable Screens
    • SettingsQR integration proof-of-concept

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "raspberrypi"
    • The system password has been set to "[email protected]!" (no quotes)
    • Use up/down to adjust brightness while QRs are displayed
    • Scan a Bitcoin address to initiate the verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Rotate the screen, adjust brightness (up/down) & reduce QR density to resolve glare/lighting issues
    • You are the software integrity assurance mechanism; verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_5_0-pre3.img.zip(1145.33 MB)
    seedsigner_0_5_0-pre3.img.zip.sha256(166 bytes)
  • 0.5.0-pre2(Mar 16, 2022)

    This is the second of our User-Interface-Overhaul pre-releases!

    Special Notes:

    • This is a testing release! Don't risk real funds or create keys for use with real funds!
    • Not all functionality in the current release has been implemented!
    • Screens may not be in their final presentation state (icons, text, positioning, etc)
    • Please make suggestions and report ANY bugs you come across in our Telegram chat
    • Because this is a testing release, a hash is being provided, but no attestation signature
    • For now the Settings Generator repo is still hosted by Keith, you can find it at: https://github.com/kdmukai/seedsigner-settings-generator
    • Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide

    If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/

    For anyone testing with this pre-release, please make any suggestions and report any bugs in our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on your MicroSD card:

    • Download the file "seedsigner_0_5_0-pre1.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device

    Implemented Pre-Release Features:

    • Scan SeedQR / CompactSeedQR
    • Create new seed via image entropy
    • Manual mnemonic seed word entry
    • 12th/24th word calc
    • Add/Edit passphrase
    • View seed words w/configurable warnings
    • SeedQR/CompactSeedQR manual transcription UI w/configurable UI style (dots vs grid)
    • Export xpub w/configurable warnings and flow determined by Settings
    • Scan PSBT
    • Full PSBT review screens
    • Single sig address scan and verification
    • "Full Spend" (no change) warning
    • Send signed PSBT via QR
    • QR display dimming/brightness UP/DOWN
    • Subset of configurable Settings; persistent Settings storage
    • All GUI Components support scrollable Screens
    • SettingsQR integration proof-of-concept

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "raspberrypi"
    • The system password has been set to "[email protected]!" (no quotes)
    • Use up/down to adjust brightness while QRs are displayed
    • Scan a Bitcoin address to initiate the verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Rotate the screen, adjust brightness (up/down) & reduce QR density to resolve glare/lighting issues
    • You are the software integrity assurance mechanism; verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_5_0-pre2.img.zip(1140.12 MB)
    seedsigner_0_5_0-pre2.img.zip.sha256(166 bytes)
  • 0.5.0-pre1(Mar 2, 2022)

    This is the first of our User-Interface-Overhaul pre-releases!

    Special Notes:

    • This is a testing release! Don't risk real funds or create keys for use with real funds!
    • Not all functionality in the current release has been implemented!
    • Screens may not be in their final presentation state (icons, text, positioning, etc)
    • SeedQR export functionality is not yet implemented, you will have to enter seed words manually or use SeedQRs generated with previous versions
    • Please make suggestions and report ANY bugs you come across in our Telegram chat
    • Because this is a testing release, a hash is being provided, but no attestation signature
    • For now the Settings Generator repo is still hosted by Keith, you can find it at: https://github.com/kdmukai/seedsigner-settings-generator

    Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide

    If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/

    For anyone testing with this pre-release, please make any suggestions and report any bugs in our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on your MicroSD card:

    • Download the file "seedsigner_0_5_0-pre1.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device.

    Implemented Pre-Release Features:

    • Scan SeedQR / CompactSeedQR
    • Add/Edit passphrase
    • View seed words w/configurable warnings
    • Export xpub w/configurable warnings and flow determined by Settings
    • Scan PSBT
    • Full PSBT review screens
    • "Full Spend" (no change) warning
    • Fully verify PSBT change address (single sig)
    • Send signed PSBT via QR
    • QR display dimming/brightness UP/DOWN
    • Subset of configurable Settings; persistent Settings storage
    • SettingsQR integration proof-of-concept

    General SeedSigner Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "raspberrypi"
    • The system password has been set to "[email protected]!" (no quotes)
    • Use up/down to adjust brightness while QRs are displayed
    • Scan a Bitcoin address to initiate the verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Rotate the screen, adjust brightness & reduce QR density to resolve glare/lighting issues
    • You are the software integrity assurance mechanism; verify your downloads!
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_5_0-pre1.img.zip(1125.75 MB)
    seedsigner_0_5_0-pre1.img.zip.sha256(166 bytes)
  • 0.4.6(Feb 21, 2022)

    This release includes a few additions and housekeeping items that we wanted to get in place before the UI-upgrade pre-releases start rolling out.

    Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide

    Join our Telegram group for help building a signer and to keep up with all other things SeedSigner! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/

    To install on your MicroSD card:

    • Download the file "seedsigner_0_4_6.zip"
    • Verify the .zip file click here to view how
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
    • The UI should appear in less than a minute after applying power to the device.

    Front End Updates / Changes:

    • Compressed SeedQRs! (opt-in feature for now, you can enable it in Settings)
    • Improved Sparrow XPUB export/import workflow
    • Lower default brightness for QR exchange to enhance scan-ability
    • Dice-to-Seed module fully verifiable with Ian Coleman / ColdCard

    Back End Updates / Changes:

    • "zbar" updated to 0.23.90 for binary QR scanning support
    • "pyzbar" updated to a custom fork to enable binary QR scanning
    • Integrated jreesun's "urtypes" libary (Thank You jreesun!!!)

    Considerations:

    Built for compatibility with Specter v1.4.5 and up Built for compatibility with Sparrow Wallet v1.4.2 and up Built for compatibility with BlueWallet v6.1.9 and up For testing/development using SSH, the device's network name is "seedsigner" The system password has been set to "[email protected]!" (no quotes) Use up/down to adjust brightness while QRs are displayed Scan a Bitcoin address to initiate the verification process The best way to practice & get comfortable with signing is testnet Test with small amounts of BTC first if starting with mainnet Rotate the screen, adjust brightness & reduce QR density to resolve glare/lighting issues

    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_6.img.zip(1153.87 MB)
    seedsigner_0_4_6.img.zip.sha256(161 bytes)
    seedsigner_0_4_6.img.zip.sha256.sig(438 bytes)
  • 0.4.5(Nov 21, 2021)

    This release includes some smaller quality-of-life improvements and sets us up for the comprehensive UI re-design coming in our next major release.

    Join our Telegram group for help building a signer and to learn about all other things SeedSigner! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on your MicroSD card:

    • Download the file "seedsigner_0_4_5.zip"
    • Extract the .img file
    • Write the extracted image to a 4 GB or larger MicroSD card
    • (make sure to use "dd" or a disk-authoring tool like Balena Etcher)

    The UI should appear in less than a minute after applying power to the device.

    New Features:

    • Optimized XPUB export workflow
    • Fully customizable XPUB derivation paths
    • On-Demand receive/change address verification
    • QR brightness adjustment
    • Splash screen & screen saver (reduces ghosting)
    • Optional camera rotation for alternative build profiles
    • New more readable, FOSS font
    • WiFi & Bluetooth now disabled by default

    Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "seedsigner"
    • The system password has been set to "[email protected]!" (no quotes)
    • Use up/down to adjust brightness while QRs are displayed
    • Scan a Bitcoin address to initiate the verification process
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Rotate the scree, adjust brightness & reduce QR density to resolve glare/lighting issues

    Known Bug:

    • Dice-to-Seed module is inconsistent with Coldcard / Ian Coleman computation methods if rolls include a "6". A fix has been merged into the main branch so users building from source will have access to the corrected code; this fix will also be included the next release.
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_5.img.zip(1131.38 MB)
    seedsigner_0_4_5.img.zip.sha256(161 bytes)
    seedsigner_0_4_5.img.zip.sha256.sig(438 bytes)
  • 0.4.4(Aug 28, 2021)

    The Smart Scanning, Live Preview & Moar Entropy Release

    This release introduces a smart QR scanning module, live preview, and enhancements to the seed-from-photo module.

    Join our Telegram group for help building a signer and for all other things SeedSigner! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on a MicroSD, download the file "seedsigner_0_4_4.zip", extract the .img file, and write that image to a MicroSD card (at least 4GB in size).

    The UI will appear about 45 seconds after applying power to the device.

    (Please note that our core air-gapped QR signing functionality is working reliably, however when making transactions with numerous inputs [UTXO consolidation] the volume of frames to scan in and out of SeedSigner can be large. We are working with wallet coordinator developers to optimize this process; like most software, it will get better and better with time.)

    New Features:

    • Smart scanning identifies item scanned & adjusts workflow/settings accordingly
    • Screen displays live-preview during seed-from-photo & QR scanning modules
    • More entropy introduced to seed-from-photo module (CPU serial, milliseconds, frames)
    • Faster animated QR generation
    • Faster camera initialization
    • Persistent settings with SeedSigner reset option
    • Handling of no-camera-installed within I/O Test module
    • Prompt for wallet during XPUB export process
    • Warning message if seed does not correspond with PSBT

    Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "seedsigner"
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Slightly rotate the SeedSigner screen to resolve glare/lighting issues
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_4.img.zip(1093.36 MB)
    seedsigner_0_4_4.img.zip.txt.gpg(630 bytes)
  • 0.4.3(Aug 1, 2021)

    The "License and Test Suite and Cursors - Oh My!" Release

    This release adds a couple of new features and includes some under-the-hood work as well.

    Join our Telegram group for help building a signer and for all other things SeedSigner! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on a MicroSD, download the file "seedsigner_0_4_3.zip", extract the .img file, and write that image to a MicroSD card (at least 4GB in size).

    Startup time is holding for now at ~50 seconds. (Way down from where we started at 90 seconds!)

    (Please note that our core air-gapped QR signing functionality is working reliably, however when making transactions with numerous inputs [UTXO consolidation] the volume of frames to scan in and out of SeedSigner can be large. We are working with wallet coordinator developers to optimize this process; like most software, it will get better and better with time.)

    New Features:

    • Generate 24-word seed entropy from digital photos
    • Redesigned seed/passphrase entry keyboard interface
    • Significantly reduced camera startup time
    • Code structure migration to singleton controller
    • Creation of initial project test suite

    Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet v1.4.2 and up
    • Built for compatibility with BlueWallet v6.1.9 and up
    • For testing/development using SSH, the device's network name is "seedsigner"
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Slightly rotate the SeedSigner screen to resolve glare/lighting issues
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_3.img.zip(1098.82 MB)
    seedsigner_0_4_3.img.zip.txt.gpg(628 bytes)
  • 0.4.2(Jul 16, 2021)

    This release is all about making it quicker and easier to import your seed phrases!

    Join our Telegram group for help building a signer and for all other things SeedSigner! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on a MicroSD, download the file "seedsigner_0_4_2.zip", extract the .img file, and write that image to a MicroSD card (at least 4GB in size).

    Startup time is holding for now at ~50 seconds. (Way down from where we started at 90 seconds!)

    (Please note that our core air-gapped QR signing functionality is working reliably, however when making transactions with numerous inputs [UTXO consolidation] the volume of frames to scan in and out of SeedSigner can be large. We have several paths to optimize this process and will be bringing improvements in future versions of SeedSigner.)

    New Features:

    • BIP39 passphrase support (more security for your seeds!)
    • SeedQR transcription UI & import mechanism
    • Single-Signature Wallet Mode (1-of-1 at last!)
    • QR density setting (low/med/high)
    • Extended public key information detail (verify ALL your cosigners!)
    • Enhanced transaction information display
    • Optimized menu structure / workflow

    Bug Fix

    • Release includes updated embit 0.4.2 to resolve a fee estimation error when using Sparrow Wallet

    Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet 1.4.2 and up
    • Built for compatibility with BlueWallet 6.1.5 and up
    • BlueWallet users may have to switch to "legacy" QR mode for now
    • For testing/development using SSH, the device name has been changed from "raspberrypi" to "seedsigner"
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Slightly rotate the SeedSigner screen to resolve glare/lighting issues
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_2.img.zip(1039.83 MB)
    seedsigner_0_4_2.img.zip.txt.gpg(630 bytes)
  • 0.4.1(Jun 25, 2021)

    This release is all about adding support for TWO MORE multi-signature wallet coordinators!

    Join our Telegram group for help building a signer and for all other things SeedSigner! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on a MicroSD, download the file "seedsigner_0_4_1.zip", extract the .img file, and write that image to a MicroSD card (at least 4GB in size).

    Startup time is holding for now at ~50 seconds. (Way down from where we started at 90 seconds!)

    (Please note that our core air-gapped QR signing functionality is working reliably, however when making transactions with numerous inputs [UTXO consolidation] the volume of frames to scan in and out of SeedSigner can be large. We have several paths to optimize this process and will be bringing improvements in future versions of SeedSigner.)

    New Features:

    • Support for Sparrow Wallet! (https://sparrowwallet.com/)
    • Support for BlueWallet Multisig Vault! (https://bluewallet.io/multisig-wallet/)
    • Repo housekeeping to pave the way for more great features & improvements

    Considerations:

    • Built for compatibility with Specter v1.4.5 and up
    • Built for compatibility with Sparrow Wallet 1.4.2 and up
    • Built for compatibility with BlueWallet 6.1.5 and up
    • The best way to practice & get comfortable with signing is testnet
    • Test with small amounts of BTC first if starting with mainnet
    • Currently support for multisig wallets only (single-sig coming)
    • Slightly rotate the screen to resolve glare/lighting issues
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_1.img.zip(1015.39 MB)
    seedsigner_0_4_1.img.zip.txt.gpg(628 bytes)
  • 0.4.0(May 26, 2021)

    What an amazing step forward for the project, restructuring the code base sets us up for so many good things to come!

    Join our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on a MicroSD, download the file "seedsigner_0_4_0.zip", extract the .img file file, and write that image to a MicroSD card (at least 4GB in size).

    Startup time is down to ~50 seconds. (Way down from where we started at 90 seconds!)

    New Features:

    • New code structure to facilitate faster startup time
    • More responsive button and joystick navigation
    • Improved word gathering screen showing ONLY VIABLE LETTERS
    • Persistent press for letter gathering is back
    • Improved navigation for aborting / exiting by using left joystick
    • New left-click menu for generating seed from dice
    • Ability to display a stored seed once it has been saved
    • Adding Settings option for wallet selection (currently Specter only)
    • Prompts to save seed when calculating final word
    • Confirmation prompt for power off

    Considerations:

    • Built for compatibility with Specter v1.1.0 and up
    • Use Specter's "other" device type
    • Boot time is ~50 seconds on RasPi Zero
    • Always opt for animated QR codes in Specter
    • Test with small amounts of BTC if using mainnet
    • Currently support multisig only
    • Try holding screen upside-down when signing
    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_0.img.zip(1011.80 MB)
    seedsigner_0_4_0.img.zip.txt.gpg(629 bytes)
  • 0.4.0b3(May 8, 2021)

    Help test the foundation for the next chapter of SeedSigner!

    This is a pre-release of our new code structure, with some additional new features:

    • New code structure to facilitate faster startup time
    • Improved word gathering screen showing only viable letters
    • More responsive button and joystick navigation
    • Improved navigation for aborting / exiting by using left joystick
    • New left-click menu for generating seed from dice
    • Ability to display a stored seed once it has been saved
    • Adding Settings option for wallet selection (currently Specter only)
    • Prompts to save seed when calculating final word
    • Confirmation prompt for power off

    The code in this pre-release is based on newtonick's pull request:

    https://github.com/newtonick/seedsigner/tree/refactor

    To install the new version download the .zip file, decompress, and write the image to SeedSigner's MicroSD card.

    Please share feedback here in the repo, or in the project's Telegram group:

    https://t.me/joinchat/GHNuc_nhNQjLPWsS

    Please note that the startup time for this test version is still ~70 seconds; the greatest startup time reduction will come when we move to a compiled binary running on Tiny Core, which is targeted for version 0.5.0.

    This release includes a GPG signed message referencing the SHA256 hash of the release .zip file; the public key can be found in the main SeedSigner repository.

    Source code(tar.gz)
    Source code(zip)
    seedsigner_0_4_0_b3.txt(144 bytes)
    seedsigner_0_4_0_b3.txt.gpg(618 bytes)
    seedsigner_0_4_0_b3.zip(1013.23 MB)
  • 0.3.0(Feb 6, 2021)

    Release Notes

    Join our Telegram group! https://t.me/joinchat/GHNuc_nhNQjLPWsS

    To install on a MicroSD, download the file "seedsigner_0_3_0.zip", extract the .img file file, and write that image to a MicroSD card (at least 4GB in size).

    New Features:

    • added TESTNET!
    • added support for 12 word seeds
    • added ability to temporarily save 3 seeds
    • added outgoing psbt trimming
    • added status indicators during frame input
    • added support for up to 99 input frames
    • added "go-back" during word entry
    • added error checking for entered seeds
    • fixed change identification bug
    • various UX improvements & other bug fixes

    Considerations:

    • built for compatibility with Specter v1.1.0 and up
    • use Specter's "other" device type
    • boot time is 90-100 seconds on RasPi Zero
    • always opt for animated QR codes in Specter
    • test with small amounts of BTC if using mainnet
    • currently support multisig only
    • try holding screen upside-down when signing
    Source code(tar.gz)
    Source code(zip)
    main.py(1.35 KB)
    resources.py(152.97 KB)
    seedsigner_0_3_0.txt.gpg(609 bytes)
    seedsigner_0_3_0.zip(1011.07 MB)
    ST7789.py(4.80 KB)
  • 0.2.0(Jan 15, 2021)

    Ability to generate xpub keys and sign transactions via QR codes added to this version! See the current project readme for further information! To install on a MicroSD, download the file "seedsigner_0_1_0.zip", extract the .img file file, and write that image to a MicroSD card (at least 4GB in size). Help can be found on Telegram at https://t.me/joinchat/GHNuc_nhNQjLPWsS

    Source code(tar.gz)
    Source code(zip)
    dice.py(21.12 KB)
    getword24.py(2.83 KB)
    getwords.py(46.44 KB)
    iotest.py(6.51 KB)
    main.py(938 bytes)
    menus.py(21.42 KB)
    psbtsign.py(11.33 KB)
    seedsigner_0_1_0.zip(1011.00 MB)
    xpubmake.py(4.59 KB)
  • 0.0.2(Dec 20, 2020)

    Made some changes to the UX and added functionality to generate a 24-word seed with dice rolls in this version.

    This is a preconfigured image with SeedSigner and the necessary dependencies installed; write the image to your MicroSD just as you would Raspberry Pi OS. The app will appear a little over a minute after power is applied to a Raspberry Pi Zero; may be quicker for 2/3/4.

    Source code(tar.gz)
    Source code(zip)
    seedsigner.zip(663.33 MB)
Web app for spotify playlist management with last.fm integration

Music Tools Set of utility tools for Spotify and Last.fm. Built on my other libraries for Spotify (spotframework), Last.fm (fmframework) and interfaci

andy 3 Dec 14, 2022
OpenSea Bulk Uploader And Trader 100000 NFTs (MAC WINDOWS ANDROID LINUX) Automatically and massively upload and sell your non-fungible tokens on OpenSea using Python Selenium

OpenSea Bulk Uploader And Trader 100000 NFTs (MAC WINDOWS ANDROID LINUX) Automatically and massively upload and sell your non-fungible tokens on OpenS

ERC-7211 3 Mar 24, 2022
Python + AWS Lambda Hands OnPython + AWS Lambda Hands On

Python + AWS Lambda Hands On Python Criada em 1990, por Guido Van Rossum. "Bala de prata" (quase). Muito utilizado em: Automatizações - Selenium, Beau

Marcelo Ortiz de Santana 8 Sep 09, 2022
Python client for Midea dhumidifier

This is a library that allows communication with Midea dehumidifier appliances via the local area network. midea-beautiful-dehumidifier This library a

Nenad Bogojevic 42 Dec 22, 2022
A crashbot for Discord

Description A Effective crash bot code How to use Setup First, we need to install the library: pip install discord or (for linux users): pip3 install

3 Sep 17, 2021
CnCL - CnCLess it's an Easy to deploy Botnet without CnC/C2

CnCL CnCLess it's an Easy to deploy Botnet without CnC/C2, Harder to track and t

ZSendokame 2 Jan 10, 2022
A custom Discord Rich Presence to display when you're studying so you're stupid friends won't disturb you when you're studying.

Studying RPC Description A custom Discord Rich Presence to display when you're studying so you're stupid friends won't disturb you when you're studyin

John Edmerson Pizarra 4 Nov 19, 2022
Shred your reddit comment and post history

trasheddit Shred your reddit comment and post history (x89/Shreddit replacement) Usage Simple Example Download trasheddit: git clone https://github.co

Elly 2 Jan 05, 2022
Automatically Edits Videos and Uploads to Tiktok with 1 line of code.

TiktokAutoUploader - Open to code contributions Automatically Edits Videos and Uploads to Tiktok with 1 line of code. Setup pip install -r requirement

Michael Peres 199 Dec 27, 2022
A Python library wrapping the iFixit (Dozuki) API.

A Python library wrapping the iFixit API. Status Working, but incomplete. Fully tested and documented. Hacking I highly recommend using virtualenv: [$

James Pearson Hughes 13 May 24, 2021
Photogrammetry Web API

OpenScanCloud Photogrammetry Web API Overview / Outline: The OpenScan Cloud is intended to be a decentralized, open and free photogrammetry web API. T

Thomas 86 Jan 05, 2023
Easily report Instagram pages and close the page

Program Features - 📌 Delete target post on Instagram. - 📌 Delete Media Target post on Instagram - 📌 Complete deletion of the target account on Inst

hack4lx 11 Nov 25, 2022
Chatbot with python code!

Chatbot Python Chatbot with python! How to Run Installation requirements. pip install -r requirements.txt Sample Chatbot The required files must be d

Mohammad Dori 3 Jul 15, 2022
A Telegram Music Bot written in Python using Pyrogram and Py-Tgcalls

A Telegram Music Bot written in Python using Pyrogram and Py-Tgcalls. This is Also The Source Code of The UserBot Which is Playing Music in @S1-BOTS Support Group ❤️

SAF ONE 224 Dec 28, 2022
⚡TIKTOK BOT - FAST OPTIMIZED ZEFOY SCRIPT

⚡ ZEFOY [ TikTok Zefoy Bot ] Get the script in: discord.gg/onlp !! Official shop: onlp.sellix.io Newest version v.9.0.0 Requirements pip install p

Tekky 186 Dec 31, 2022
The elegance of Airflow + the power of AWS

Orkestra The elegance of Airflow + the power of AWS

Stephan Fitzpatrick 42 Nov 01, 2022
An Telegram Bot By @AsmSafone To Stream Videos in Telegram Voice Chat. This is Also The Source Code of The Bot Which is Being Used In @SafoTheBot Group! ❤️

Telegram Video Player Bot (Beta) An Telegram Bot By @AsmSafone To Stream Videos in Telegram Voice Chat. Special Features Supports Live Streaming From

SAF ONE 206 Jan 03, 2023
AnyAPI is a library that helps you to write any API wrapper with ease and in pythonic way.

AnyAPI AnyAPI is a library that helps you to write any API wrappers with ease and in pythonic way. Features Have better looking code using dynamic met

Fatih Kilic 129 Sep 20, 2022
Códigos pela Força Bruta e Algoritmo Genético para o Problema da Mochila

O problema da mochila é um problema de optimização combinatória. O nome dá-se devido ao modelo de uma situação em que é necessário preencher uma mochi

Hemili Beatriz 1 Jan 08, 2022
Create custom Vanity URLs for Discord without 30 boosts

CustomVanity - Made by udp#6666 aka Apolo - OpenSource Custom Discord Vanity Creator How To Use Open CustomVanity.py Write your server invite code Wri

apolo 17 Aug 23, 2022