Multi-chain bulk wallet generator and vanity address finder.
Supports Ethereum, BSC, Bitcoin, and Solana.
Fully offline. Multi-threaded. C++17.
| Chain | Curve | Address Format |
|---|---|---|
| ETH | secp256k1 | 0x + 40 hex chars |
| BSC | secp256k1 | 0x + 40 hex chars (EVM-compatible) |
| BTC | secp256k1 | Base58Check, starts with 1 |
| SOL | ed25519 | Base58, 32-44 chars |
| Library | Purpose |
|---|---|
| libsecp256k1 | ETH/BSC/BTC key generation |
| libsodium | Solana ed25519 keypairs |
| OpenSSL | SHA-256, RIPEMD-160 for BTC |
# Install vcpkg if you don't have it
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && bootstrap-vcpkg.bat && cd ..
# Build
cd wallet-gen
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake
cmake --build . --config Release
sudo apt install -y build-essential cmake libssl-dev libsecp256k1-dev libsodium-dev
cd wallet-gen
mkdir build && cd build
cmake ..
make -j$(nproc)
brew install cmake openssl libsodium secp256k1
cd wallet-gen
mkdir build && cd build
cmake ..
make -j$(sysctl -n hw.ncpu)
wallet-gen [OPTIONS]
OPTIONS:
--chain <eth|bsc|btc|sol> Target chain (default: eth)
--mode <bulk|vanity> Run mode (default: bulk)
--count <N> Wallets to generate in bulk mode (default: 1000)
--pattern <string> Vanity pattern to search for
--suffix <string> Suffix pattern (for --vanity both)
--vanity <prefix|suffix|both> Vanity match type (default: prefix)
--threads <N> Thread count (default: auto-detect)
--output <filename> Output file base name (default: wallets)
--format <csv|json|both> Output format (default: csv)
--case Enable case-sensitive matching
--help Show help
# Generate 10,000 ETH wallets to CSV
./wallet-gen --chain eth --mode bulk --count 10000 --output eth_wallets
# Find ETH vanity address starting with "dead"
./wallet-gen --chain eth --mode vanity --pattern dead --vanity prefix
# Find BTC address starting with "1Chanu"
./wallet-gen --chain btc --mode vanity --pattern Chanu --vanity prefix --case
# Find SOL address starting with "Sol" and ending with "ana"
./wallet-gen --chain sol --mode vanity --pattern Sol --suffix ana --vanity both
# Bulk generate 500 BTC wallets, JSON output, 8 threads
./wallet-gen --chain btc --mode bulk --count 500 --threads 8 --format json
chmod 600 wallets.csv (Linux/macOS) after generation| Chain | Speed (per core) |
|---|---|
| ETH/BSC | ~150k–300k addr/sec |
| BTC | ~100k–200k addr/sec |
| SOL | ~200k–400k addr/sec |
Scales linearly with core count (lock-free hot path).
MIT