> For the complete documentation index, see [llms.txt](https://void-protocol-2.gitbook.io/void-protocol-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://void-protocol-2.gitbook.io/void-protocol-docs/user-guide/private-routing-legacy-private-swap.md).

# Private Swap and Private Routing

{% hint style="success" %}
**Private Swap (`/swap`) is live on Robinhood Chain Testnet** and listed in the app menu as **Private Swap**.
{% endhint %}

### Private Swap

Private Swap turns one private balance into another, for example tUSDG into WETH, without the funds leaving VOID.

* It spends your private notes and returns the result to your private balance as a new note.
* The **VOID relayer** submits each transaction and pays the gas, so your wallet is not the on-chain sender and you pay no gas or relay fee.
* If the two assets do not share a market, the swap runs in steps through an intermediate asset. Each step is a separate relayed private trade.
* The **0.5% VOID trade fee is charged on each step**, so a two-step swap costs 1% in VOID fees in total. Uniswap pool fees and price impact are shown in the quote.
* Each step must spend at least the private trade minimum for its input asset: **1 tUSDG**, **0.0002 WETH** or **200 VOID**.
* Slippage protection applies to every step. The steps are **not atomic**: if the price moves past your minimum before the last step, the swap stops and the intermediate asset stays in your private balance.

The underlying pool execution is public, as described below.

Private Buy and Private Sell use the same private trading flow and the same routing.

### Route Selection

VOID quotes the available routes between the selected assets, including:

* direct **Uniswap V2** pairs
* routes through **WETH**
* the **ETH / VOID Uniswap v4** launch-tax hook pool with a **1% fee** (launch tax now 0%)

Within each private trade (a Private Buy, a Private Sell or one step of a Private Swap), the best route is executed on-chain in **one transaction**.

The **0.5% VOID trade fee is charged once per trade**, regardless of how many pools that trade's route uses.

Uniswap pool fees and price impact are included in the quote.

{% hint style="info" %}
The current testnet runs on the testnet VOID token. The legacy VEIL test token and its test pools are retired and are no longer used for routing.

Testnet assets have no value and are not the future mainnet VOID token or launch pool.
{% endhint %}

### Gasless Swap

{% hint style="info" %}
**Gasless Swap (`/gasless`) is live on Robinhood Chain Testnet** and listed in the app menu. It is a **public swap** from your wallet, not a private one.
{% endhint %}

Gasless Swap lets you swap tokens from a **public wallet without paying the swap gas in ETH**. You sign the swap, and the VOID relayer submits it.

The relayer pays the gas and deducts:

* the network cost
* the **0.5% VOID fee**

from the output amount.

Route selection includes the network cost, so a longer route is only selected when it still provides a better final result after gas.

A token's first gasless swap needs a one-time approval. A wallet that holds enough ETH pays it, and the relayer covers it only for wallets with too little ETH.

### What Is Public

The underlying Uniswap execution remains visible on-chain, including:

* pools used
* amounts
* transaction time
* the VOID relayer as the transaction sender

{% hint style="warning" %}
Private routing protects the link between your wallet and private-note history, but it does **not hide the underlying pool execution**.
{% endhint %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://void-protocol-2.gitbook.io/void-protocol-docs/user-guide/private-routing-legacy-private-swap.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
