A high-performance, multi-threaded Bitcoin wallet password recovery system with GPU acceleration and integrated graphics support. Designed for legitimate wallet recovery purposes with no blockchain download required for Bitcoin Core wallet.dat files.
β οΈ Legal Notice: This software is intended for legitimate wallet recovery only. Users must own the wallets they attempt to recover and comply with all applicable laws.
- Features
- Supported Wallet Formats
- Quick Start - wallet.dat Recovery
- Installation
- Usage Examples
- Performance
- Continuous Integration
- Documentation
- Contributing
- License
- Security
- Multi-threaded C++ Core: Optimized brute-force password recovery engine
- GPU Acceleration: CUDA and OpenCL support for discrete and integrated graphics
- Lightweight wallet.dat Recovery: No blockchain download required (saves 400+ GB)
- Multiple Wallet Formats: Support for wallet.dat, Electrum, and other common formats
- Blockchain API Integration: Real-time balance checking without full Bitcoin node
- Private Key Extraction: Export keys in WIF, hex, JSON, CSV, and Electrum formats
- Scalable Architecture: Designed for Linux clusters and AWS EC2 deployment
- Advanced Password Generation: Configurable permutation algorithms and dictionary support
- Progress Tracking: Real-time progress monitoring and result logging
- Thread-Safe Operations: Optimized for multi-core processing
Wallet Type | Format | Blockchain Download | Balance Checking | Private Key Export |
---|---|---|---|---|
Bitcoin Core | wallet.dat | β Not Required | β Real-time API | β WIF/Hex/JSON |
Electrum | .wallet | β Not Required | β Built-in | β Multiple formats |
MultiBit | .wallet | β Not Required | β API-based | β Standard formats |
Armory | .wallet | β Not Required | β API-based | β Standard formats |
BIP38 | Encrypted Keys | β Not Required | β API-based | β Decrypted WIF |
- No 400+ GB blockchain download required
- Real-time balance checking via Blockstream, Blockchair, BlockCypher APIs
- Complete private key extraction with compressed/uncompressed addresses
- Multiple export formats: Text, JSON, CSV, Electrum-compatible
- Offline operation - only connects for balance verification
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y build-essential cmake git libssl-dev libcurl4-openssl-dev libjsoncpp-dev
# CentOS/RHEL
sudo yum groupinstall -y "Development Tools"
sudo yum install -y cmake3 git openssl-devel libcurl-devel jsoncpp-devel
# macOS (with Homebrew)
brew install cmake openssl curl jsoncpp
# Clone the repository
git clone https://github.com/vishwamartur/btc_recovery.git
cd btc_recovery
# Build with automatic dependency detection
./scripts/build.sh
# Or build manually
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
# 1. Backup your wallet.dat file first!
cp wallet.dat wallet.dat.backup
# 2. Analyze wallet structure
./build/btc-recovery --analyze-wallet /path/to/wallet.dat
# 3. Quick recovery with common passwords
./build/btc-recovery --config config/wallet_dat_recovery.yaml --preset quick --wallet /path/to/wallet.dat
# 4. Comprehensive recovery (dictionary + brute force)
./build/btc-recovery --config config/wallet_dat_recovery.yaml --preset comprehensive --wallet /path/to/wallet.dat
# 5. If you know the password, just extract keys and check balances
./build/btc-recovery --wallet /path/to/wallet.dat --password "your_password" --extract-keys
- β No blockchain download - Uses blockchain APIs for balance checking
- β Private key extraction - Exports keys in multiple formats
- β Real-time balance checking - Shows which addresses have funds
- β Multiple export formats - Text, JSON, CSV, Electrum-compatible
- β Secure processing - Works offline, only connects for balance checks
- OS: Linux (Ubuntu 18.04+), macOS 10.14+, Windows 10+
- CPU: Multi-core processor (4+ cores recommended)
- RAM: 4GB minimum, 8GB+ recommended
- GPU: Optional - NVIDIA (CUDA), AMD/Intel (OpenCL), or integrated graphics
- Network: Internet connection for blockchain API balance checking
git clone https://github.com/vishwamartur/btc_recovery.git
cd btc_recovery
./scripts/build.sh
# With CUDA support (NVIDIA GPUs)
ENABLE_CUDA=1 ./scripts/build.sh
# With OpenCL support (AMD/Intel GPUs)
ENABLE_OPENCL=1 ./scripts/build.sh
# With both CUDA and OpenCL
ENABLE_CUDA=1 ENABLE_OPENCL=1 ./scripts/build.sh
# Build Docker image
docker build -t btc-recovery .
# Run with wallet.dat file
docker run -v /path/to/wallet:/data btc-recovery --wallet /data/wallet.dat
# Test common passwords
./btc-recovery --wallet wallet.dat --passwords "password,123456,bitcoin,wallet"
# Dictionary attack
./btc-recovery --wallet wallet.dat --dictionary common_passwords.txt
# Brute force (short passwords)
./btc-recovery --wallet wallet.dat --charset lowercase --min-length 6 --max-length 8
# GPU-accelerated recovery
./btc-recovery --wallet wallet.dat --gpu --charset mixed --max-length 10
# Cluster recovery across multiple machines
./btc-recovery --wallet wallet.dat --cluster --node-id 0 --total-nodes 4
# Custom password patterns
./btc-recovery --wallet wallet.dat --prefix "bitcoin" --suffix "123" --charset digits
# Set API keys for higher rate limits
export BLOCKCYPHER_API_KEY="your-api-key-here"
export BLOCKCHAIR_API_KEY="your-api-key-here"
# Run recovery with API keys
./btc-recovery --wallet wallet.dat --config config/wallet_dat_recovery.yaml
CPU Type | Passwords/Second |
---|---|
4-core CPU | 10,000-50,000 |
8-core CPU | 20,000-100,000 |
16-core CPU | 40,000-200,000 |
GPU Type | Passwords/Second |
---|---|
Discrete GPUs | |
GTX 1060 | 100,000-500,000 |
GTX 1650 Ti | 200,000-800,000 |
GTX 1650 Series | 150,000-650,000 |
RTX 3070 | 500,000-2,000,000 |
RTX 4090 | 1,000,000-5,000,000 |
Integrated Graphics | |
Intel HD Graphics | 5,000-20,000 |
Intel Iris Graphics | 15,000-50,000 |
AMD Vega APU | 20,000-80,000 |
NVIDIA Tegra Orin | 50,000-200,000 |
Performance varies based on wallet type, password complexity, and system configuration.
- Use GPU acceleration for 10-100x performance improvement
- Enable cluster mode for distributed processing
- Start with dictionary attacks before brute force
- Use integrated graphics on laptops for power efficiency
- Configure API keys to avoid rate limiting during balance checks
The project uses comprehensive GitHub Actions workflows for automated testing, quality assurance, and deployment:
- Multi-platform builds: Ubuntu 20.04/22.04, Windows 2022, macOS 12
- Multiple compilers: GCC, Clang, MSVC
- GPU testing: Both CUDA and OpenCL configurations
- Automated testing: Unit tests with coverage reporting
- Dependency caching: Faster builds with intelligent caching
- Static analysis: cppcheck, clang-tidy, include-what-you-use
- Code formatting: clang-format with consistent style
- Security scanning: CodeQL and Semgrep vulnerability detection
- License compliance: Automated license header verification
- Multi-platform binaries: Linux, Windows, macOS releases
- Docker images: Multi-architecture container builds
- Release automation: Automatic changelog and artifact generation
- Version management: Semantic versioning with Git tags
- API documentation: Automated Doxygen generation
- Link validation: Markdown link checking and badge verification
- GitHub Pages: Automatic documentation deployment
- Format validation: Markdown linting and style checking
- Setup Guide - Detailed installation and configuration
- Project Overview - Architecture and technical details
- Contributing Guide - How to contribute to the project
- recovery.yaml - General recovery configuration
- wallet_dat_recovery.yaml - Bitcoin Core wallet.dat specific
- gpu.yaml - GPU acceleration settings
- integrated_gpu_presets.yaml - Integrated graphics presets
- basic_recovery.cpp - Simple recovery example
- wallet_dat_recovery.cpp - Complete wallet.dat recovery
- integrated_gpu_recovery.cpp - Integrated graphics usage
We welcome contributions! Please see our Contributing Guide for details.
# Fork and clone the repository
git clone https://github.com/your-username/btc_recovery.git
cd btc_recovery
# Install development dependencies
sudo apt-get install -y build-essential cmake libssl-dev libcurl4-openssl-dev libjsoncpp-dev
# Build and test
./scripts/build.sh
cd build && ctest --output-on-failure
- Additional wallet format support
- Performance optimizations
- GPU kernel improvements
- Documentation and examples
- Testing and bug reports
This project is licensed under the MIT License - see the LICENSE file for details.
- Legitimate Use Only: This software is intended for recovering your own wallets
- Legal Compliance: Users must comply with local laws and regulations
- No Warranty: This software is provided as-is without guarantees
- Security: Always backup wallet files before attempting recovery
- Only use this software to recover wallets you own or have explicit authorization to recover
- Never use this software for unauthorized access attempts
- Comply with all applicable computer crime laws in your jurisdiction
- Offline Operation: Private keys never leave your system
- Secure Memory Handling: Sensitive data is properly cleared
- No Network Transmission: Only balance checking connects to internet
- Multiple Export Formats: Redundant recovery data storage
If you discover a security vulnerability, please report it privately to the maintainers.
- BitPay Recovery Methodology: Inspiration for lightweight wallet.dat recovery
- Bitcoin Core: Reference implementation for wallet format understanding
- OpenSSL: Cryptographic operations
- CUDA/OpenCL: GPU acceleration frameworks
- Blockchain APIs: Blockstream.info, Blockchair.com, BlockCypher.com
- GitHub Issues: Report bugs and request features
- Documentation: Check the
docs/
directory for detailed guides - Examples: Review the
examples/
directory for usage patterns
btc-recovery/
βββ src/ # C++ source files
β βββ core/ # Core recovery engine
β βββ wallets/ # Wallet format handlers
β βββ gpu/ # GPU acceleration modules
β βββ utils/ # Utility functions
βββ include/ # Header files
βββ config/ # Configuration files
βββ scripts/ # Build and deployment scripts
βββ docs/ # Documentation
βββ tests/ # Unit tests
βββ examples/ # Example configurations
- C++17 compatible compiler (GCC 8+ or Clang 7+)
- CMake 3.15+
- OpenSSL development libraries
- CUDA Toolkit (optional, for GPU acceleration)
- OpenCL development libraries (optional)
# Clone and navigate to project
cd btc-recovery
# Create build directory
mkdir build && cd build
# Configure with CMake
cmake .. -DCMAKE_BUILD_TYPE=Release
# Build the project
make -j$(nproc)
# Basic brute-force recovery
./btc-recovery --wallet wallet.dat --charset lowercase --min-length 6 --max-length 12
# Dictionary attack
./btc-recovery --wallet wallet.dat --dictionary passwords.txt --rules common
# GPU-accelerated recovery
./btc-recovery --wallet wallet.dat --gpu --charset mixed --threads 1024
The system uses YAML configuration files for advanced settings:
config/recovery.yaml
: Main recovery parametersconfig/cluster.yaml
: Cluster deployment settingsconfig/gpu.yaml
: GPU acceleration options
- CPU: Utilizes all available cores with optimized thread pools
- Memory: Efficient memory management with configurable buffer sizes
- GPU: Supports multiple GPUs with work distribution
- Network: Cluster coordination for distributed processing
This tool is intended for legitimate wallet recovery purposes only. Users must:
- Own the wallet files they are attempting to recover
- Comply with local laws and regulations
- Use responsibly and ethically
This project is for educational and legitimate recovery purposes only.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
For support and questions, please check the documentation in the docs/
directory.