The Ultimate Guide to Using the Tornado Cash App Post-Sanctions

The resilience of the Tornado Cash protocol was put through a true test since sanctions were imposed. Owing to its decentralized nature, it continues to operate effectively till this day, offering the much needed privacy to individuals across the cryptocurrency world. 

From setting up to addressing common issues, this detailed guide will bring you through the usage of the Tornado Cash app, with a particular focus on aspects that may differ from before sanctions were imposed.

What is Tornado Cash?

Tornado Cash is a decentralized, non-custodial privacy solution built on Ethereum and other EVM-compatible blockchains. It utilizes cryptographic proofs, specifically zero-knowledge proofs, to allow users to make private transactions without revealing their identities or transaction amounts to others.

Concept for Achieving Privacy

Tornado Cash uses the concept of crypto mixing to achieve privacy for users. This works in a way where user deposit funds to a public pool, wait for transactions to happen within that pool, and end off by withdrawing their funds within the pool to another account.

Technology Behind Tornado Cash

The protocol relies on smart contracts deployed on Ethereum and other chains to function. To match deposits and withdrawals, Tornado Cash employs a cryptographic method known as a zero-knowledge proof, particularly zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), which allows one party to prove to another that a statement is true, without revealing any information beyond the validity of the statement itself.

How It Works

If you are new to Tornado Cash, here is a simplified explanation of its workings:

  • Deposit: A user deposits a cryptocurrency into one of Tornado Cash’s smart contracts, and the smart contract issues a note as a receipt.
  • Anonymity Accumulation Period: The deposited cryptocurrency mixes with others, making it difficult to trace back to the original source.
  • Withdrawal: At any later point, the user or anyone who possesses the note can withdraw the funds to a different address, unlinked from the deposit address. The zero-knowledge proof ensures that the withdrawal is valid, without revealing which deposit it is linked to.

Step-By-Step Guide to Using the Tornado Cash App

We will now run through the process of depositing and withdrawing through the Tornado Cash app, with a focus on the difference to this process after sanctions were imposed.

Making a Deposit

Your journey with Tornado Cash begins with making the first deposit. Key differences post-sanctions include the need for added caution when navigating to the Tornado Cash app due to the number of phishing scams around, and the need to change your RPC prior to depositing as most of them have been censored.

Step 1: Setting Up

It is a good practice to have a secure setup prior to using Tornado Cash. There are 3 fundamental aspects that you should pay attention to:

  • Secure your internet: Your real IP address can reveal a whole lot about you. Use a VPN or route traffic through the TOR network to mask your IP address.
  • Choice of browser: A browser like Chrome tends to run background analytics that can compromise your privacy. Instead, opt for a privacy-focused browser like Firefox or Brave.
  • Choice of wallet: Rather than using a wallet like Metamask that logs user IPs these days, opt for a more privacy-focused wallet like Frame, Enkrypt, or Tally Ho.

Refer to this guide for more tips on how to achieve a secure setup for use with the Tornado Cash app.

Step 2: Identifying the Official Tornado Cash App

The fractious state of Tornado Cash’s online presence since U.S Treasury sanctions were imposed has led to emergence of many scams. These are mostly in the form of phishing sites that appear like the real Tornado Cash app, but are there to steal your funds when depositing or withdrawing.

For your own safety, verify the official link of your Tornado Cash app here before proceeding with any transactions. Also, always check the about section of this website for any urgent security updates that you should be aware of.

Step 3: Select Chain and Connect Wallet

Once you enter the Tornado Cash app, start by selecting the chain that you would like to make a deposit on, and connect your wallet.

Official Tornado Cash app

Step 4: Change Your RPC

Since the dawn of sanctions, many RPCs have censored Tornado Cash contracts. To get around this issue, head to chainlist.org to find a working RPC for the chain (eg. Ethereum) that you are intending to deposit on. Select the ones that have both ‘Score’ and ‘Privacy’ columns checked.

RPC list

Once selected, head to Settings > Change RPC within the app. Select Custom under RPC endpoint and enter your new RPC address.

Set custom RPC

Step 5: Make Your Deposit

Now that your RPC is configured, you can proceed with selecting the desired amount and making a deposit as per normal.

Making a Withdrawal

As always, wait for more deposits (~24 hours minimum) before proceeding with a withdrawal. The withdrawal process is pretty much the same as before sanctions, except for longer wait times and the need to change RPC especially for BSC.

Step 1: Start with Basics

Begin with preparing the necessary setup, heading to the official Tornado Cash app and connecting your wallet similar to what was done during the start of the deposit process.

Step 2: Change the RPC

Especially for withdrawals on BSC, there is the need to change the RPC within settings. As a general rule of thumb, change both the RPC endpoint and Ethereum RPC to something else as the default Tornado RPC has been censored. Use the other options listed within the dropdown, or head to chainlist.org to find custom RPCs.

RPC settings

Step 3: Load the Withdraw Process

Upon selecting the withdraw tab, you will find that the Withdraw button is loading. Allow it some time to load (3 to 10 minutes) and input your note only after the ‘Withdraw’ label appears. Doing so during loading may result in errors later on.

Withdraw process loading

Step 4: Load Your Note

Unlike before, note data now requires some time to load. It will start with fetching deposit events, followed by withdrawal events.

Load note

Step 5: Complete the Withdrawal

Once loaded, the details of your note will appear and you can proceed with withdrawing your funds to any address of your liking. As always, it is always recommended to choose a new, unrelated Ethereum address to receive the funds. This ensures that the withdrawal remains disconnected from the original deposit address, thereby enhancing privacy.

Tornado Cash app loaded note

Optional: Randomize Relayer Usage for Enhanced Privacy

The final item to pay attention to during withdrawal is the relayer being used. Relayers conduct the withdrawal transaction on your behalf for added privacy. Do not always use the same relayer during withdrawals, or similarities may be drawn and your privacy compromised.

Relayer list

Best Practices for Using Tornado Cash

Adopting best practices when using Tornado Cash is essential for maintaining optimal privacy and security. Here, we outline key considerations and tips to help users navigate the platform effectively.

Additional Privacy Considerations

  • Mixing Times: Delay withdrawals after deposits to obscure the link between them further. The longer the time between these actions, the harder it is to trace them back to you.
  • Behaviour After Withdrawing: Be careful about what is done to funds after withdrawing. Similar patterns of behaviour may compromise privacy.

Avoiding Common Mistakes

  • Double-check the URL: Always double check the URL with the official links here to confirm that you are using the official Tornado Cash app and not some phishing variant.
  • Double-check Addresses: Always double-check addresses before making transactions. Sending funds to the wrong address can result in irreversible losses.
  • Double-check Transactions: Similarly, always double-check the transaction in your wallet before approving. Approving the wrong transactions can result in an array of undesirable outcomes.
  • Backup Your Notes: Always back up your deposit notes securely. Losing these can mean losing access to your funds.

Following these best practices ensures that you use Tornado Cash effectively while maintaining a high level of privacy and security. These tips not only protect your assets but also enhance your overall experience with the platform.

Troubleshooting Common Issues

Using Tornado Cash can sometimes lead to technical challenges. Here are some common errors that you might encounter that can be resolved easily:

  • Failed to fetch relayers: Poor connection or no relayers for the chain you are on. If you are using a VPN, try switching to another location.
  • Failed to fetch proving keys: Poor connection. If you are using a VPN, try switching to another location.
  • Failed to fetch deposit events: Poor connection or a censored RPC endpoint. Change the VPN location or use change the RPC in settings.
  • Note is invalid or no related deposit: Likely due to a censored RPC. Change the RPC endpoint and Ethereum RPC provider. If you are transacting on BSC, waiting a while after the deposit should resolve the issue.
  • Invalid root: Could be due to a variety of issues. Try changing the relayer to see if works. If not, change the RPC too.

If you are getting the error message ‘note has been spent,’ it is not a technical error. It means that the funds had been withdrawn.

Contacting Support:

You are probably aware by now that the Tornado Cash protocol is fully decentralized. Hence, the strongest form of support will be from none other than the community.

If you face issues that cannot seem to be resolved, do not hesitate to join the community chat for assistance.

Conclusion

We hope that you have found this guide helpful. As demonstrated, navigating Tornado Cash post-sanctions is pretty straightforward, with little differences that just require a bit of familiarisation at the beginning.

As we look towards the future, the importance of maintaining privacy in the cryptocurrency world will continue to grow. Similarly, the demand for a tested and proven protocol like Tornado Cash is slated to increase in tandem. Having stood the test of time, it will continue to offer a robust solution for anyone seeking financial privacy on the blockchain.