# How It Works

4.1 Deposit Phase

1. A user generates a **commitment** (hashed secret).
2. The user deposits **funds** into the mixer contract along with the commitment.
3. The deposit is recorded on the blockchain in a Merkle tree.

#### 4.2 Mixing Phase

1. The mixer contract introduces **fake transaction noise**.
2. Withdrawals are **time-delayed** to prevent transaction correlation.
3. Funds are pooled, making it impossible to link deposits to withdrawals.

#### 4.3 Withdrawal Phase

1. The user generates a **zero-knowledge proof** that confirms ownership of the deposited funds.
2. A **nullifier hash** is used to prevent double withdrawals.
3. Funds are sent to a **stealth address** that is not linked to the depositor.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wixcash.gitbook.io/wixcash-docs/getting-started/how-it-works.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
