Recover Blockstack ID from "old" blockstack cli

Hi there, I would like to use my Blockstack ID in the Blockstack Browser. At the time I registered my ID using the “old” blockstack cli, the one called blockstack (version I have downloaded the last release of the Blockstack Browser (version 0.34.2) and if I want to sign in with an existing ID it prompts me to use either a Secret Recovery Key (SRK) or a Magic Recovery Code (MRC). I’m not sure what these are. I do have though the private keys (3 in total) that control the address associated to my ID and the password to the wallet.

How can I derive from these private keys either the SRK or the MRC?

By the way, is the blockstack cli blockstack not going to be maintained anymore?

Thanks for the help.

Hi @giancarlogiuffra

You should have received the key and the code when you created your ID. This documentation explains the code and the key shows examples of each:

We have just released a new version of the CLI. And it is very much being maintained. You can see that repo here:

Let us know if you need anything more.

Hi @moxiegirl. Thank you for the reply. I think I might be confusing the definition of Blockstack ID. I registered the name giancarlogiuffra in the id domain. I did it only using the old cli (bitcoin tx), not the browser, so I didn’t receive any SRK nor MRC. I thought that was my Blockstack ID. Reading the guide you linked though it seems that my Blockstack ID has to be created in the id.blockstack domain, I can do it by using the browser and it is free. It says as well that I can create identities in other domains, like the one I already have. How can I import then my current identity into the blockstack browser?
Regarding the new cli-blockstack, I wasn’t sure if it was a replacement of the old cli since it says the following in the github repo:

This tool is meant for developers only – it is meant to be used for testing and debugging Blockstack apps in ways that the Browser does not yet support. It is not safe to use this tool for day-to-day tasks, since many commands operate on unencrypted private keys. Everyone is encouraged to use the Blockstack Browser whenever possible.

I used the old cli to manage my identity, is it correct to say that it is the browser the tool to use to perform these tasks now?


The old Blockstack CLI that was written in Python was deprecated over a year ago, and was removed in the v19 release last week.

However, you can use the new CLI to extract your names as follows:

  1. Using the old CLI’s blockstack wallet command, you can get your owner and payment private keys.
  2. Using your owner and payment private keys, you can use the new CLI’s blockstack-cli transfer command to send your names to ID-addresses generated by the Browser.

The Browser is the recommended way of doing this going forward. Nothing stops you from using CLI instead, but you should be aware that the new CLI does not have a wallet of its own. Instead, you’ll need to manually paste in your private keys anytime you want to issue Blockstack transactions. This is why we don’t recommend it for day-to-day use.

I have this problem:

blockstack wallet
Enter wallet password:
Falling back to legacy decryption
    "error": "Failed to decrypt wallet"

That indicates one of two things:

  • Your password was wrong (likely)
  • The file is corrupt (unlikely)