How to claim midnight NIGHT tokens for Cardano EXODUS wallet funds - Tutorial

Hi,

so because you have clicked on this thread i assume that you have funds in your Cardano EXODUS wallet.

Here are the steps to claim your NIGHT tokens for them:

BEFORE YOU DO ANYTHING

  1. Make sure that you have your original 12-Word Exodus seed phrase. Without that seed phrase, no key-restore and claim would be possible.
  2. IMPORTANT STEP - Now its time to move your funds out of your old EXODUS wallet to another current Shelley-Era wallet. Make yourself a new wallet and send over the funds. The seed phrase gets exposed on the command-line and secret files will be generated, be careful to delete those afterwards!
  3. MAKE SURE that you have sent your funds to a new Shelley Light- or HardwareWallet.
  4. MAKE SURE that you have sent your funds to a new Shelley Light- or HardwareWallet.

Now its time to regenerate your Exodus-Keys on the command line

Now its time to restore your Exodus keys on the command line, exciting right? Grab yourself a copy of cardano-signer, you can find it here for Linux, Mac or Windows:

Make sure its at least version 1.30 or higher.

Method-1: Generate staking keys and address from your 12-Word Exodus wallet

Syntax - Example, replace the Mnemonic with your own one:

./cardano-signer keygen --exodus-stake \
   --mnemonics "angle segment economy real desk escape educate spice any hood debate pen" \
   --vkey-extended \
   --json-extended \
   --out-skey exodus-stake.skey \
   --out-vkey exodus-stake.vkey \
   --out-addr exodus-stake.addr
{
  "workMode": "keygen-exodus-stake",
  "derivationPath": "44H/1815H/0H/0/0",
  "derivationType": "exodus",
  "mnemonics": "angle segment economy real desk escape educate spice any hood debate pen",
  "rootKey": "accd0791e0bc4a413341dce5581756116f7625053b2210e5113b9f9d3ae67206f339779a7e87058ca766e82afb6264c8cac0c91cc240fa321ac930a2f8812879",
  "address": "stake1u8lmaxquegnnaphzajfxuf558v2whq48zucfz06zyn7sguskwah03",
  "secretKey": "c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
  "publicKey": "b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
  "output": {
    "skey": {
      "type": "StakeExtendedSigningKeyShelley_ed25519_bip32",
      "description": "Exodus Stake Signing Key",
      "cborHex": "5880c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
    },
    "vkey": {
      "type": "StakeExtendedVerificationKeyShelley_ed25519_bip32",
      "description": "Exodus Stake Verification Key",
      "cborHex": "5840b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
    }
  }
}

This has now generated three new files in the directory:

  • exodus-stake.skey: Thats your staking secret key

  • exodus-stake.vkey: Thats your staking verification key

  • exodus-stake.addr: Thats your staking address stake1...

→ Continue with the Claim-Part

Method-2: Generate payment keys and address from your 12-Word Exodus wallet

Syntax - Example, replace the Mnemonic with your own one:

./cardano-signer keygen --exodus \
   --mnemonics "angle segment economy real desk escape educate spice any hood debate pen" \
   --vkey-extended \
   --json-extended \
   --out-skey exodus-stake.skey \
   --out-vkey exodus-stake.vkey \
   --out-addr exodus-stake.addr
{
  "workMode": "keygen-exodus",
  "derivationPath": "44H/1815H/0H/0/0",
  "derivationType": "exodus",
  "mnemonics": "angle segment economy real desk escape educate spice any hood debate pen",
  "rootKey": "accd0791e0bc4a413341dce5581756116f7625053b2210e5113b9f9d3ae67206f339779a7e87058ca766e82afb6264c8cac0c91cc240fa321ac930a2f8812879",
  "address": "addr1q8lmaxquegnnaphzajfxuf558v2whq48zucfz06zyn7sguhlh6vpej3886rw9myjdcnfgwc5awp2w9esjyl5yf8aq3eqtyappk",
  "secretKey": "c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
  "publicKey": "b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
  "output": {
    "skey": {
      "type": "PaymentExtendedSigningKeyShelley_ed25519_bip32",
      "description": "Exodus Payment Signing Key",
      "cborHex": "5880c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
    },
    "vkey": {
      "type": "PaymentExtendedVerificationKeyShelley_ed25519_bip32",
      "description": "Exodus Payment Verification Key",
      "cborHex": "5840b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
    }
  }
}

This has now generated three new files in the directory:

  • exodus-payment.skey: Thats your payment secret key

  • exodus-payment.vkey: Thats your payment verification key

  • exodus-payment.addr: Thats your payment base address addr1...

→ Continue with the Claim-Part

Claim your NIGHT token from the Midnight Glacier Drop Page

Go to the Midnight Glacier Drop Website https://claim.midnight.gd/ and start a new claim.

Use your Stake-Address stake1… or Payment-Address addr1… that you have produced before as the Origin-Address, input a new Cardano Shelley-Address as the claim destination address. Accept the terms and Conditions.

Tip: You can view the content of your keyfiles via the cat command like cat exodus-stake.addr

When you are at the manual signing point, copy the provided <message> to sign and head back to the command-line. You must now sign this message with your generated exodus-stake.skey like:

./cardano-signer sign \
   --cip30 \
   --data "STAR 123456789 to addr1v9xxxxxxxxxxxxxxxxxxxxxx8b" \
   --secret-key exodus-stake.skey \
   --address exodus-stake.addr \
   --json-extended
{
  "workMode": "sign-cip30",
  "addressHex": "e1ffbe981cca273e86e2ec926e26943b14eb82a71730913f4224fd0472",
  "addressType": "stake",
  "addressNetwork": "mainnet",
  "inputDataHex": "535441522031323334353637383920746f2061646472317639787878787878787878787878787878787878787878783862",
  "isHashed": "false",
  "signDataHex": "846a5369676e617475726531582aa201276761646472657373581de1ffbe981cca273e86e2ec926e26943b14eb82a71730913f4224fd0472405831535441522031323334353637383920746f2061646472317639787878787878787878787878787878787878787878783862",
  "signature": "bf8d9bfeba8437ee4869e1fec2c5b32a8d9e10b46564812f93b9f3a1b48909439b2a7c6e725c5d326c8d5088fdead219b91407d59b8a56a9c7457b3ed1feca0a",
  "publicKey": "b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b",
  "output": {
    "signedMessage": "cms_hFgqogEnZ2FkZHJlc3NYHeH_vpgcyic-huLskm4mlDsU64KnFzCRP0Ik_QRyoWZoYXNoZWT0WDFTVEFSIDEyMzQ1Njc4OSB0byBhZGRyMXY5eHh4eHh4eHh4eHh4eHh4eHh4eHh4eDhiWEC_jZv-uoQ37khp4f7CxbMqjZ4QtGVkgS-TufOhtIkJQ5sqfG5yXF0ybI1QiP3q0hm5FAfVm4pWqcdFez7R_soK1H8FRA",
    "COSE_Sign1_hex": "84582aa201276761646472657373581de1ffbe981cca273e86e2ec926e26943b14eb82a71730913f4224fd0472a166686173686564f45831535441522031323334353637383920746f20616464723176397878787878787878787878787878787878787878787838625840bf8d9bfeba8437ee4869e1fec2c5b32a8d9e10b46564812f93b9f3a1b48909439b2a7c6e725c5d326c8d5088fdead219b91407d59b8a56a9c7457b3ed1feca0a",
    "COSE_Key_hex": "a4010103272006215820b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b"
  }
}

Copy the COSE_Sign1_hex part between the double-quotes and paste it back onto the midnight claim portal form into the signature field.

Copy the publicKey part between the double-quotes and paste it back onto the midnight claim portal form into the publickey field.

Sign and Submit the form and claim your NIGHT tokens.

Congrats, you have now successfully claimed your NIGHT tokens for your Cardano EXODUS Wallet :grinning_face:

3 Likes

Is there a way to make this work with Ellipal wallet?

hi @BTC4_CNMI , i have never looked in to Ellipal Wallet and how they derive there keys.

do you know if there is any resource available anywhere?

Does your Ellipal have a Byron (Ddz…) or Shelley (addr1…) address?

I just had another user with an Ellipal Byron wallet and I think it should just work as @ATADA has described it here:

Hi Ben,
Its a Shelly address. I tried those instructions and it didn’t work.

1 Like

I just got confirmation from Ellipal that they use Derivation path 44H/1815H/0H/0/0

Does this help? Is there any way to make this work using manual tools? I am trying out Cardano Signer but unsure how to make the right script or if it can support this.

hey,

you said you have moved your funds out already to do the claiming stuff safely right?

can you generate a brand new seed phrase on your ellipal device and post the
seed phrase here together with the first payment address and the stake address that is showing
up?

that way we have a “control” phrase, anything else is speculation. because we don’t know the used derivation method yet from ellipal.

thx!

ciao
martin

1 Like

Hi Martin,

Yes, the wallet has been emptied.

Here’s the info from a fresh ADA (Shelly) wallet created by the Ellipal Titan cold wallet

Seed: erode comic uniform dish derive caution athlete modify mixed task display work

First payment adderess: addr1q90k4zqh8z67ec677c0nw9v5zxrlnfjpetfct8nn499u49pzk7gjedgdx8q46gnahyv8hp549gpf5xwj50m2xaja0uhsp7legy

Stake address: stake1uy3t0yfvk5xnrs2ayf7mjxrms62j5q56r8f28a4rwewh7tcdyx5rm

Ellipal support said they use the following derivation path for both Byron and Shelly: 44H/1815H/0H/0/0

I hope this helps. Thank you for your time!

Ciao

You can just restore the wallet with the seed phrase in Eternl, Lace, or Typhon and continue from there.

I just restored with that seed phrase in Eternl and it gives exactly that base address:

… which also means that Ellipal’s support is wrong. They do not use m/44'/1815'/0'/0/0, but m/1852'/1815'/0'/0/0 like everybody else in Cardano.

1 Like

This means you can just use the standard derivation method in cardano-signer like:

cardano-signer keygen --mnemnonics "erode comic uniform dish derive caution athlete modify mixed task display work" --path stake --out-skey ellipal-stake.skey

That will generate you the correct stake secret key. Than use the midnight claim portal with your STAKEADDRESS as the origin address and sign the challenge like:

cardano-signer sign --cip30 --data "STAR * ..." --secret-key ellipal-stake.skey --address <YOURSTAKEADDRESS> --json-extended

Than you use the content of the COSE_Sign1_hex output in the Signature-Field on the portal, and the content of publicKey as the value for the PublicKey-Field on the portal.

Best regards,
Martin

1 Like

BUT, as you have already emptied the wallet, you can also like @HeptaSean restore your wallet in eternl and just do it with eternl without cardano-signer at all.

That worked! Thanks everyone!

2 Likes