CRYPTOWALL: THE SIMPLEST CRYPTOCURRENCY WALLET LIBRARY
SUPPORTED COINS: BTC, ETH, BCH, LTC, DOGE, DASH, XRP, SOL, TON
Installation
pip install cryptowall
Usage
import cryptowall as cw
cw.create_wallet("BCH", "VeryStrongPassword", "./tmp")
Functions
- generate_hex_private_key()
Generate a cryptographically secure random 32-byte private key.
Returns a 64-character hex string valid for all supported coins. - hex_to_wif(hex_priv: str, coin: str, compressed: bool)
Convert hex private key to Wallet Import Format (WIF) for BTC, BCH, LTC, DOGE, DASH. - convert_private_key(hex_priv: str, coin: str)
Convert a hex private key to the native format(s) used by coin.
Returns a dict with at least 'hex' and coin-specific format keys. - generate_rsa_keypair(key_size: int)
Generate an RSA key pair.
Returns (pem_private_key, pem_public_key) as PEM strings. - encrypt_private_key(hex_priv: str, password: str)
Encrypt a hex private key using a hybrid RSA plus AES-GCM scheme:- Derive a 256-bit AES key from password via PBKDF2-HMAC-SHA256,
- Encrypt the private key bytes with AES-256-GCM,
- Generate a fresh 2048-bit RSA key pair,
- RSA-OAEP encrypt the AES key plus salt together.
Returns a dict with all material needed for decryption except the RSA private key, which the caller must store securely.
- decrypt_private_key(encrypted: Dict[str, str], password: str)
Reverse of encrypt_private_key, encrypted must be the dict returned by encrypt_private_key.
Returns the hex private key string. - generate_public_key_and_address(hex_priv: str, coin: str)
Derive the public key and wallet address for coin from a hex private key.
Returns a dict with 'public_key' and 'address' (plus any extras). - save_wallet_to_json(coin: str, hex_priv: str, password: str, output_path: str)
Full pipeline:- Encrypt the hex private key,
- Derive public key and address,
- Write JSON file with public key, address, encrypted private key.
Returns the path of the written JSON file.
The RSA private key (required for decryption) is stored in a separate _rsa_private_key.pem file.
- create_wallet(coin: str, password: str, output_dir: str)
Generate a complete wallet for coin:- Random private key,
- All key formats,
- Public key and address,
- Encrypted private key,
- Saved JSON and PEM files.
Returns a summary dict.
Detailed tips, tricks, and examples, can be found at project's repository https://github.com/asinerum/cryptowall
(C) 2026 Asinerum Conlang Project
Metadata
Release files for cryptowall 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cryptowall-1.0.0.tar.gz | 8.8 kB | Without provenance | Details for cryptowall-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cryptowall-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for cryptowall-1.0.0-py3-none-any.whl |
Total release size: 17.7 kB
Release files / cryptowall-1.0.0.tar.gz
| Download URL | cryptowall-1.0.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3b22d20ce0c8e0abf1b5135a6a96acef79db903ab2cbd3aad1f38c959eb79fa
|
|
BLAKE2b-256 checksum How to use checksums |
efdf279f0a63d690e7d1de4e72b147afd44f7f01e8f196dc8b332395495600e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / cryptowall-1.0.0-py3-none-any.whl
| Download URL | cryptowall-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8431c0c8bf27d7cab4f3b79eef65a9a24265f3840a548d0c205119a91520a083
|
|
BLAKE2b-256 checksum How to use checksums |
ec286319016fff7ff3087afb9883d999b62d27f59f9ec80759d6702eee7f512d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Security for cryptowall 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.