Metadata-Version: 2.4
Name: slip39
Version: 14.0.2
Summary: Standards-compliant SLIP-39 cryptocurrency seed generation and recovery, compatible with Trezor hardware wallets
Author-email: Perry Kundert <perry@dominionrnd.com>
License-Expression: GPL-3.0-or-later OR LicenseRef-Proprietary
Project-URL: Bug Tracker, https://github.com/pjkundert/python-slip39/issues
Project-URL: Homepage, https://github.com/pjkundert/python-slip39
Keywords: Ethereum,Bitcoin,Dogecoin,Litecoin,cryptocurrency,SLIP-39,BIP-39,seed,recovery,PDF,BIP-38,paper,wallet
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Environment :: Console
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: COPYING
Requires-Dist: base58<3,>=2.0.1
Requires-Dist: chacha20poly1305>=0.0.3
Requires-Dist: click<9,>=8.1.3
Requires-Dist: crypto-licensing<6,>=5.2.3
Requires-Dist: fpdf2<3,>=2.7.6
Requires-Dist: shamir-mnemonic-slip39<0.5,>=0.4.0
Requires-Dist: hdwallet-slip39<5,>=4.0.3
Requires-Dist: tabulate-slip39>=0.10.6
Requires-Dist: mnemonic<1,>=0.21
Requires-Dist: qrcode>=7.3
Provides-Extra: gui
Requires-Dist: FreeSimpleGUI<6,>=5.2; extra == "gui"
Provides-Extra: serial
Requires-Dist: pyserial>=3.5; extra == "serial"
Provides-Extra: wallet
Requires-Dist: eth-account<0.12,>=0.11.3; extra == "wallet"
Provides-Extra: invoice
Requires-Dist: eth-account<0.12,>=0.11.3; extra == "invoice"
Requires-Dist: py-solc-x<1.2,>=1.1.1; extra == "invoice"
Requires-Dist: pycryptodome<4,>=3.16; extra == "invoice"
Requires-Dist: requests<3,>=2.20; extra == "invoice"
Requires-Dist: dkimpy[ed25519]<2,>=1.0.5; extra == "invoice"
Requires-Dist: web3[tester]==6.20.4; extra == "invoice"
Requires-Dist: eth-tester[py-evm]<0.12.0b1,>=0.11.0b1; extra == "invoice"
Requires-Dist: py-geth<4,>=3.14.0; extra == "invoice"
Provides-Extra: tests
Requires-Dist: aiosmtpd<2,>=1.4; extra == "tests"
Requires-Dist: numpy; extra == "tests"
Requires-Dist: flake8; extra == "tests"
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-cov; extra == "tests"
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: setuptools; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Dynamic: license-file

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] project (and the [SLIP-39 macOS/win32 App]) 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 [derivation path] *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, BNB, 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 Safe 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], 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.
