How to use the Steem CLI wallet

in #steem7 years ago (edited)

This guide will show you step-by-step how to set up a new wallet and make a transfer of Steem Dollars to another account.

In order to use the Steem wallet you need to have the Steem daemon (steemd) running. It will act as window to the blockchain, through which your wallet connects.

If you want to connect to an external Steem daemon you can skip step 2 - 4.1a and jump straight to 4.1b after you've downloaded the wallet.


I'll cover this step for Windows only but there are many guides on how to set it up on other platforms.

Download Steem Windows Wallet and Miner and Visual C++ Redistributable Packages for Visual Studio 2013 in case you don't already have it installed. Unpack the wallet/miner in a location of your choice.

2. Configure steemd

Start steemd. It should say "No witnesses configured!". Close steemd. It has now placed a config.ini file in witness_node_data_dir.

Open the config file and add the following after # P2P nodes to connect to on startup:

seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =
seed-node =

Also add an RPC endoint after # Endpoint for websocket RPC to listen on:

rpc-endpoint =

3. Start steemd

After you've saved the config file start steemd again. It will now sync the blockchain which will take a while. You can speed this up by downloading the blockchain separately (see section Download Wallet).

When steemd starts outputting "Got X transactions..." you know it is up to date and you can start using your wallet.

4. Wallet

4.1a Start wallet for local daemon

Start cli_wallet. You should see something like this:

4.1b Start wallet for external daemon

(skip this step if you did 2 - 4.1a)

It's possible to use the wallet without your own steemd running by connecting to an external Steem daemon. See the following guides:

4.2 Set password

Your fresh wallet needs to have a password before you can start using it. Set a password with the following command:

set_password yourpassword

This is the password to your wallet and has nothing to do with your Steem account yet.

4.3 Unlock wallet

After setting a password your wallet will be locked. Unlock it using the password you provided above:

unlock yourpassword

If successful the first word in the terminal will say unlocked:

4.4 Import keys

You're now ready to link your wallet to your account. For transferring Steem Dollars we need to import your Active private key. It can be retrieved from the Permissions tab on your account page at

import_key PRIVATEKEY

4.5 Check that your account is linked

If you run list_my_accounts you should see your account listed:

4.6 Make a transfer

transfer "lantto" "johanherman" "0.001 SBD" "Transfer from CLI wallet" true


5. That's it!

For a full list of commands you can use the help command. Remember that certain actions require you to import certain keys. In this guide we only imported the Active key. For a comprehensive post about the different keys please see this article by @pfunk.

Let me know if you have any questions or feedback!

Useful links

If you like this please give me a follow! @lantto


Wow ...
I can try this ....
Any specifications for the system to be used ?

Thanks for linking to my article :)

It's the best article I've seen on the subject so thanks for that! :)

I think you could access this via python as well, with the piston-steem module. I have to check it out. thanks for the tutorial @lantto!

Thanks! I've added Piston to Useful links.

Hello, just now I'm trying to mine steems .. yet in test phase ...

if I see this during the elaboration


does it mean is is not yet up to date and I still I cannot run my wallet app, correct ?

May I wait for those messages written above ?

Many thanks!!

Saved my day... =) up and followed... If you are interested check this initiative.

I get an error of No witnesses configured please add witness and no miners configured.

I know you added this 5-days ago... is there a place to get up to date witness nodes? I am getting a connection error on a few witnesses.

i got it.. thanks

hi, could you explain here how you fixed it to help other people like myself thanks :)

I wish i could man, I worked for a week trying to get this running, and finally did. Two days after that my computer hard drive died and I lost everything. I was so pissed off i did not try it again. It was using a lot of power and started overheating my computer. I should have had a more powerful system. Mine was several years old. Make sure you do a search for the minimum PC requirements so this does not happen to you. Good luck... :)

Sorry to hear that man, maybe you should try again, don't give up man! Do many people keep all their steem on the website or do people tend to move it over to a paper wallet or something similar?

Actually, is it possible to launch cli_wallet as a service with endpoint on some port, so that it would be available to scripts?

Thanks for the post! I have one question, for some reason I can't list my accounts :(
Thats my error:
10 assert_exception: Assert Exception
a0 != e: too few arguments passed to method
th_a api_connection.hpp:165 fc::generic_api::call_generic
Any ideas?

Thank you! This article was really useful!

Coin Marketplace

STEEM 0.17
TRX 0.09
JST 0.022
BTC 26416.58
ETH 1615.53
USDT 1.00
SBD 2.20