> For the complete documentation index, see [llms.txt](https://mixfun.gitbook.io/mixfun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mixfun.gitbook.io/mixfun/overview/what-is-mixfun.md).

# About MixFun

> Understand what MixFun is, how it works, and what makes it different.

## Introduction

MixFun is a non-custodial privacy mixer for Solana.

It uses zero-knowledge proofs and on-chain pools to let you deposit, send, or swap tokens without leaving a public link between your wallet and the recipient's wallet. Every transaction settles on Solana under your control.

MixFun does not hold funds, maintain balances, or act as a counterparty. Pools live on-chain as program accounts. MixFun helps build proofs, and can relay transactions on your behalf when you ask, but no transfer happens without a signature: yours when you deposit, the note holder's when they withdraw directly, or the relayer's when you or the note holder route a proof through it.

## What MixFun does

MixFun breaks the on-chain link between the sender and the receiver of a transaction. You deposit into a shared pool, and a withdrawal is made from that same pool by whoever holds the spend note. To an outside observer, the deposit and the withdrawal look like independent events.

Four flows cover different privacy needs:

* **Private Send.** Fixed-denomination SOL pools with shared notes.
* **Shielded Pools.** Multi-token privacy pools (SPL tokens, including Token2022).
* **Private Swap.** Flexible-amount swaps with intent-based cross-mint execution.
* **Stealth Transfers.** One-time stealth addresses that only the recipient can find.

Each flow is documented separately with a "Designed for / Not designed for" guide.

## MixFun is a non-custodial mixer

Unlike custodial mixers, MixFun never holds user funds. Pools are on-chain program accounts. Withdrawals are gated by zero-knowledge proofs derived from a note that only you hold. No operator can freeze a deposit or redirect a withdrawal.

Think of it like a shared piggy bank. Many people drop coins in. Anyone with the matching scrap of paper can take a coin out. Nobody watching the bank can tell which paper goes with which drop.

## Who MixFun is for

### Designed for

* Paying contributors or collaborators without revealing your main wallet
* Receiving SOL or tokens into a wallet you want to keep unlinked
* Splitting a balance across withdrawals you control yourself
* Swapping tokens without revealing the amount or route from your wallet
* Any on-chain activity where the default transparency of Solana is too much

### Not designed for

* Hiding that you interacted with MixFun. Deposits and withdrawals are still on-chain events.
* Hiding the amount at deposit time. Most pools use fixed denominations.
* Evading sanctions, court orders, or platform restrictions.
* Long-term storage. MixFun is a transit layer, not a wallet.

## Quickstart

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Connect a wallet</strong></td><td>First step to using MixFun.</td><td><a href="/pages/QGtsvHxJ4kDKSILu0hDb">/pages/QGtsvHxJ4kDKSILu0hDb</a></td></tr><tr><td><strong>Private Send</strong></td><td>Send SOL privately using a shared note.</td><td><a href="/pages/MCiF4c2HFX5qYRW5upfG">/pages/MCiF4c2HFX5qYRW5upfG</a></td></tr><tr><td><strong>Shielded Pools</strong></td><td>Privacy for SPL tokens.</td><td><a href="/pages/WDFlnRd1uosRjNrCZU33">/pages/WDFlnRd1uosRjNrCZU33</a></td></tr><tr><td><strong>Stealth Transfers</strong></td><td>One-time addresses for private receiving.</td><td><a href="/pages/57vz0TXOKWg4HdaglD9z">/pages/57vz0TXOKWg4HdaglD9z</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://mixfun.gitbook.io/mixfun/overview/what-is-mixfun.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
