This is my first project written in rust, so please if you have any issues feel free to open them or if you have suggestions on how I can improve my code. It's not actually bruteforcing metamask but rather just using Blockscan's API.
People tend to forget their mnemonics or passwords, or even send someone ethereum but in the wrong network/address. There are still some lost wallets which have balance in them and nobody can access them. Metamask isn't really the target of this but it just happens to be very popular with a lot of ethereum networks.
It is not illegal to try to find these wallets. Just like a treasure chest or lost pile of gold, the owner of them either died or just forgot about it and if you're lucky to find one, then you can claim it for yours.
Dont steal active wallets, Im not responsible for what you would do with this. It's not my responsibility if you do something wrong. It takes so much time to find one lost wallet so goodluck!
- Low memory usage - Only using about 20MB of RAM, so you can run this without affecting your daily workflow.
- Minimum CPU usage - Only one of spike of CPU every second. Unlike other options where hashing will inevitably impact your CPU.
- Realiable - It uses an online API to check the balance of the address instead of doing it offline where the user is required to install a very big database.
- Blazingly fast - It maximizes the performance while scanning all of the generated address and still maintaining a low memory usage using asynchronous code.
- Binary-only: Unlike other scripts where it is interpreted at runtime, since rust compiles a program to a binary, there is no need for you to install an interpreter or compiler.
This works by efficiently generating 12 words mnemonic and hashing it to an
ethereum address. 100 pairs are generated in a matter of 50ms
which is
extremely fast and only the network and API calls take much of the time.
It uses Blockscan APIs and its incredible ecosystem for each of the network as they all have the same framework of API. Each API call process 20 addresses on 15 networks concurrently being called in 5 threads for a total of 1500 responses per second.
The goal of this project is to be able to run it without hitting the CPU and memory too much (which both python and javascript suffered through when I tried to write it from those languages) so I can run the program 24/7.
You can do any of the following below:
Grab the latest release from GitHub:
- Install the binary from Release
- Run
cargo install --git https://github.com/Sheape/metamask-bruteforce
from your terminal
Alternatively, you can clone the repo and build it manually from source:
git clone https://github.com/Sheape/metamask-bruteforce.git
cd metamask-bruteforce
cargo build --release
mv .env.template .env
sudo cp ./target/release/metamask-bruteforce /usr/bin/metamask-bruteforce
- Install the package
- Rename
.env.template
to.env
or create one if you've installed from binary. - Create an account to each of the following sites:
- Create an API key for each of the network.
- Replace 'YOUR-API-KEY' to your api key.
- Run
metamask-bruteforce
from the terminal. Make sure.env
is in the same directory as where you've installed it. - If you found a wallet, it will be written in
found.txt
with the mnemonic, address, balance and which network it came from.