at a glance, immediate concerns relate to generation of the seeds (flaw in entropy) and storing the wallet on a flash drive (which have limited lifespans).

great concept though and appreciate the code is open source.

hopefully you can get some more eyes looking at it and reviewing the code / assessing from a security and risk perspective.

inheritance planning is one area that concerns me a lot so i applaud your effort! 🧡💜

Reply to this note

Please Login to reply.

Discussion

Thank you for the feedback! If you’d like to know how the keys are generated, you can view the code below. BTCapsule uses the python-bitcoin-utils library, so all the information is there.

The receiver wallet is stored in a folder, and can be moved or duplicated to any storage device. You can buy a few flash drives and copy the folder to each one, and then after a few years, copy them to new flash drives or whatever storage options are available in the future. The receiver wallet is not as important as the sender wallet, because it’s impossible to get the Bitcoin before the timelock expires.

I will say that I don’t recommend timelocking the Bitcoin for longer than a few years. If the original owner is still alive, they can always sweep their Bitcoin before the timelock expires, and create new wallets for their heirs.

Here is the code to show how the keys are generated:

https://github.com/karask/python-bitcoin-utils/blob/master/bitcoinutils/keys.py

guess i mean more from a randomness source perspective, as opposed to rolling dice etc.

definitely agree on the sweeping / creating new timelock every X years. suppose it is up to the owner to maintain some routine.

good work man, hope it keeps building traction!

When you use BTCapsule, you are literally using the Python script and running it from the Pydroid app on Android. This means you could create your own private key, and in the part of the code that says:

sender_create_priv = PrivateKey()

You can replace it with:

sender_create_priv = "LongStringOfRandomness"

Where LongStringOfRandomness is your private key in quotation marks. Then BTCapsule will build everything based on that private key.

Thanks for the encouragement! I hope it’s not too hard to use, and I can make it easier in the future.