XRP Vanity address (wallet) generator
A vanity address is a wallet address containing a few characters you like at the beginning or the end of the wallet address. Of course we can't just generate the address: the address is a derivative from a secret key. So: this tool generates several secret keys per second. The script will test the derived wallet address against one or more keywords you can supply.
How to use this tool
- Download the source of this repository (using
git cloneor by downloading the zip)
- Start your commandline and go to the folder containing the source of this repository
- Install the dependency (ripple-lib) by running
- Fire up the tool and append the keywords you are looking for:
node xrpwallet.js hello pepper johndoe
The example command above will search for wallet addresses containing either hello, pepper or johndoe.
If you use Windows and you don't have NodeJS running: here's a screencap of the steps above (1-5).
- This script will look for your keywords at the beginning or at the end of wallet addresses.
- This script will look for matches case insensitive.
- The longer the keyword you are looking for, the longer it takes to find a match.
- If you want to be make sure the generated wallets + keys are safe, generate offline.
Security / randomness
Serious question. How do we know these addresses are random and not some sort of sequence? @ Reddit
Good question indeed. The only way to be sure is to check the code;
My code is over here and as you can see is invoke the method "api.generateAddress()" - and as you can see on line 1 and 2:
const rippleLib = require('ripple-lib').RippleAPI const api = new rippleLib()
... I use ripple-lib to do this. ripple-lib is from Ripple (the company) - this code is open source as well.
This is how they generate a keypair. They use their own lib ripple-keypairs to do this. The function is on line 17 over here and at line 19 you can see they use the brorand lib. to generate the randomness. This lib. uses the crypto object, a native NodeJS object, by invoking:
More info about this method over here.