gitwtfhub

wtf is walletgen?

tonydev15/walletgen — explained in plain English

Analysis updated 2026-05-18

90C++Audience · developerComplexity · 3/5Setup · moderate

TL;DR

A C++ tool that generates and brute-force tests Bitcoin and Ethereum wallets, used to recover a partly-known seed phrase or to search for wallets with an existing balance.

Mindmap

mindmap
  root((walletgen))
    What it does
      Generates seed phrases
      Recovers partial seeds
      Scans for balances
    Tech stack
      C++
      BIP39 BIP44
      Keccak256
    Use cases
      Recover own wallet
      Search known database
      GPU accelerated scan
    Audience
      Developers
      Crypto users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Recover your own Bitcoin wallet when you know most of a twelve word seed phrase but are missing a few words.

REASON 2

Generate all address types for a full seed phrase and check their balances at once.

REASON 3

Search a bundled address database offline for wallets that already hold a balance.

What's in the stack?

C++BIP39Keccak256Makefile

How it stacks up

tonydev15/walletgen2dom/keypadpeng-zhihui/traceapp-arduino
Stars908989
LanguageC++C++C++
Last pushed2017-03-17
MaintenanceDormant
Setup difficultymoderatehardmoderate
Complexity3/54/52/5
Audiencedeveloperdevelopervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Search speed depends heavily on GPU hardware, building from source needs a C++ compiler.

Wtf does this do

WalletGen is a C++ program for generating and testing Bitcoin and Ethereum style crypto wallets in bulk, aimed at recovering wallets whose seed phrases are partly known or lost, and at searching for wallets that already hold a balance. It builds wallets using the same standards real wallets use, called BIP39, BIP44, and Bech32 for Bitcoin, and Keccak256 hashing for Ethereum and other EVM based chains such as BNB and MATIC. Because it is written in C++ rather than Python and can use multiple CPU threads and the graphics card, the README claims it runs far faster than typical brute force scripts. The tool works two ways. First, it can recover a wallet you already own if you know most of a twelve word seed phrase but are missing one or more words: you replace the missing words with an asterisk, and WalletGen tries every possible combination until it finds one that matches a real wallet. Second, it can generate large numbers of random seed phrases and check whether any of them happen to correspond to a wallet that currently holds funds, either by querying blockchain explorers live over the internet or by comparing against a bundled database of known addresses with balances, which is faster because it avoids network lookups. When it finds a wallet with a balance, it stops, prints the details, and saves them to a text file so the seed phrase can be imported into a normal wallet app like Metamask, Trust Wallet, or Electrum. Prebuilt downloads are offered for Windows, macOS, and Linux, and Linux users are also given a tar.gz they can extract and run directly. Building from source requires a C++ compiler and a Makefile. The README notes it does not need an internet connection when searching against its bundled address database, only when checking balances live through blockchain explorers.

Yoink these prompts

Prompt 1
Walk me through recovering a Bitcoin wallet with WalletGen when two words of my seed phrase are missing.
Prompt 2
Explain the difference between WalletGen's internet search mode and its database search mode.
Prompt 3
Show me how to build WalletGen from source using the Makefile.
Prompt 4
List the seed phrase requirements and search symbols WalletGen expects.

Frequently asked questions

wtf is walletgen?

A C++ tool that generates and brute-force tests Bitcoin and Ethereum wallets, used to recover a partly-known seed phrase or to search for wallets with an existing balance.

What language is walletgen written in?

Mainly C++. The stack also includes C++, BIP39, Keccak256.

How hard is walletgen to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is walletgen for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.