Error -32000 for importing offline address

I’m trying to import an offline address (using the Armory option so I can offline sign, not just watch-only) into Counterwallet, but it fails with error -32000, “string indices must be integers”, method get_pubkey_for_address.

What can I do about this? I have some Counterparty tokens on a legacy address whose private key is in Bitcoin Core, and I don’t want to import the private key into Counterwallet. What is the best way to just do a simple token transfer and sign it offline?

you should try using desktop wallet as it allows you to import private keys and use them. is old and outdated

Thanks, I will look into it. However, ideally I don’t want to import a private key at all - I would like some wallet / tool (can even be CLI) to just create an unsigned transaction that corresponds e.g. to a Counterparty asset transfer, and then use an offline Bitcoin wallet to sign it.

As I understand it, that’s what the Armory address feature of Counterwallet was supposed to do. Is there a modern replacement for this functionality?

You can use a tool like postman to make calls to the Counterparty API which hands back an unsigned transaction.

That is basically all that does, makes API calls to Counterparty API to get the unsigned transaction, then signs it locally in the wallet and broadcasts the transaction… the private key/12-word passphrase never leaves the wallet or is ever transmitted anywhere.

As far as armory, I have no experience with it, but am pretty sure the implementation in is old and outdated… you may want to download a more recent version at

Ah nice, thanks for sharing the API! That should be exactly what I need.