# SilenMixer

**SilenMixer** is a zero-knowledge based on-chain mixer designed to anonymize cryptocurrency transactions within the Silensio ecosystem. It enables users to break the on-chain link between sender and receiver, protecting financial privacy without compromising trustlessness or auditability.

In public blockchains, all transactions are transparent by default. This visibility exposes user behavior, wallet holdings, and transaction history to any observer. SilenMixer addresses this by introducing unlinkability and transaction obfuscation through advanced cryptographic methods.

***

### Key Features

**Zero-Knowledge Anonymity**\
SilenMixer utilizes zero-knowledge proofs to verify the validity of transactions without revealing input or output addresses. This ensures complete anonymity while preserving the correctness and integrity of the mixer.

**On-Chain Trustless Execution**\
All mixing operations occur entirely on-chain without any trusted third party. Users interact directly with the smart contract, maintaining full custody over their funds throughout the process.

**Unlinkability by Design**\
Deposits and withdrawals are cryptographically isolated, making it extremely difficult for external observers to correlate them, even through timing analysis or graph tracing.

**Multi-Asset Support**\
SilenMixer is designed to support a wide range of tokens including native coins, wrapped assets, and privacy-enhanced versions of standard ERC-20 tokens.

**Deterministic Fairness**\
The protocol ensures that every participant receives exactly what they are entitled to, with no hidden fees or slippage.

***

### How It Works

1. **Deposit Phase**\
   The user deposits a fixed or variable amount into the SilenMixer contract, generating a unique note tied to a private key.
2. **Commitment Generation**\
   The user submits a cryptographic commitment representing the deposit without revealing the sender’s identity.
3. **Zero-Knowledge Proof**\
   At withdrawal, the user generates a zk-SNARK proof that proves ownership of a valid deposit without revealing which deposit it was.
4. **Withdrawal Phase**\
   The user withdraws the funds to a new address, unlinkable to the original one, completing a fully private transaction cycle.


---

# 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://silensio.gitbook.io/silensio-docs/web3-privacy/silenmixer.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.
