Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Latest commit cd1a728 samr7 Merge pull request #14 from fizzisist/master
Display meaningful "value" in oclvanityminer
Failed to load latest commit information.
.gitignore added .gitignore
CHANGELOG Vanitygen 0.22 release.
INSTALL Note that Linux and OS X use the same makefile.
LICENSE Add a copy of the GNU AGPLv3 license to the repository.
Makefile Support Mac OS X in the master Makefile.
Makefile.Win32 Resolve Windows makefile issues
README Fix a typo in the README.
avl.h Move AVL tree out of pattern.c. Minor formatting and function naming cleanups to OpenCL kernel.
keyconv.c Add -G option to keyconv, to generate an address and display the hex
oclengine.c Fix error message in OpenCL engine config function.
oclengine.h Initial multi-device OpenCL support for oclvanitygen and oclvanityminer.
oclvanitygen.c added simulate (-n) and stop_after_first_match (-1) options
oclvanityminer.c Change BTC/Mkey to BTC/Gkey
pattern.c added simulate (-n) and stop_after_first_match (-1) options
pattern.h Merge pull request #12 from FiloSottile/options_n_1
util.c Add support for base public keys to vanitygen and oclvanitygen.
util.h Add support for base public keys to vanitygen and oclvanitygen.
vanitygen.c added simulate (-n) and stop_after_first_match (-1) options
winglue.c Add oclvanityminer. Move OpenCL engine code to oclengine.c.
winglue.h Provide strtok_r on Windows.


I'd like to present a standalone command line vanity address generator 
called vanitygen.

There are plenty of quality tools to do this right now already.  So why 
use vanitygen?  The main reason is that it is fast, more than an order 
of magnitude faster than the official bitcoin client with the vanity 
address patch applied.  This is despite the fact that it runs on the 
CPU and does not use OpenCL or CUDA.  Vanitygen is also a bit more 
user-friendly in that it provides feedback on its rate of progress and 
how many keys it has checked.

Vanitygen is written in C, and is provided in source code form and 
pre-built Win32 binaries.  At present, vanitygen can be built on Linux, 
and requires the openssl and pcre libraries.

Vanitygen can generate regular bitcoin addresses, namecoin addresses, 
and testnet addresses.

Vanitygen can search for exact prefixes or regular expression matches.  
When searching for exact prefixes, vanitygen will ensure that the 
prefix is possible, will provide a difficulty estimate, and will run 
about 30% faster.  Exact prefixes are case-sensitive by default, but 
may be searched case-insensitively using the "-i" option.  Regular 
expression patterns follow the Perl-compatible regular expression 

Vanitygen can accept a list of patterns to search for, either on the 
command line, or from a file or stdin using the "-f" option.  File 
sources should have one pattern per line.  When searching for N exact 
prefixes, performance of O(logN) can be expected, and extremely long 
lists of prefixes will have little effect on search rate.  Searching 
for N regular expressions will have varied performance depending on the 
complexity of the expressions, but O(N) performance can be expected.

By default, vanitygen will spawn one worker thread for each CPU in your 
system.  If you wish to limit the number of worker threads created by 
vanitygen, use the "-t" option.

The example below completed quicker than average, and took about 45 sec 
to finish, using both cores of my aging Core 2 Duo E6600:

$ ./vanitygen 1Love
Difficulty: 4476342
[48165 K/s][total 2080000][Prob 37.2%][50% in 21.2s]                           
Pattern: 1Love
Address: 1LoveRg5t2NCDLUZh6Q8ixv74M5YGVxXaN
Privkey: 5JLUmjZiirgziDmWmNprPsNx8DYwfecUNk1FQXmDPaoKB36fX1o

Currently, it is difficult to import the private key into bitcoin.  
Sipa's showwallet branch has a new command called "importprivkey" that 
accepts the base-58 encoded private key.  Vanitygen has been tested to 
work with that version of bitcoin.

Something went wrong with that request. Please try again.