Unable to Transfer my ITN rewards to Shelly mainnet wallet

Hello everyone

I have already created a ticket with zendesk regarding this issue but have not heard anything from them in a week. The issue is that two months ago my house was flooded and at the time I didn’t realize that one of things which got damaged was my paper copy of ITN wallet private key. I still have access to that wallet but I cannot transfer my ada out of the ITN and claim it with my shelly mainnet wallet. I spoke with couple of admin on telegram who gave me a ray of hope stating that my private keys are still on my PC because I have both Daedalus wallets installed on the same PC but they are just encrypted. Is there anyway for me to retrieve these ada or am i just SOL? Thank in advane.

1 Like

I too have this same issue. Devs, would it be possible to construct the same request using the private key as if you were to use the seed phrase? I would assume the seed phrase generates the private key and that key signs the transaction, so it would be possible unless I’m missing something. Would this be correct before I go poking around?

For such issues you might get a better response in the Telegram group https://t.me/CardanoCommunityTechSupport

Once someone helps you get the private + public keys out of Daedalus, you can continue here: ITN Reward Redemption with just private key and not recovery phrase

zendesk responded to me eventually the after trying couple of basic troubleshooting techniques they have informed me there’s currently noway of retrieving your ITN rewards without your private keys. I still haven’t uninstalled my ITN in hopes that there might be someone out there smart enough to figure this out and I am sure I am not the only one with this issue.

@_ilap, @ADAfrog do you know how to extract private key(s) from ITN Daedalus?

Hi Hivos,

I do not think this is possible. If there is any magic trickery that could accomplish this, @_ilap would be the one to ask.

Your friend, FROG

1 Like


Sorry, but I do not know how Daedalus storing the seed/masterkey etc.

But, I am sure that if your have the ITN Daedalus that worked on ITN and you know wallet(s) spending password then you should be able to redeem your ITN rewards on Mainnet.

But, I have no details how the redeem works (i.e. how was added to the mainnet), what I know is that I created my ITN pool keys from 15-word length mnemonic using the m/44'/1815'/0'/0 BIP44 path and some custom tool (jcli etc), I and I was able to use those mnemonics redeem the my 2 pools rewards on mainnet using those 15-word length recovery phrases in Daedalus.

I just downloaded the Daedalus 2.2.0 and remembered your request and had a quick look at it.
Daedalus uses private_key table in an sqlite db, for storing the encrypted private key.

So, you can gather the private key and if you know your spending password then you can encrypt it somehow, check Daedalus source, how it works, cos I have not checked it.

echo "select root from private_key" | sqlite3  /path/to/the/ITN/daedalus/dir/wallet/*.sqlite

I wish I was smart enough to know what all this means. You lost me at Echo :frowning:

Any chance you know how it’s encrypted?
I see there are fields root and hash. In the wallet table there is a field passphrase_scheme which has a value EncryptWithPBKDF2.

Would using python’s hashlib with the right parameters work?

dk = hashlib.pbkdf2_hmac('sha512', hash, b'password', 500)

I have not digged deep into it, but just had a quick look at the code below, an it seems that they use 20K iteration with SHA512.

I was able to extract my private key and chain code from the ‘root’ by following the steps here How we recovered Daedalus ITN rewards without the Mnemonic - Viper Staking

I created root.prv
echo "${PRIVKEY}${CHAINCODE}" | ./bech32 xprv > root.prv

Then I followed this script to generate the rest.

When I try to run any queries I get the following error.

./cardano-cli shelley query stake-address-info --address `cat stake.addr` 
cardano-cli: DecoderFailure (LocalStateQuery HardForkBlock (': * ByronBlock (': * (ShelleyBlock TPraosStandardCrypto) ('[] *))) Query (HardForkBlock (': * ByronBlock (': * (ShelleyBlock TPraosStandardCrypto) ('[] *))))) ServerAgency TokQuerying) (DeserialiseFailure 15 "decodeNS: invalid index 2")

What does this mean?

I’m using the following socket.

echo $CARDANO_NODE_SOCKET_PATH                                                                                                   
/Users/joetoth/Library/Application Support/Daedalus Mainnet/cardano-node.socket


This is a different problem, you should start a new thread.