Read the Docs GitHub commit check runs GitHub last commit GitHub commit activity GitHub top language PyPI - Downloads Website
A professional, fast and comprehensive Python library for multi-cryptocurrency wallet generation and management. Supports Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Dash, Ethereum, and Tron networks with all address formats.
- 9 Cryptocurrencies: Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Dash, Zcash, Vertcoin, Ethereum, Tron
- All Address Types: Legacy, Script, SegWit (where supported)
- Ultra-Short Function Names: Minimal API like
btc(),eth(),valid(),check() - Professional DataClasses: Type-safe structure with comprehensive error handling
- Enhanced Validation: Auto-detect and validate all supported cryptocurrencies
- Bulk Operations: Generate multiple wallets efficiently
- Secure Generation: Cryptographically secure random key generation
- Full Backward Compatibility: All legacy functions still work
pip install libit --upgrade
from libit import gen_key, multi_wallet # Generate secure private key private_key = gen_key() # Create multi-crypto wallet wallet = multi_wallet(private_key) # Access different cryptocurrencies btc = wallet.btc() # Bitcoin ltc = wallet.ltc() # Litecoin doge = wallet.doge() # Dogecoin bch = wallet.bch() # Bitcoin Cash dash = wallet.dash() # Dash eth = wallet.eth() # Ethereum trx = wallet.trx() # Tron print(f"BTC Legacy: {btc.addresses.legacy}") print(f"LTC Legacy: {ltc.addresses.legacy}") print(f"ETH Address: {eth['address']}")
from libit import btc_wallet, ltc_wallet, doge_wallet, eth_wallet private_key = "your_private_key_here"
Generate wallets with minimal code:
from libit import btc, ltc, doge, bch, dash, zcash, vtc, eth, trx # Auto-generate private keys and create wallets btc_wallet = btc() ltc_wallet = ltc() doge_wallet = doge() eth_wallet = eth() trx_wallet = trx() print(f"Bitcoin: {btc_wallet.addresses.legacy}") print(f"Litecoin: {ltc_wallet.addresses.legacy}") print(f"Dogecoin: {doge_wallet.addresses.legacy}") print(f"Ethereum: {eth_wallet['address']}") print(f"Tron: {trx_wallet['address']}")
from libit import gen_key, btc_wallet, ltc_wallet, doge_wallet, eth_wallet # Generate with custom private key private_key = gen_key() btc = btc_wallet(private_key) ltc = ltc_wallet(private_key) doge = doge_wallet(private_key) eth = eth_wallet(private_key) print(f"Bitcoin: {btc.addresses.legacy}") print(f"Litecoin: {ltc.addresses.legacy}") print(f"Dogecoin: {doge.addresses.legacy}") print(f"Ethereum: {eth['address']}")
Enhanced validation with ultra-short function names:
from libit import check_addr, is_valid, valid, coin_type, check # Traditional validation result = check_addr("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa") print(f"Valid: {result.valid}") print(f"Coin: {result.coin}") print(f"Type: {result.addr_type}") # Ultra-short validation is_valid_addr = valid("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4") detected_coin = coin_type("LdP8Qox1VAhCzLJNqrr74YovaWYyNBUWvL") quick_check = check("DQE1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa") print(f"valid() → {is_valid_addr}") print(f"coin_type() → {detected_coin}") # ltc print(f"check() → {quick_check.coin}") # doge
Generate multiple wallets efficiently:
from libit import gen_wallets, gen_multi_wallets # Generate 100 Bitcoin wallets btc_wallets = gen_wallets(100, 'btc') for wallet in btc_wallets[:3]: # Show first 3 print(f"BTC: {wallet.addresses.legacy}") # Generate 50 Litecoin wallets ltc_wallets = gen_wallets(50, 'ltc') # Generate multi-cryptocurrency wallets multi_wallets = gen_multi_wallets(10) for wallet in multi_wallets[:2]: # Show first 2 print(f"BTC: {wallet['btc']['addresses']['legacy']}") print(f"ETH: {wallet['eth']['address']}") print(f"ZEC: {wallet['zcash']['addresses']['legacy']}")
Use one private key for all cryptocurrencies:
from libit import multi_wallet, gen_key # Create multi-wallet (auto-generates key) multi = multi_wallet() # Or use custom key key = gen_key() multi = multi_wallet(key) # Access individual cryptocurrencies btc_info = multi.btc() ltc_info = multi.ltc() eth_info = multi.eth() zcash_info = multi.zcash() # Get all supported cryptocurrencies all_wallets = multi.all() print(f"Generated wallets for {len(all_wallets)} cryptocurrencies")
| Coin | Symbol | Legacy | Script | SegWit | Short Function | Full Function |
|---|---|---|---|---|---|---|
| Bitcoin | BTC | ✅ (1...) | ✅ (3...) | ✅ (bc1...) | btc() |
btc_wallet() |
| Litecoin | LTC | ✅ (L...) | ✅ (M...) | ✅ (ltc1...) | ltc() |
ltc_wallet() |
| Dogecoin | DOGE | ✅ (D...) | ✅ (9...) | ❌ | doge() |
doge_wallet() |
| Bitcoin Cash | BCH | ✅ (1...) | ✅ (3...) | ❌ | bch() |
bch_wallet() |
| Dash | DASH | ✅ (X...) | ✅ (7...) | ❌ | dash() |
dash_wallet() |
| Zcash | ZEC | ✅ (t1...) | ✅ (t3...) | ❌ | zcash() |
zcash_wallet() |
| Vertcoin | VTC | ✅ (V...) | ✅ (3...) | ✅ (vtc1...) | vtc() |
vtc_wallet() |
| Ethereum | ETH | ✅ (0x...) | ❌ | ❌ | eth() |
eth_wallet() |
| Tron | TRX | ✅ (T...) | ❌ | ❌ | trx() |
trx_wallet() |
from libit import btc, ltc, doge, eth, trx, valid, check, coin_type # Generate wallets (auto-generates private keys) btc_wallet = btc() eth_wallet = eth() # Validation is_valid = valid("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa") coin = coin_type("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4") result = check("LdP8Qox1VAhCzLJNqrr74YovaWYyNBUWvL")
The library uses Python dataclasses for better structure and type safety. Each wallet function returns a structured WalletInfo dataclass, and validation functions return a ValidationResult dataclass.
from libit import WalletInfo, ValidationResult, AddressSet # All wallet functions return structured dataclasses wallet = btc() # Returns WalletInfo dataclass print(wallet.addresses.legacy) # Type-safe access print(wallet.to_dict()) # Convert to dictionary # Validation returns structured results result = check("address") # Returns ValidationResult dataclass print(result.valid, result.coin, result.addr_type)
Generate multiple wallets efficiently:
from libit import gen_wallets, gen_multi_wallets # Generate 100 Bitcoin wallets btc_wallets = gen_wallets(100, 'btc') # Generate 50 Litecoin wallets ltc_wallets = gen_wallets(50, 'ltc') # Generate 10 multi-cryptocurrency wallets multi_wallets = gen_multi_wallets(10)
Advanced usage includes complete multi-wallet access and professional data structure:
Create a multi-wallet that supports all cryptocurrencies with a single private key:
from libit import multi_wallet wallet = multi_wallet("your_private_key_here") # Get all cryptocurrencies at once all_coins = wallet.all_coins() # Access specific coins btc_info = wallet.btc() print(f"BTC WIF: {btc_info.wif}") print(f"BTC Decimal: {btc_info.decimal}") print(f"Legacy: {btc_info.addresses.legacy}") print(f"Script: {btc_info.addresses.script}")
The library uses Python dataclasses for better structure:
from libit import btc_wallet wallet = btc_wallet("private_key_here") # Professional data structure print(f"Network: {wallet.network}") print(f"Compressed: {wallet.compressed}") print(f"WIF: {wallet.wif}") # Type-safe address access addresses = wallet.addresses print(f"Legacy: {addresses.legacy}") print(f"Script: {addresses.script}")
All legacy functions continue to work:
# Legacy Bitcoin class (still supported) from libit import Bitcoin wallet = Bitcoin("private_key") addresses = wallet.get_all_addresses() # Legacy functions (still supported) from libit import privatekey_addr, generate_bitcoin_wallet addr = privatekey_addr("private_key") new_wallet = generate_bitcoin_wallet() # Legacy Ethereum & Tron (still supported) from libit import Ethereum, tron eth = Ethereum("private_key") trx = tron("private_key")
- Cryptographically Secure: Uses
secretsmodule for random number generation - Input Validation: Comprehensive validation of all inputs with proper error handling
- DataClass Safety: Type-safe data structures prevent runtime errors
- No External Dependencies: Minimal dependencies for maximum security
- Professional Error Handling: Graceful error handling with informative messages
Run the test suite:
python -m pytest tests_enhanced.py -v
Or test basic functionality:
python examples_enhanced.py
gen_key()- Generate secure private keymulti_wallet(key)- Create multi-cryptocurrency walletbtc_wallet(key)- Bitcoin walletltc_wallet(key)- Litecoin walletdoge_wallet(key)- Dogecoin walletbch_wallet(key)- Bitcoin Cash walletdash_wallet(key)- Dash walleteth_wallet(key)- Ethereum wallettrx_wallet(key)- Tron wallet
check_addr(address)- Comprehensive address validationis_valid(address)- Quick validation checkget_coin_type(address)- Auto-detect cryptocurrencyvalidate_multiple(addresses)- Bulk validation
gen_wallets(count, coin_type)- Generate multiple wallets for specific coingen_multi_wallets(count)- Generate multiple multi-crypto wallets
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- Documentation: https://pylibit.github.io/libit/
- Issues: GitHub Issues
- Email: Pymmdrza@gmail.com