Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A bank on your $5 USB stick

Project description

Cashkey: A bank on your $5 USB stick

cashkey is a tool that helps you create a secure Bitcoin cash wallet on any USB flash drive and perform transactions using a CLI.

It creates an encrypted file (key.enc) on your USB flash drive containing your Bitcoin cash private key. To perform any operation, you'll have to enter your previously registred password. Otherwise, any operation is impossible.


It's as simple as:

$ pip install cashkey


Important: cashkey isn't as secured as a REAL hardware wallet, so don't use it as your main way to store your Bitcoins!

Before you start using cashkey, you have to format a USB flash drive to any format you want (preferably FAT32 for portability) and rename the key to BCH on formating.

Once done, go to your command line and run:

$ cashkey

You will then be invited to create a new password for your wallet. Choose a strong password and remember everyone with access to your USB wallet, your password and cashkey has access to your Bitcoins.

After creating a password, you'll be asked to re-run the program. Then to enter your password again. When done, you will have access to a prompt with the following options:

1 – Print your Bitcoin cash address
2 – Get your wallet balance in a given currency
3 – Get your transaction history
4 – Make a transaction
5 – Get transaction fees in satoshis per byte
6 – Create a new wallet
0 – Exit

You can then select an options by entering the corresponding number followed by return.


My vision is to create a simple way for people who cannot afford a hardware wallet such as the Ledger or the Trezor to carry their cryptocurrencies in a secure way. The long-term goal is to establish a universal protocol or convention to create a hardware wallet and access it with any software. Monopoly isn't something we should support in the crypto space, instead we should focus on making things simpler and open for everyone.

Based on community needs and demands, I will keep improving the project and adding new functionalities. You can help me do that by contributing to the project or by donating a little something to encourage me.

Donate BCH: bitcoincash:qz5mle4x2vjelax2c0wxhuprq5ha63w4xsj0r38g8s

Donate Love: Just tweet me something cool :)


If you like cashkey so much that you want to contribute to it, you can make a pull request on a new branch wether it is for a bugfix or for a new feature.

You can also request a feature or report a bug by using Github issues, or by dropping me an email if you're not technical.

Promoting the project is also considered a huge contribution! Any action is welcome as long as it helps cashkey grow!

Notes and credits

  • I really wanted to thank Ofek Lev for his library bit and Sporestack with his fork bitcash which made cashkey possible without me having a headache, your libraries rocks!

  • I tested cashkey on MacOS and Linux but I don't know if it works well on Windows. It would be cool if one of you contributors can test it and create an issue if it doesn't work properly.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cashkey, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size cashkey-0.0.3-py3-none-any.whl (9.4 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size cashkey-0.0.3.tar.gz (6.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page