Tornado Cash in Ledger Live

Hi, any DApp can be integrated in Ledger Live by following the doc here: Introduction | Developers
It would require development effort to adapt Tornado Cash DApp and also to develop a plugin to the Ethereum Nano app.

The objective is to improve UX for Nano users and also to improve security by ensuring the correct smart contracts are being interacted with and also by no longer “blind signing” the txs.

As Tornado Cash DApp is not open source, the goal with this topic is to get a signal from the community if these changes are worth looking at or not.
The code for the Nano plugin can be done by anyone so I guess it would only be a matter of funding it.

Thank you for your time and please let me know your thoughts.


I would wait until the Ledger Live app has added some privacy / anonymity features.

I couldn’t even figure out how to use my own Ethereum node with Ledger Live.

It doesn’t even have a way to set a Tor proxy.

Would never use Tornado in that thing.

Very good points. It will be hard to get that done but I will do my best.

My point is that it doesn’t make sense to incorporate a privacy tool into a framework that is non-private by design. (My opinion.)

Yes I agree, so changes are needed on Ledger Live first before considering any integration for Tornado Cash.

They’re making progress but it’s mostly for Bitcoin … e.g., they have BTC coin control now and they added ledger-lss (a program to use your own Bitcoin node with Ledger Live).

Indeed, but the Bitcoin node can’t be behind Tor :wink: room for improvements

Interesting … didn’t notice that because I always connected to a node in the same local network with it. I assume you could use socat or similar to manually establish the Tor connection between ledger-lss (running on the local machine) and the Bitcoin node (exposing port 8332 via Tor). The guy who wrote ledger-lss has now left Ledger so I don’t expect a ton of progress in the near future. But this is about Ethereum :wink:

EDIT: you could probably also run ledger-lss on the node itself and create a hidden service for, then use socat on the local machine to expose the hidden service on a local port …