I have used bitaddress.org to create a brain wallet for my Bitcoin. Now I would like to create a brain wallet for my Ethereum using Bitcoin Improvement Proposals (BIP) 32/39/44/49 technologies. Is there any reputable tool (preferably similar to bitaddress.org) or open source command line tools I can use to generate a brain address for Ethereum?

Thank you all

  • 4
    I'm voting to close this question as off-topic because it would be better asked on the Ethereum stackexchange.
    – G. Maxwell
    Commented Jan 24, 2019 at 18:50

3 Answers 3


Don't use a sha512 brainwallet generator like bitaddress.org to generate your brainwallet. Many people have lost their money by doing so.

Instead use a more secure salted scrypt like warpwallet.

For Ethereum, I made a warpwallet implementation here, that is available as a web version and as a go executable. For extra security you should generate the addresses offline.

  • Thanks @David I read some problems with brain wallets. As far as I understood, it is because people used not secure passphrase. I chose something complicated and "not human". I was not too sure from the article...Am I safe? In case I chose some weird passphrase to generate the keys, am I safe? Thanks!
    – Yura
    Commented Nov 11, 2017 at 6:41
  • @Yura If you choose the passphrase in a random way (e.g. by using a dice), have a big alphabet (upper and lower case letters, numbers, symbols..) and it's long enough (20+ characters for the sha512 brainwallet, 8+ characters for the salted warpwallet) the it's safe. If the passphrase you choose just looks random but it really isn't (e.g. you used the first letters of each word of a obscure song) then it's not safe. Using a harder algorithm and salt makes an attach orders of magnitude harder, is easy and there is no reason not to do it. Commented Nov 12, 2017 at 11:00

This is a fork of warp wallet with the ability to generate ethereum and other coins using your passphrase. It's meant to be memory and time intensive to prevent brute force guessing.

fyi, i'm the creator of it. If that gives you a piece of mind. ;)


enter image description here


The approach below is very flexible because it applies not only to Ethereum but other cryptos as well that follow the BIP 32,39 and 44 Hierarchical Deterministic (HD) wallet standards. Because the BIP 39 Mnemonic conversions inherently applies Password Based Key Derived Function 2 (PBKDF2) that uses 2048 rounds of HMAC-SHA512 hashing that will partially compensate for poorly chosen brain wallets with little entropy.

Obviously, your brain wallet phrase, your BIP 39 seed words, and your BIP 39 Passphrase should be kept private, and all operation should be performed on an offline trusted computer.

Step 2 calculates the BIP 44 private key path for Ethereum, m/44'/60'/0'/0/0. Results for Step 3 can be easily validated by configuring a Trezor with the BIP 39 seed words provided below and a BIP 39 Passphrase. (Ledger wallets use a different non-standard HD path for Ethereum.)

1. Computing BIP 39 seed words from from what should be a complex brain wallet:

% echo -n "This is how you can create a BIP 39 brain wallet that is applied to Ethereum" | bx base16-encode | bx sha256 | bx mnemonic-new

game bless rather reward fun person negative manage walnut blanket normal swamp glue garbage deer flip immense assault sponsor matter ethics scare cushion loop

See mnemonic-new for details for using bitcoin-explorer commands.

2. Computing the first of billions of Ethereum HD Wallet Private Keys, m/44'/60'/0'/0/0:

% echo "game bless rather reward fun person negative manage walnut blanket normal swamp glue garbage deer flip immense assault sponsor matter ethics scare cushion loop" | bx mnemonic-to-seed -p "Your private HD Passphrase" | bx hd-new | bx hd-private -d -i 44 | bx hd-private -d -i 60 | bx hd-private -d -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-to-ec


3. Computing the associated address for the private key:

% echo -n 469225ff5a9fe8eea420568657792a2a1beb313db2dba607bdc59661f058c376 | bx ec-to-public -u | sed 's/^..//' | ./kec | cut -c 25-64


Not the answer you're looking for? Browse other questions tagged or ask your own question.