Cold stake delegation with Ledger in the AdaLite wallet

The AdaLite team (people from Vacuum Labs, the company that develops Ledger and Trezor firmware for Cardano) announced on Twitter that the Ledger Cardano firmware app now supports Shelley and so does the AdaLite open-source web-based wallet. This is also confirmed on Ledger’s support page for Ledger’s Cardano app.

Cold stake delegation from a Ledger device is available right now. Trezor support will come with the new Trezor firmware release on the 5th of August.

In my experience cold staking using AdaLite works reliably, but it’s not as user-friendly as Daedalus or Yoroi, since it doesn’t have a delegation center. This means you can’t see a neat ranked list of stake pools inside of AdaLite or search for a pool based on their name, instead you’ll have to look up a stake pool ID manually on a 3rd party website and copy-paste it into AdaLite. If you’re not up for this, my advice is to wait for Daedalus or Yoroi instead, they should also support cold staking within a few weeks. AdaLite may get a delegation center later. I’m just impressed that Vacuum Labs managed to roll out cold staking this fast, even if it’s without a pool list.

AdaLite has some old Ledger documentation which doesn’t cover staking, it’s outdated but mostly still valid, and it has pictures.

How to cold stake using a Ledger hardware wallet in the AdaLite web wallet:

  1. Make sure your Ledger is initialized and its firmware is up to date.
  2. Install the Cardano app to the Ledger device or update it if you already have it.
  3. Visit https://adalite.io/. For Ledger functionality you’ll need to use either a Chromium-based browser such as Google Chrome, Chromium, Brave, Opera, maybe Microsoft Edge, or Firefox with security.webauth.u2f set to true.
  4. Verify that after opening the website, the exact address you’re seeing in the browser’s address bar is adalite.io. Not just something similar, it has to be exactly that domain name, not “adalite dot com”, not “adalitewallet dot something”, not “adalite dot io dot secure dot com”. Just adalite.io. I’ve seen a specific attack method on this forum and on Reddit, where scammers trick people into opening a fake clone of AdaLite with URLs like this: https://adalite.io. Looks legit, but go ahead and click on it, you’ll see what I mean. (In this case it’s perfectly safe, I promise.) Scammers will try to redirect you to a different website, a website that looks and feels exactly like AdaLite, except it tries to steal your ADA.
  5. Plug in the Ledger device, enter the PIN and choose the Cardano app. I think the Nano X is only supported through a USB connection, although I don’t have one to test it.
  6. The Ledger device should now display Waiting on commands…
  7. Click on the Unlock with Ledger button in AdaLite.
  8. AdaLite will show a Loading wallet data… message and wait for inputs from the Ledger device.
  9. On the Ledger device, an Export public key prompt appears, which needs to be accepted by pressing both buttons and then confirming on the device. There will be another Export public key prompt after.
  10. You can now access your Ledger Cardano wallet, where you can send and receive on the Sending tab, and stake on the Staking tab.
  11. In order to stake your ADA it has to be in Staking balance. If you have ADA in legacy addresses, you’ll see a Convert to stakable button next to Non-staking balance on the Staking tab. This button will start a new transaction, which converts ADA to stakable by transferring it from the old, legacy Byron-era addresses (DdzFF…, Ae…) to a new Shelley address of yours (addr1…).
    • You’ll be able to confirm the receiving address, the transaction amount and fee all on the Ledger device’s display, like when sending ADA normally. If everything looks right, you can confirm with the buttons on the Ledger device.
    • The ADA will be transferred from your old addresses to your first receiving Shelley address, the address with the index /0 in AdaLite on the Sending tab under My Addresses.
    • I strongly encourage you to verify your receiving address before the conversion process, to confirm that the address you’re sending to is actually yours.
    • When verifying an address, you’ll be able to see it on the Ledger device’s screen, so you know that address is yours. Then when converting your ADA to stakable, the target address will be displayed on the Ledger. You can verify that the addresses match, having used only the Ledger device’s display each time, without trusting the computer. This is the point of hardware wallets.
    • Convert your non-stakable ADA to stakable using the Convert to stakable button.
  12. Now that your ADA was transferred into Staking balance, you can actually delegate your stake to a pool!
  13. There is a text field on the Delegate stake section of the Staking tab in AdaLite. It doesn’t really say what this is, but this text field accepts a pool ID, for example this is what you would enter if you want to delegate to the AdaLite pool: 04c60c78417132a195cbb74975346462410f72612952a7c4ade7e438
  14. Find a pool that you like on https://pooltool.io/ or a similar tracker. Copy its Pool ID and paste it into the text field in AdaLite’s Delegate stake section.
  15. The pool’s info, like name, ticker, tax percentage, will be displayed inside the Delegate stake section.
  16. If you’re confused about seeing Fixed cost: 340.000000, this isn’t a cost you personally pay, this is something that the pool deducts from the combined rewards of the entire pool. Only a ~0.2 ADA fee will apply when you delegate, and another 2 ADA will seemingly disappear, but you get that 2 ADA back when you undelegate (more on this on Reddit). Undelegating is not possible in AdaLite at the moment, but you can still send your ADA while delegated, funds aren’t locked.
  17. Click Delegate, review the info, then click Confirm Transaction.
  18. Confirm the delegation info using your Ledger’s screen and buttons:
    • The Ledger device will ask Start new transaction?
    • Transaction fee is displayed
    • Transaction TTL (time-to-live) is displayed
    • The text Delegate stake to pool is displayed along with the pool ID
    • Staking key derivation path is displayed
    • Ledger asks Confirm delegation?
    • Ledger asks Confirm transaction?
  19. AdaLite will now submit the delegation transaction to the blockchain, might take half a minute before you see the results.
  20. That’s it, AdaLite should now show which pool your stake is delegated to in the Current delegation section!
13 Likes

Thank you very much @hayamoto_jr! Great to see you on the forum again.
I know me and others were looking forward to such updates.

I can’t believe the Ledger update is out before Yoroi is back!
Amazing work from Ledger, and stunning collaboration with Cardano! :clap::clap::clap:

@Hakon @Lgbeano

3 Likes

Thanks for the tag :grin::grin: great news

2 Likes

Thanks! but how can you undelegate if needed?

Undelegating makes no sense and has no purpose… there is no reason to undelegate, it does not achieve anything.

Your ada is never locked in, you can send it when ever you want.

1 Like

Welcome back @hayamoto_jr,
Very helpful article, to be fair: not having a complete nice “delegation center” was likely due to the lack of time. My guess is we will see that in the future.

2 Likes

You are right but I think it is worth to mention that if you ever want to empty a wallet and you undelegate it you will get the 2 ada deposit back. So technically a net win. :grinning:

3 Likes

Has anyone tried this yet? Updating Ledger and staking with AdaLite?

Nice article
Good luck!0

Yes. It works as it should. Also the company that created it also developed the Ledger app. Also wrote a tutorial for it.

1 Like

Seems my home wifi security and Apple Safari blocks adalite.io website as not secure and “phishing.” Assuming there is some mistake here? Never had that happen to any other website so it was curious to me.

I clicked the exact link you posted and it opened fine for me in Safari version 13.1.2 (15609.3.5.1.3), with Preferences > Security > Warn when visiting a fraudulent website enabled. I also use NextDNS with ~10 security related and ~30 privacy/tracking related blocklists enabled, neither of these lists block AdaLite.

AdaLite shows up as clean on URLVoid and VirusTotal.

I think this is something on your end, maybe overzealous antivirus or antimalware software you have installed?

As noted in the guide at step 3, AdaLite’s Ledger feature will only work with Chromium-based browsers like Google Chrome and others, or Firefox. It won’t work with Safari, but the AdaLite website will explain this.

3 Likes

Welcome back @hayamoto_jr and happy cake day!

4 Likes

Seems like some providers (very few) dont recognize or accept our SSL certificate and this may be the issue.

2 Likes

AdaLite’s TLS setup seems fine and compatible with a range of web browsers, including Safari. Let’s Encrypt certificates are pretty compatible and widely used, so I don’t think any security product would get away with blanket blocking sites with Let’s Encrypt certificates.

1 Like

Actually the SSL issue is happening also to me on one of my computers that is set-up for connecting to clients banking systems (read - to much security spyware on it)

Seems like some security tools are tagging us as Phishing website. I will check what we can do about it.

4 Likes

Thanks for the reply. Also, just an FYI, the site is also blocked from the Eero wifi advanced security as well if that helps you at all. This was the first site I have ever had blocked through it.

1 Like

Good News, it now works through Safari and Eero! Thank you!

Yeah Eero is using ZScaler for blocking of malicious sites and this is the security tool that was tagging us as Phishing. I wrote them to review our site and they changed category to miscellaneous and it works now. https://sitereview.zscaler.com/

1 Like