Welcome to Plutus! This tool is designed to hunt for Bitcoin wallets that contain funds. It works by generating random private keys, converting them to addresses, and checking them against a database of known funded addresses.
- Install Python: You need Python 3.9 or newer. Download it here.
- Get the Code:
git clone https://github.com/Isaacdelly/Plutus.git plutus cd plutus - Install Requirements:
pip3 install -r requirements.txt
To start the brute forcer with default settings (fastest mode), simply run:
python3 plutus.py- Generate: The program picks a random starting private key.
- Scan: It uses Elliptic Curve Point Addition to sequentially scan keys from that starting point. This is mathematically equivalent to checking
k, k+1, k+2...but is thousands of times faster than generating completely random keys. - Convert: It calculates the Bitcoin address (P2PKH) for each key.
- Check: It instantly checks if this address is in the database of funded wallets using a Bloom Filter (a super-fast memory structure).
- Save: If a match is found, the private key, public key, and address are saved to a file named
plutus.txt.
Plutus is highly optimized for performance. It takes approximately 0.000073 seconds to generate and check a single Bitcoin address on a modern CPU core.
Because this program utilizes parallel processing, it scales linearly with your hardware. Your total throughput will be approximately:
CPU Cores / 0.000073 keys per second.
When running normally, you will see the database loading, followed by a live speed counter:
reading database files...
Progress: 100.00%
DONE
database size: 21568445
processes spawned: 15
Speed: 675000 keys/sec
If a wallet with money is found, it saves to plutus.txt:
hex private key: 5A4F3F...
WIF private key: 5JW4RC...
public key: 04393B...
address: 1Kz2CT...
You can customize how Plutus runs using command-line arguments.
By default, Plutus runs silently and only shows a speed counter. If you want to see every single Bitcoin address being generated in real-time, use this flag.
- Usage:
python3 plutus.py -v 1 - Note: This significantly slows down the program because printing to the screen takes time.
Plutus uses all available CPU cores minus one by default. This ensures your computer remains responsive while the program runs. If you want to use a specific number of cores (or all of them), you can specify it here.
- Usage:
python3 plutus.py -c 4(Runs on 4 cores)
Want to know how fast your computer generates a single address? Run the speed test.
- Usage:
python3 plutus.py time
Shows the help menu.
- Usage:
python3 plutus.py help
Runs a self-check to verify that the cryptographic functions (Private Key -> WIF -> Public Key -> Address) are calculating correctly.
- Usage:
python3 plutus.py test
Create an issue so I can add more stuff to improve