Creating Ethereum, Bitcoin and other accounts is complex and fraught
with potential for loss of funds.
A BIP-39 seed recovery phrase helps, but a *single* lapse in security
dooms the account (and all derived accounts, in fact). If someone finds
your recovery phrase (or you lose it), the accounts derived from that
seed are /gone/.
The SLIP-39 standard allows you to split the seed between 1, 2, or more
groups of several mnemonic recovery phrases. This is better, but
creating such accounts is difficult; presently, only the Trezor supports
these, and they can only be created "manually". Writing down 5 or more
sets of 20 words is difficult, error-prone and time consuming.
# Hardware Wallet "Seed" Configuration
> Your keys, your Bitcoin. Not your keys, not your Bitcoin.
>
> ---Andreas Antonopoulos
The [python-slip39][1] project (and the [slip39-app][2]) exists to assist in the safe creation,
backup and documentation of Hierarchical Deterministic (HD) Wallet seeds and derived accounts,
with various SLIP-39 sharing parameters. It generates the new random wallet seed, and generates
the expected standard Ethereum account(s) (at *m/44'/60'/0'/0/0* by default) and
Bitcoin accounts (at Bech32 derivation path *m/84'/0'/0'/0/0* by default), with wallet address and
QR code (compatible with Trezor and Ledger derivations). It produces the required SLIP-39
phrases, and outputs a single PDF containing all the required printable cards to document the seed
(and the specified derived accounts).
On an secure (ideally air-gapped) computer, new seeds can /safely/ be generated (*without*
trusting this program) and the PDF saved to a USB drive for printing (or directly printed without
the file being saved to disk.). Presently, =slip39= can output example ETH, BTC, LTC, DOGE, BSC,
and XRP addresses derived from the seed, to /illustrate/ what accounts are associated with the
backed-up seed. Recovery of the seed to a [trezor-model-t][3] is simple, by entering the mnemonics
right on the device.
We also support the backup of existing insecure and unreliable 12- or 24-word BIP-39 Mnemonic
Phrases as SLIP-39 Mnemonic cards, for existing BIP-39 hardware wallets like the [ledger-nano][4],
etc.! Recover from your existing BIP-39 Seed Phrase Mnemonic, select "Using BIP-39" (and enter
your BIP-39 passphrase), and generate a set of SLIP-39 Mnemonic cards. Later, use the SLIP-39 App
to recover from your SLIP-39 Mnemonic cards, click "Using BIP-39" to get your BIP-39 Mnemonic
back, and use it (and your passphrase) to recover your accounts to your Ledger (or other) hardware
wallet.
Output of BIP-38 or JSON encrypted Paper Wallets is also supported, for import into standard
software cryptocurrency wallets.
[1]: <https://github.com/pjkundert/python-slip39.git> "python-slip39"
[2]: <https://slip39.com/app> "SLIP-39 App"
[3]: <https://trezor.go2cloud.org/SH1Y> "Trezor Model T"
[4]: <https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f> "Ledger Nano"
## The SLIP-39 App for Generation and Backup
Download the SLIP-39 App from [slip39-download][5] for Windows (.msi) or macOS (.dmg).
The Graphical User Interface (GUI) also supports Linux:
$ python3 -m pip install slip39[gui]
$ slip39-gui
![SLIP-39 App GUI][slip39-gui]
[5]: <https://github.com/pjkundert/python-slip39/releases/latest> "SLIP-39 App Download"
[slip39-gui]: https://github.com/pjkundert/python-slip39/raw/master/images/slip39.png "SLIP-39 App GUI"
## Generating SLIP-39 on the Command Line
$ python3 -m slip39 -v Personal # or run: slip39 -v Personal
2022-01-26 13:55:30 slip39 First(1/1): Recover w/ 2 of 4 groups First(1), Second(1), Fam(2/4), Frens(2/6)
2022-01-26 13:55:30 slip39 1st 1 sister 8 cricket 15 unhappy
2022-01-26 13:55:30 slip39 2 acid 9 mental 16 ocean
2022-01-26 13:55:30 slip39 3 acrobat 10 veteran 17 mayor
2022-01-26 13:55:30 slip39 4 romp 11 phantom 18 promise
2022-01-26 13:55:30 slip39 5 anxiety 12 grownup 19 wrote
2022-01-26 13:55:30 slip39 6 laser 13 skunk 20 romp
2022-01-26 13:55:30 slip39 7 cricket 14 anatomy
2022-01-26 13:55:30 slip39 Second(1/1): Recover w/ 2 of 4 groups First(1), Second(1), Fam(2/4), Frens(2/6)
2022-01-26 13:55:30 slip39 1st 1 sister 8 belong 15 spirit
2022-01-26 13:55:30 slip39 2 acid 9 survive 16 royal
2022-01-26 13:55:30 slip39 3 beard 10 home 17 often
2022-01-26 13:55:30 slip39 4 romp 11 herd 18 silver
2022-01-26 13:55:30 slip39 5 again 12 mountain 19 grocery
2022-01-26 13:55:30 slip39 6 orbit 13 august 20 antenna
2022-01-26 13:55:30 slip39 7 very 14 evening
2022-01-26 13:55:30 slip39 Fam(2/4): Recover w/ 2 of 4 groups First(1), Second(1), Fam(2/4), Frens(2/6)
2022-01-26 13:55:30 slip39 1st 1 sister 8 rainbow 15 husky
2022-01-26 13:55:30 slip39 2 acid 9 swing 16 crowd
2022-01-26 13:55:30 slip39 3 ceramic 10 credit 17 learn
2022-01-26 13:55:30 slip39 4 roster 11 piece 18 priority
2022-01-26 13:55:30 slip39 5 already 12 puny 19 hand
2022-01-26 13:55:30 slip39 6 quiet 13 senior 20 watch
2022-01-26 13:55:30 slip39 7 erode 14 listen
2022-01-26 13:55:30 slip39 2nd 1 sister 8 holy 15 revenue
2022-01-26 13:55:30 slip39 2 acid 9 execute 16 junction
2022-01-26 13:55:30 slip39 3 ceramic 10 lift 17 elite
2022-01-26 13:55:30 slip39 4 scared 11 spark 18 flexible
2022-01-26 13:55:30 slip39 5 domestic 12 yoga 19 inform
2022-01-26 13:55:30 slip39 6 exact 13 medical 20 predator
2022-01-26 13:55:30 slip39 7 finger 14 grief
...
2022-01-26 13:55:30 slip39 ETH m/44'/60'/0'/0/0 : 0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1
2022-01-26 13:55:30 slip39 BTC m/84'/0'/0'/0/0 : bc1q6u7qk0tepkxdm8wkhpqzwwy0w8zfls9yvghaxq
...
2022-01-26 13:55:30 slip39 Wrote SLIP39-encoded wallet for 'Personal' to: Personal-2022-01-26+13.55.30-ETH-0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1.pdf
## Recover from SLIP-39 Mnemonics
Later, if you need to recover the Ethereum wallet, keep entering SLIP-39 mnemonics until the secret
is recovered (invalid/duplicate mnemonics will be ignored):
$ python3 -m slip39.recovery -v # or run: slip39-recovery -v
Enter 1st SLIP-39 mnemonic: sister acid acrobat romp anxiety laser cricket cricket mental veteran phantom grownup skunk anatomy unhappy ocean mayor promise wrote romp
2021-12-29 13:24:25 slip39.recovery Could not recover SLIP-39 master secret with 1 supplied mnemonics: Insufficient number of mnemonic groups. The required number of groups is 2.
Enter 2nd SLIP-39 mnemonic: a bc
2021-12-29 13:24:53 slip39.recovery Could not recover SLIP-39 master secret with 2 supplied mnemonics: Invalid mnemonic word 'a'.
Enter 3rd SLIP-39 mnemonic: sister acid ceramic roster already quiet erode rainbow swing credit piece puny senior listen husky crowd learn priority hand watch
2021-12-29 13:24:58 slip39.recovery Could not recover SLIP-39 master secret with 3 supplied mnemonics: Invalid mnemonic word 'a'.
Enter 4th SLIP-39 mnemonic: sister acid ceramic scared domestic exact finger holy execute lift spark yoga medical grief revenue junction elite flexible inform predator
2021-12-29 13:25:14 slip39.recovery Recovered SLIP-39 secret with 3 (1st, 3rd, 4th) of 4 supplied mnemonics
2021-12-29 13:25:14 slip39.recovery Recovered SLIP-39 secret; To re-generate, send it to: python3 -m slip39 --secret -
32448aabb50cb6b022fdf17d960720df
Finally, regenerate the Ethereum wallet, perhaps including an encrypted JSON wallet file for import
into a software wallet; note that the same Ethereum wallet address 0x8FBC...3bf1 is recovered:
$ python3 -m slip39 --secret 32448aabb50cb6b022fdf17d960720df --json -
2022-01-26 14:06:14 slip39 It is recommended to not use '-s|--secret <hex>'; specify '-' to read from input
2022-01-26 14:06:14 slip39 ETH m/44'/60'/0'/0/0 : 0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1
2022-01-26 14:06:14 slip39 BTC m/84'/0'/0'/0/0 : bc1q6u7qk0tepkxdm8wkhpqzwwy0w8zfls9yvghaxq
JSON key file password:
2022-01-26 14:06:21 slip39 Wrote JSON SLIP39's encrypted ETH wallet 0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1 derived at m/44'/60'/0'/0/0 to: SLIP39-2022-01-26+14.06.14-ETH-0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1.json
2022-01-26 14:06:21 slip39 Wrote SLIP39-encoded wallet for '' to: SLIP39-2022-01-26+14.06.14-ETH-0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1.pdf
The whole toolchain is suitable for pipelining:
$ python3 -m slip39 --text --no-card -q \
| sort -r \
| python3 -m slip39.recovery \
| python3 -m slip39 --secret - --no-card -q
2021-12-28 10:55:17 slip39 ETH m/44'/60'/0'/0/0 : 0x68dD9B59D5dF605f4e9612E8b427Ab31187E2C54
2021-12-28 10:55:18 slip39.recovery Recovered SLIP-39 secret with 4 (1st, 2nd, 7th, 8th) of 8 supplied mnemonics
2021-12-28 10:55:18 slip39 ETH m/44'/60'/0'/0/0 : 0x68dD9B59D5dF605f4e9612E8b427Ab31187E2C54
## SLIP-39 Mnemonic Cards PDF
Here's an example of PDF containing the SLIP-39 recovery mnemonic cards produced:
![SLIP-39 Mnemonic Cards PDF][slip39-cards]
If desired, you can output encrypted "Paper Wallets", compatible for import into standard software
cryptocurrency wallets (BIP-38 for Bitcoin, etc., and standard JSON wallets for Ethereum):
![Encrypted Paper Wallets PDF][slip39-wallets]
[slip39-cards]: https://github.com/pjkundert/python-slip39/raw/master/images/slip39-cards.png "SLIP-39 Mnemonic Cards PDF"
[slip39-wallets]: https://github.com/pjkundert/python-slip39/raw/master/images/slip39-wallets.png "Encrypted Paper Wallets PDF"
Raw data
{
"_id": null,
"home_page": "https://github.com/pjkundert/python-slip39",
"name": "slip39",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Ethereum Bitcoin Dogecoin Litecoin cryptocurrency SLIP-39 BIP-39 seed recovery PDF BIP-38 paper wallet",
"author": "Perry Kundert",
"author_email": "perry@dominionrnd.com",
"download_url": "https://files.pythonhosted.org/packages/a9/b7/7b532671a5475e0956daa7a32e532425d530419b97b029a327b1c464e331/slip39-12.1.0.tar.gz",
"platform": null,
"description": "Creating Ethereum, Bitcoin and other accounts is complex and fraught\nwith potential for loss of funds.\n\nA BIP-39 seed recovery phrase helps, but a *single* lapse in security\ndooms the account (and all derived accounts, in fact). If someone finds\nyour recovery phrase (or you lose it), the accounts derived from that\nseed are /gone/.\n\nThe SLIP-39 standard allows you to split the seed between 1, 2, or more\ngroups of several mnemonic recovery phrases. This is better, but\ncreating such accounts is difficult; presently, only the Trezor supports\nthese, and they can only be created \"manually\". Writing down 5 or more\nsets of 20 words is difficult, error-prone and time consuming.\n\n# Hardware Wallet \"Seed\" Configuration\n\n> Your keys, your Bitcoin. Not your keys, not your Bitcoin.\n> \n> ---Andreas Antonopoulos\n\nThe [python-slip39][1] project (and the [slip39-app][2]) exists to assist in the safe creation,\nbackup and documentation of Hierarchical Deterministic (HD) Wallet seeds and derived accounts,\nwith various SLIP-39 sharing parameters. It generates the new random wallet seed, and generates\nthe expected standard Ethereum account(s) (at *m/44'/60'/0'/0/0* by default) and\nBitcoin accounts (at Bech32 derivation path *m/84'/0'/0'/0/0* by default), with wallet address and\nQR code (compatible with Trezor and Ledger derivations). It produces the required SLIP-39\nphrases, and outputs a single PDF containing all the required printable cards to document the seed\n(and the specified derived accounts).\n\nOn an secure (ideally air-gapped) computer, new seeds can /safely/ be generated (*without*\ntrusting this program) and the PDF saved to a USB drive for printing (or directly printed without\nthe file being saved to disk.). Presently, =slip39= can output example ETH, BTC, LTC, DOGE, BSC,\nand XRP addresses derived from the seed, to /illustrate/ what accounts are associated with the\nbacked-up seed. Recovery of the seed to a [trezor-model-t][3] is simple, by entering the mnemonics\nright on the device.\n\nWe also support the backup of existing insecure and unreliable 12- or 24-word BIP-39 Mnemonic\nPhrases as SLIP-39 Mnemonic cards, for existing BIP-39 hardware wallets like the [ledger-nano][4],\netc.! Recover from your existing BIP-39 Seed Phrase Mnemonic, select \"Using BIP-39\" (and enter\nyour BIP-39 passphrase), and generate a set of SLIP-39 Mnemonic cards. Later, use the SLIP-39 App\nto recover from your SLIP-39 Mnemonic cards, click \"Using BIP-39\" to get your BIP-39 Mnemonic\nback, and use it (and your passphrase) to recover your accounts to your Ledger (or other) hardware\nwallet.\n\nOutput of BIP-38 or JSON encrypted Paper Wallets is also supported, for import into standard\nsoftware cryptocurrency wallets.\n\n[1]: <https://github.com/pjkundert/python-slip39.git> \"python-slip39\"\n\n[2]: <https://slip39.com/app> \"SLIP-39 App\"\n\n[3]: <https://trezor.go2cloud.org/SH1Y> \"Trezor Model T\"\n\n[4]: <https://shop.ledger.com/pages/ledger-nano-x?r=2cd1cb6ae51f> \"Ledger Nano\"\n\n## The SLIP-39 App for Generation and Backup\n\nDownload the SLIP-39 App from [slip39-download][5] for Windows (.msi) or macOS (.dmg).\n\nThe Graphical User Interface (GUI) also supports Linux:\n\n $ python3 -m pip install slip39[gui]\n $ slip39-gui\n\n![SLIP-39 App GUI][slip39-gui]\n\n[5]: <https://github.com/pjkundert/python-slip39/releases/latest> \"SLIP-39 App Download\"\n[slip39-gui]: https://github.com/pjkundert/python-slip39/raw/master/images/slip39.png \"SLIP-39 App GUI\"\n\n## Generating SLIP-39 on the Command Line\n\n $ python3 -m slip39 -v Personal # or run: slip39 -v Personal\n 2022-01-26 13:55:30 slip39 First(1/1): Recover w/ 2 of 4 groups First(1), Second(1), Fam(2/4), Frens(2/6)\n 2022-01-26 13:55:30 slip39 1st 1 sister 8 cricket 15 unhappy\n 2022-01-26 13:55:30 slip39 2 acid 9 mental 16 ocean\n 2022-01-26 13:55:30 slip39 3 acrobat 10 veteran 17 mayor\n 2022-01-26 13:55:30 slip39 4 romp 11 phantom 18 promise\n 2022-01-26 13:55:30 slip39 5 anxiety 12 grownup 19 wrote\n 2022-01-26 13:55:30 slip39 6 laser 13 skunk 20 romp\n 2022-01-26 13:55:30 slip39 7 cricket 14 anatomy\n 2022-01-26 13:55:30 slip39 Second(1/1): Recover w/ 2 of 4 groups First(1), Second(1), Fam(2/4), Frens(2/6)\n 2022-01-26 13:55:30 slip39 1st 1 sister 8 belong 15 spirit\n 2022-01-26 13:55:30 slip39 2 acid 9 survive 16 royal\n 2022-01-26 13:55:30 slip39 3 beard 10 home 17 often\n 2022-01-26 13:55:30 slip39 4 romp 11 herd 18 silver\n 2022-01-26 13:55:30 slip39 5 again 12 mountain 19 grocery\n 2022-01-26 13:55:30 slip39 6 orbit 13 august 20 antenna\n 2022-01-26 13:55:30 slip39 7 very 14 evening\n 2022-01-26 13:55:30 slip39 Fam(2/4): Recover w/ 2 of 4 groups First(1), Second(1), Fam(2/4), Frens(2/6)\n 2022-01-26 13:55:30 slip39 1st 1 sister 8 rainbow 15 husky\n 2022-01-26 13:55:30 slip39 2 acid 9 swing 16 crowd\n 2022-01-26 13:55:30 slip39 3 ceramic 10 credit 17 learn\n 2022-01-26 13:55:30 slip39 4 roster 11 piece 18 priority\n 2022-01-26 13:55:30 slip39 5 already 12 puny 19 hand\n 2022-01-26 13:55:30 slip39 6 quiet 13 senior 20 watch\n 2022-01-26 13:55:30 slip39 7 erode 14 listen\n 2022-01-26 13:55:30 slip39 2nd 1 sister 8 holy 15 revenue\n 2022-01-26 13:55:30 slip39 2 acid 9 execute 16 junction\n 2022-01-26 13:55:30 slip39 3 ceramic 10 lift 17 elite\n 2022-01-26 13:55:30 slip39 4 scared 11 spark 18 flexible\n 2022-01-26 13:55:30 slip39 5 domestic 12 yoga 19 inform\n 2022-01-26 13:55:30 slip39 6 exact 13 medical 20 predator\n 2022-01-26 13:55:30 slip39 7 finger 14 grief\n ...\n 2022-01-26 13:55:30 slip39 ETH m/44'/60'/0'/0/0 : 0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1\n 2022-01-26 13:55:30 slip39 BTC m/84'/0'/0'/0/0 : bc1q6u7qk0tepkxdm8wkhpqzwwy0w8zfls9yvghaxq\n ...\n 2022-01-26 13:55:30 slip39 Wrote SLIP39-encoded wallet for 'Personal' to: Personal-2022-01-26+13.55.30-ETH-0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1.pdf\n\n## Recover from SLIP-39 Mnemonics\n\nLater, if you need to recover the Ethereum wallet, keep entering SLIP-39 mnemonics until the secret\nis recovered (invalid/duplicate mnemonics will be ignored):\n\n $ python3 -m slip39.recovery -v # or run: slip39-recovery -v\n Enter 1st SLIP-39 mnemonic: sister acid acrobat romp anxiety laser cricket cricket mental veteran phantom grownup skunk anatomy unhappy ocean mayor promise wrote romp\n 2021-12-29 13:24:25 slip39.recovery Could not recover SLIP-39 master secret with 1 supplied mnemonics: Insufficient number of mnemonic groups. The required number of groups is 2.\n Enter 2nd SLIP-39 mnemonic: a bc\n 2021-12-29 13:24:53 slip39.recovery Could not recover SLIP-39 master secret with 2 supplied mnemonics: Invalid mnemonic word 'a'.\n Enter 3rd SLIP-39 mnemonic: sister acid ceramic roster already quiet erode rainbow swing credit piece puny senior listen husky crowd learn priority hand watch\n 2021-12-29 13:24:58 slip39.recovery Could not recover SLIP-39 master secret with 3 supplied mnemonics: Invalid mnemonic word 'a'.\n Enter 4th SLIP-39 mnemonic: sister acid ceramic scared domestic exact finger holy execute lift spark yoga medical grief revenue junction elite flexible inform predator\n 2021-12-29 13:25:14 slip39.recovery Recovered SLIP-39 secret with 3 (1st, 3rd, 4th) of 4 supplied mnemonics\n 2021-12-29 13:25:14 slip39.recovery Recovered SLIP-39 secret; To re-generate, send it to: python3 -m slip39 --secret -\n 32448aabb50cb6b022fdf17d960720df\n\nFinally, regenerate the Ethereum wallet, perhaps including an encrypted JSON wallet file for import\ninto a software wallet; note that the same Ethereum wallet address 0x8FBC...3bf1 is recovered:\n\n $ python3 -m slip39 --secret 32448aabb50cb6b022fdf17d960720df --json -\n 2022-01-26 14:06:14 slip39 It is recommended to not use '-s|--secret <hex>'; specify '-' to read from input\n 2022-01-26 14:06:14 slip39 ETH m/44'/60'/0'/0/0 : 0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1\n 2022-01-26 14:06:14 slip39 BTC m/84'/0'/0'/0/0 : bc1q6u7qk0tepkxdm8wkhpqzwwy0w8zfls9yvghaxq\n JSON key file password:\n 2022-01-26 14:06:21 slip39 Wrote JSON SLIP39's encrypted ETH wallet 0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1 derived at m/44'/60'/0'/0/0 to: SLIP39-2022-01-26+14.06.14-ETH-0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1.json\n 2022-01-26 14:06:21 slip39 Wrote SLIP39-encoded wallet for '' to: SLIP39-2022-01-26+14.06.14-ETH-0x8FBCe53111817DcE01F9f4C4A6319eA1Ca0c3bf1.pdf\n\nThe whole toolchain is suitable for pipelining:\n\n $ python3 -m slip39 --text --no-card -q \\\n | sort -r \\\n | python3 -m slip39.recovery \\\n | python3 -m slip39 --secret - --no-card -q\n 2021-12-28 10:55:17 slip39 ETH m/44'/60'/0'/0/0 : 0x68dD9B59D5dF605f4e9612E8b427Ab31187E2C54\n 2021-12-28 10:55:18 slip39.recovery Recovered SLIP-39 secret with 4 (1st, 2nd, 7th, 8th) of 8 supplied mnemonics\n 2021-12-28 10:55:18 slip39 ETH m/44'/60'/0'/0/0 : 0x68dD9B59D5dF605f4e9612E8b427Ab31187E2C54\n\n## SLIP-39 Mnemonic Cards PDF\n\nHere's an example of PDF containing the SLIP-39 recovery mnemonic cards produced:\n\n![SLIP-39 Mnemonic Cards PDF][slip39-cards]\n\nIf desired, you can output encrypted \"Paper Wallets\", compatible for import into standard software\ncryptocurrency wallets (BIP-38 for Bitcoin, etc., and standard JSON wallets for Ethereum):\n\n![Encrypted Paper Wallets PDF][slip39-wallets]\n\n[slip39-cards]: https://github.com/pjkundert/python-slip39/raw/master/images/slip39-cards.png \"SLIP-39 Mnemonic Cards PDF\"\n[slip39-wallets]: https://github.com/pjkundert/python-slip39/raw/master/images/slip39-wallets.png \"Encrypted Paper Wallets PDF\"\n",
"bugtrack_url": null,
"license": "Dual License; GPLv3 and Proprietary",
"summary": "Standards-compliant SLIP-39 cryptocurrency seed generation and recovery, compatible with Trezor hardware wallets",
"version": "12.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/pjkundert/python-slip39/issues",
"Homepage": "https://github.com/pjkundert/python-slip39"
},
"split_keywords": [
"ethereum",
"bitcoin",
"dogecoin",
"litecoin",
"cryptocurrency",
"slip-39",
"bip-39",
"seed",
"recovery",
"pdf",
"bip-38",
"paper",
"wallet"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "17bf67cb426d25790f9d59de38abef2a6279f6278a183a819b0c1f2d30cce31b",
"md5": "0e3d060fb6524dcbe5fbc460d1091856",
"sha256": "e3eb229feb5262ab53c3181e9bc9e8af52b7ebd58c14c0eb1cef89f5b441148e"
},
"downloads": -1,
"filename": "slip39-12.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0e3d060fb6524dcbe5fbc460d1091856",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 2522216,
"upload_time": "2024-05-15T16:12:00",
"upload_time_iso_8601": "2024-05-15T16:12:00.474899Z",
"url": "https://files.pythonhosted.org/packages/17/bf/67cb426d25790f9d59de38abef2a6279f6278a183a819b0c1f2d30cce31b/slip39-12.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a9b77b532671a5475e0956daa7a32e532425d530419b97b029a327b1c464e331",
"md5": "e5b4f742ad7e1c9f842302559bbe9763",
"sha256": "22e15cebe8e69ed885c60442ced47d1d3178006c76ca037f7efe6855f359d14f"
},
"downloads": -1,
"filename": "slip39-12.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e5b4f742ad7e1c9f842302559bbe9763",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 5004620,
"upload_time": "2024-05-15T16:12:05",
"upload_time_iso_8601": "2024-05-15T16:12:05.979462Z",
"url": "https://files.pythonhosted.org/packages/a9/b7/7b532671a5475e0956daa7a32e532425d530419b97b029a327b1c464e331/slip39-12.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-15 16:12:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pjkundert",
"github_project": "python-slip39",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "slip39"
}