explaingit

tony-cote/walletgen

Analysis updated 2026-05-18

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

TLDR

A C++ command line tool that generates Bitcoin and Ethereum-style wallets in bulk and checks each one against known balances, framed as a wallet recovery aid.

Mindmap

mindmap
  root((WalletGen))
    What it does
      Bulk wallet generation
      Balance checking
      Address database lookups
    Tech stack
      C++
      BIP39
      BIP44
      Keccak256
    Use cases
      Seed phrase recovery attempts
      Wallet generation research
    Audience
      Security researchers
      Crypto hobbyists

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

What do people build with it?

USE CASE 1

Regenerate a forgotten seed phrase for a wallet you personally own and can prove ownership of.

USE CASE 2

Study how BIP39, BIP44, and Bech32 combine to derive real wallet addresses.

USE CASE 3

Benchmark CPU and GPU based wallet generation speed against Python-based alternatives.

USE CASE 4

Check a batch of generated addresses against a local database instead of live network queries.

What is it built with?

C++BIP39BIP44Bech32Keccak256

How does it compare?

tony-cote/walletgenadtyahac/acrobat-editormudler/locate-anything.cpp
Stars525353
LanguageC++C++C++
Setup difficultymoderatemoderatemoderate
Complexity3/52/54/5
Audiencedevelopergeneraldeveloper

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Downloadable address databases are over a gigabyte each, GPU acceleration needs compatible hardware.

In plain English

WalletGen is a command line program written in C++ that generates cryptocurrency wallets and checks whether any of them already hold a balance. It works with Bitcoin as well as Ethereum and other chains that use the same underlying technology, such as BNB and Polygon. It builds each wallet using the same standard methods real wallets use: BIP39 for turning a random seed phrase into a wallet, BIP44 for deriving addresses from it, and Bech32 address formatting for Bitcoin, with Keccak256 hashing used for the Ethereum style chains. Once a wallet is generated, WalletGen checks its balance either by comparing the address against a large downloadable list of known addresses with funds, which is faster, or by querying a public blockchain explorer directly over the internet in real time. Because it is written in C++ and can use multiple CPU threads or a graphics card, the README states it runs meaningfully faster than similar tools written in Python. Prebuilt versions are available for Windows, macOS, and Linux, along with an early Android build, and the project also provides large precomputed address databases, over a gigabyte each for Bitcoin and for the combined EVM chains, to speed up local checking without needing constant network requests. The README frames the tool as being for recovering a wallet you have lost track of, by regenerating seed phrases and checking them against known balances, and it includes a short disclaimer that it is meant for research and education, and should only be used with wallets a person owns or has explicit permission to access. In practice, generating and checking large numbers of practically random seed phrases against every known address is a search across other people's wallets as much as it is a way to find one's own, so anyone using it should keep that disclaimer and its limits firmly in mind.

Copy-paste prompts

Prompt 1
Explain how WalletGen derives a Bitcoin address from a BIP39 seed phrase step by step.
Prompt 2
Walk me through the difference between WalletGen's database lookup mode and its live balance check mode.
Prompt 3
Explain why brute forcing seed phrases against the whole keyspace is different from recovering your own lost wallet.
Prompt 4
Show me how Keccak256 hashing is used to derive an Ethereum address in this project.

Frequently asked questions

What is walletgen?

A C++ command line tool that generates Bitcoin and Ethereum-style wallets in bulk and checks each one against known balances, framed as a wallet recovery aid.

What language is walletgen written in?

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

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.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.