This software is provided "as is", without warranty of any kind. I the author am not responsible for any lost funds, compromised wallets, or damages incurred from the use of this tool. !!!! Always run this tool in an offline, airgapped environment !!!! and only use it to recover wallets you personally own.
A secure, offline Ethereum Private Key Recovery Engine.
EthRecover is a little but powerful offline tool I designed to recover a wallet i had written down before long time ago and it turned out i had written one wrong letter 🙈🙈 thankfully i fixed it with this script and recovered my 0.2 eth lol 😎 it works on corrupted Ethereum private keys by systematically generating permutations and verifying them against a known target Ethereum address.
💖💖 Its a free tool but if i helped you recover almost lost funds and you want to buy me soda id be thankful ❤
Ethereum and EVM: 0x53d794f73283DBBB69b674D3927A87912824c4f2
Tron: TMCdAYPW1QKXW51DXmDTxtcKVDqX31WERH
Solana: CzaSP3TcdM3cELo1YYEwfzBwe5dEThxJEANjEQ8onUxq
EthRecover is a powerful offline tool designed to recover corrupted Ethereum private keys by systematically generating permutations and verifying them against a known target Ethereum address.
This tool is built for offline/airgapped environments. Given the sensitive nature of private keys:
- Download or clone this repository to a secure machine.
- Disconnect the machine from the internet entirely.
- Run the recovery process.
- Wipe the machine's memory or restart it after you have successfully recovered your key.
- EthRecover does not make any network calls or save unencrypted sensitive data to the disk.
For standard Windows users, the easiest way to run EthRecover is by utilizing the built-in batch script:
- Double click the
run.batfile. - The script will automatically:
- Check your Python installation.
- Create an isolated virtual environment (
.venv). - Install all required dependencies from
requirements.txt. - Launch the Interactive Wizard.
- Follow the on-screen prompts to paste your corrupted private key and target Ethereum address.
If you prefer using the command line manually, open your terminal (Command Prompt, PowerShell, bash, etc.) and follow these steps:
First, create your virtual environment and install the requirements:
python -m venv .venv
# On Windows:
.venv\Scripts\activate
# On Linux / macOS:
source .venv/bin/activate
pip install -r requirements.txtYou can invoke main.py with custom arguments for more targeted recoveries.
Interactive Mode:
python main.pyDirect Mode: Provide the corrupted key and target address directly:
python main.py --corrupted "your_corrupted_key_here" --target "0xYourEthereumAddressHere"(You can also pass a path to a corrupted .json keystore file to --corrupted)
Change Maximum Search Depth (Level 3):
The hex-flip brute force level checks permutations. A higher number checks deeper but drastically increases search time. Maximum recommended is 5.
python main.py --corrupted "key" --target "0xAddress" --max-changes 3Brute Force with Known Prefix (Level 2.9): If you know for a fact that the first few characters of your corrupted key are 100% correct, you can supply them. The tool will brute force the final missing characters.
python main.py --corrupted "key" --target "0xAddress" --known-prefix "aB3d1f"Resume from a Checkpoint:
If you closed the application mid-run (like during a long Level 3 search), EthRecover saves your progress to a ethrecover_checkpoint.json file. You can resume exactly where it left off:
python main.py --resumeEthRecover operates in tiers, progressing from instant format fixes to heavy computational brute-forcing:
- Level 1 & 1.5: Quickly fixes padding, formatting, trailing spaces, and
0x/\xprefixes. - Level 1.7: Swaps adjacent characters to fix "fat-finger" typos.
- Level 2: Substitutes visually ambiguous characters often caused by OCR apps or copying errors (e.g.
0vsO,1vsl). - Level 2.5 & 2.7: Inserts/Deletes single missing or duplicate characters.
- Level 2.9: Prefix brute forcing (Optional).
- Level 3: Full Hex-Flip Hamming distance checking using your machine's multiprocessing power.
- Level 4: Extracts target ciphertext hashes from
.jsonkeystore files for raw checking.
Once EthRecover finds a match, it will present the correct private key in the console terminal. You will also be prompted to save it securely to an encrypted file (recovered_key.enc). You will need to provide an encryption password to save it.