A simple way to create a generated on demand (GOD) offline nano wallet

In the previous posts (see [1-2]) we had considered how to create generated on demand private keys and wallets for ethereum blockchain.


In this post we create a secure, generated on demand (GOD) offline nano wallet and receive free crypto (nano) on the wallet’s address. The method is simple (only three steps), but the initial setup of a secure offline Linux computer may be not so simple for users with no experience for such setups. In this case such users should ask their more experienced friends or relatives to help in the setup.

We will need an offline secure (no viruses, malware, keyloggers, etc.) computer with Linux OS, npm and nanocurrency-web installed. If npm is not installed on this computer, you can install it with one of the following commands:

sudo apt install npm (for Debian, Ubuntu, Mint, etc.)

sudo dnf install npm (for Red Hat, Fedora, etc.)

sudo packman -S npm (for Manjaro, ArchLinux, etc.)

To install nancurrency-web run the following command in the terminal (after installing npm).

npm install nanocurrency-web

A folder “node_modules” should be created in the current directory after the installation. In this current directory ( with the folder “node_modules” ) create two files: package.json and get_wallet.sh

In to the file package.json copy/paste the following text:


"type": "module",

"dependencies": {

"nanocurrency": "^2.5.0",

"nanocurrency-web": "^1.3.6",

"prompt-sync": "^4.2.0"




In to the file get_wallet.sh copy/paste the following text:

echo "Enter string of 32 symbols"

read s1


if [ $n -ne 32 ]; then

echo $n

echo "Not correct number of symbols"




echo "import {wallet} from 'nanocurrency-web';" >t.js

echo "function STH(str) {" >>t.js

echo "var arr = [];" >>t.js

echo "for (var i = 0; i < str.length; i++) {" >>t.js

echo " arr[i] = (str.charCodeAt(i).toString(16)).slice(-4) };" >>t.js

echo "return arr.join('') };" >>t.js

echo "const args = process.argv.slice(2);" >>t.js

echo "const str=args[0];" >>t.js

echo "const sec=STH(str);;" >>t.js

echo "const w=wallet.fromSeed(sec);" >>t.js

echo "console.log(w);" >>t.js

node t.js $str

shred -uz -n 10 t.js


Save these files.

If you have no experience in installing software on computers with Linux OS ask some friend or relative to help you. On all modern computers should be some version of Linux OS.

This offline computer should never be connected to any network or device (including USB drives and SD cards)!!!!!!!!!!!!

Now, on a device connected to Internet (PC, smartphone, tablet) perform steps 1 and 2.

Step 1 Enter easy memorable to you date and key into a dynamical passwords generator (DPG).

In this example we use a public DPG (https://dynpass.link). For real wallets you should use private DPGs (https://dynpass.xyz) or combinations of private and public DPGs.

As a key we use “Madonna” and as a date her birth day (August 16, 1958).


Click on the “Go!” button and 20 passwords will be generated.


Step 2. Select 32 symbols from the generated dynamical passwords. Do not copy/paste them and do not save them in any place!!!!!!!!!! This is a secret key to generate your offline nano wallet.

On the secure offline computer perform step 3

Step 3. Run the script get_wallet.sh.

A prompt will ask you to enter a string of 32 symbols. Enter the selected 32 symbols into the prompt and click on the “Enter” button.


You will see private key, public key, seed, and wallet’s address on the screen.

Congratulations! You have created generated on demand (GOD) offline nano wallet. If you will not save the generated information in any place it would not be possible to find it, hack it, stole it, etc. by other persons. By repeating steps 1-3 you will be able to recreate this information anytime you need it.

You can copy and save only the public key and address. NEVER copy/paste and save the private key and seed!!!!!!!!!! Only generate them on demand when you need them.

You can save the wallet address and use it on connected to Internet devices.

Now, we send to this wallet address some nano. On a device connected to Internet go to the URL https://freenanofaucet.com



and enter the wallet address into the field above the button “Get Nano!”.



Click on the button “Get Nano!”. You will see the message:



Now, go to the URL https://nanocrawler.cc and enter the wallet address into the field on the left side of the “Search” button. Click on the “Search” button. You will see the report on the address.


As we can see no one had used this address and there is our transaction pending.

Congratulations! You had created a generated on demand (GOD) offline nano wallet and have some free crypto coming to it! For the reason that your address was not yet registered on the network (account was not created) it is not possible to access funds in your wallet by anyone. This means that your funds (in transition to unregistered account) are safe.

For those, who require to do a lot of crypto transactions, it may be not very convenient. The reasonable compromise is the following. Keep small amounts of your cryptos in online wallets with all their conveniences, but most of your cryptos keep in offline GOD wallets. If the online wallets will be hacked, your cryptos in the offline GOD wallets will be safe.


In the next post we consider a simple way to import an offline wallet into an online wallet and send a transaction from the online wallet to a new offline wallet.





[1] A simple way to generate easy recoverable ethereum private keys



[2] A simple solution to the private key loss conundrum





How do you rate this article?



I am curious about science, technologies and their applications to solving real problems.

Simple solutions to complex problems
Simple solutions to complex problems

Each post is devoted to a simple solution to a complex problem.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.