<p>Tornado Cash works by breaking the on-chain link between source &amp; destination addresses. To do so, the protocol needs tokens to be deposited in a pool from one address, then to be withdrawn through another address.</p>
<p>This principle remains the same for Tornado Cash Nova. As for traditional fixed amount pools, these two actions are core to the efficiency of the tool:</p>
<ul><li>The “Funding process,</li><li>The “Withdrawing process.</li></ul>
<h3 id="funding-process">Funding Process</h3>
<p>The great novelty compared to traditional Tornado Cash pools is that <strong>deposited amounts are no longer predefined.</strong> Users can choose a customized amount within the capacity of their wallet balance.</p>
<p>Therefore, if you want to put 0.4 ETH in the pool, you can do it all at once rather than making four separate transactions with the traditional 0.1 ETH pool.</p>
<figure><img src="/uploads/imported-a39a0efd4c644d40e880633e.gif" alt="" loading="lazy"><figcaption></figcaption></figure>
<h3 id="how-does-it-work">How Does It Work?</h3>
<h4 id="the-first-deposit"><strong>The First Deposit 💰</strong></h4>
<ul><li>The first step is to log in Tornado Cash Nova through a Metamask account.</li><li>Your account is not set yet (button <code>Set up account</code> available on the top right corner). To set up your account, you can either:</li><li><strong>Click on <code>Set up account</code></strong>: your logged-in address will be registered to Nova without needing to deposit any tokens. This action will enable you to receive transfers or deposits within the pool from any another address.</li><li><strong>Choose your logged-in address as a recepient address</strong>: by depositing tokens into the pool, your account (with its shielded address &amp; shielded key) will be automatically created. The deposited funds will come top up your shielded balance.</li><li><strong>Choose another registered address:</strong> tokens will be added to the shielded balance of the chosen recipient address. This recipient address needs to be a shielded address that was formerly registered to the pool.</li></ul>
<p>When you log in, the <code>Recipient address</code> is filled by default with your logged-in address. You can change it depending on how you want to use the tool.</p>
<p>If you set a new account, you will be able to log into the pool later, check your Tornado shielded balance or receive shielded transfers by using either your shielded address or shielded key.</p>
<h4 id="the-following-deposits"><strong>The following deposits 💸</strong></h4>
<p>The following deposits answer to the same rules that the first one, except that the account is already set.</p>
<p>By logging into the pool with your shielded address / key, you can deposit your chosen amounts to your chosen shielded address as you wish to.</p>
<p>⚠️ Since it is a beta version, deposits are currently limited to 1 ETH/transaction. However, if the community wishes to increase this limit, the 1 ETH cap amount can always be changed through a governance proposal.</p>
<h3 id="withdrawing-process">Withdrawing Process</h3>
<figure><img src="/uploads/imported-23df72d83c5cba319a0e3195.gif" alt="" loading="lazy"><figcaption></figcaption></figure>
<p>To withdraw funds from the Nova pool, you can either:</p>
<ul><li>choose from a set of four predetermined amounts (0.1, 0.3, 0.5 &amp; 1 ETH),</li><li>choose a completely customized amount by going through the button <code>Set custom</code>.</li></ul>
<h3 id="custom-option-for-withdrawal">Custom Option For Withdrawal</h3>
<p><strong>The custom option should only be chosen with full knowledge of the following facts and in complete confidence in your actions.</strong></p>
<p>To maintain your privacy, choosing one of the four suggested amounts is strongly recommended as it will allow your withdrawal to blend with the crowd.</p>
<p>Indeed, ddepending on the chosen amount, a connection might be deduced between your initial fund transaction and your withdrawal if:</p>
<ul><li>the initially funded amount &amp; the withdrawn amount are exactly the same,</li><li>the funded &amp; withdrawn amounts can be easily linked through a sum.</li></ul>
<p><em>For instance, a deposit of 0.42 ETH can be linked to a withdrawal of exactly 0.42 ETH or two times 0.21 ETH, which might compromise anonymity. However, with a withdrawal of 0.391 ETH, privacy is better preserved as there is no obvious link between the 0.42 &amp; 0.391 amounts.</em></p>
<h3 id="transctions-through-gnosis-chain-l2">Transctions through Gnosis Chain (L2)</h3>
<p>For cheaper transactions, Gnosis Chain (former xDAI Chain) is used as a Layer-2. To this end, a bridge is used between ETH from the Mainnet &amp; WETH from Gnosis Chain.</p>
<p>Therefore, to prevent spam attacks that will overload the bridge, the withdrawal amount has to be larger than 0.05 ETH.</p>
