Skip to content
Generate Your Own Bitcoin Wallet within 5 Minutes

Generate Your Own Bitcoin Wallet within 5 Minutes

P2PKH address generation using Node.js

We are going to have a look at how to create your own Bitcoin wallets — Testnet and Mainnet, using a simple Node.js script. We can generate as many wallets (public/private key pairs) as you want instantly. We don't need to use any third-party blockchain providers for this, as the wallet generation part is done offline. In order to run the code given in this tutorial, we'll need Node.js installed and configured on your PC which will not take even more than 5 minutes. Without wasting much time on the introduction, let's jump into the implementation part.


We can also create wallets from scratch without these libraries. But it involves more cryptographic algorithms to be implemented. So let's keep it simple.


1. Create a new directory and navigate to it.

mkdir btc-wallet && cd btc-wallet

2. Initialize a new NodeJS project with default config.

npm init --y

3. Install the dependencies.

npm install bip39 bip32 bitcoinjs-lib --save

4. Create a new file "createWallet.js” and add the following:

5. Save the file and run the command.

node createWallet

Output 🎉

The output will be in this format (for testnet). Mainnet addresses start with 1.

Wallet generated:
- Address  : n3WbASeUNKN7skRrrGPQFNTR7emR5qHYSX,
- Key : cTytXtxMRDsVkwQjLgJh9ZXL8FQoxLri5x9Hb9....,
- Mnemonic : fashion famous energy hold badge notice able ...

The Key will be printed in WIF format as we used the toWIF() method. We can also obtain the base58 format by using the toBase58() method.

Cool. We have generated a Bitcoin wallet. Just play around with this code and generate as many wallets as you need.