Skip to main content

Cryptocurrency Wallet Compact Library

Project description

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

Project details


Download files

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

Source Distribution

cryptowall-1.0.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptowall-1.0.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file cryptowall-1.0.0.tar.gz.

File metadata

  • Download URL: cryptowall-1.0.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for cryptowall-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d3b22d20ce0c8e0abf1b5135a6a96acef79db903ab2cbd3aad1f38c959eb79fa
MD5 6845da67bfdd88295419c53be6063bbb
BLAKE2b-256 efdf279f0a63d690e7d1de4e72b147afd44f7f01e8f196dc8b332395495600e2

See more details on using hashes here.

File details

Details for the file cryptowall-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cryptowall-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for cryptowall-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8431c0c8bf27d7cab4f3b79eef65a9a24265f3840a548d0c205119a91520a083
MD5 3b91f9d621123b24d2a10caae005709e
BLAKE2b-256 ec286319016fff7ff3087afb9883d999b62d27f59f9ec80759d6702eee7f512d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page