Shielded Support for Ledger Hardware Wallets (NanoS+, NanoX)

oh so far only nano s+
dont own it
for nano x it will take more time to develop?

Nano X is the same code but needs to be signed by Ledger before it can be used.


UA with Transparent, Sapling and Orchard receivers



Under the hood, it is way harder than it looks…


Support for Orchard is complete and the integration is fully operational.

  • Transparent, Sapling & Orchard Inputs and Outputs are supported
  • YWallet can scan the account balance and tx history once the ledger account is imported. The device only needs to be available when spending
  • User can show their own full UA on the device for verification. It doesn’t need YWallet for that.
  • YWallet can use the H/W device for single & multi payments, pool transfers, etc.
  • The HW device asks the user to confirm the outputs & fees. It uses cryptographic proofs for the rest of the transaction data.
  • There is no limit on the size of the transaction besides what the network protocol stipulates.

I have tested t2t, t2z, z2t, z2z, z2o, o2z, o2t, …

What kind of transaction would you like to see?


The bar has been set. :hot_pepper: :clap: :zebra:


Well done, @hanh. I only have one question: when Ledger merges your code into their repo, will you be removing the plastic cover on your ledger?

Screen Shot 2023-04-29 at 7.30.35 AM


Lol off topic but i’m the same way I keep the original screen cover on for as long as possible! I have an android tablet from like 8 years ago and still has the original screen protector (You can just barely see a couple of little bubbles forming in the far corners). Underneath however, that screen had ought to be mint and I may or may not ever expose to the air! :wink:


I made an installation tutorial video.

As you can see, it’s really not difficult to sideload an app on the Ledger Nano S+. The only caveat is that it is currently the only model that supports sideloading.

And there is a demo video, filmed shortly after.

The demo video should give you a good idea of the user experience.


Imagine the satisfaction of peeling that off!


we need to give hanh props. he managed to make shielded zec on hardware wallet finally possible in just 2 months. now we wait for ledger to implement in one day or?


Just curious on the process from here… I assume there will have to be an audit of the code to satisfy ledger before implementation. What is the prediction of when we will see this out in the wild?

Before the audit, there is automated testing. We have many types of transactions (more than 50!), therefore it needs to be procedurally generated.


I have just submitted the app to Ledger. There seems to be quite a backlog though …


To be included in Ledger Live?

1 Like

Based on this case study, I’ll propose that all grant proposals explicitly shall document external dependency risks to completion! This entire +2 years of punching in the dark to attempt to get milestones to deliver could have been avoided if the original grant was rejected due to the known list of external dependencies (from Ledger) out of the grantee’s (Zondax) control.


The template for the proposals already includes a section about external dependencies.

When it comes to the support for hardware wallets, I think the issue is not about that.

  1. Zondax has a long experience with delivering apps for Ledger. They know well what to expect.
  2. Trezor also has difficulties and it’s a 100% inhouse development

In my opinion, the reason is simple. Projects underestimate the difficulty of working with shielded Zcash. The more experience they have with other coins, the more they assume it is going to be transferrable.

Well, no. Shielded Zcash is the Cocaine Bear. If you don’t respect him, he will shred you to bits.


What are ideas to make working with shielded Zcash easier?

I’ve heard of the difficulty from many people, and it seems like making it easier to work with would be the fastest way to accelerate integrations.


Congratulations @hanh !

I hope we can see your work passing throught the ledger gates! :pray:


The submission can be tracked here.