> 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/developers/proof-service.md).

# Proof Service

VOID uses a **hosted proof service** to generate zero-knowledge proofs using **Noir circuits** and **UltraHonk proofs**.

### Circuits

The current proof system supports:

* **Shield** — deposits into private balance
* **Transfer** — Private Send
* **Unshield** — withdrawals
* **Trade** — Private Buy, Private Sell and Private Swap

{% hint style="info" %}
The legacy **Swap** verifier is still deployed, but the pool's legacy fixed-rate swap entry point is **permanently disabled**. Private Buy, Sell and Swap all use the **Trade** circuit.
{% endhint %}

### Trust Model

The hosted proof service receives the prover inputs required for each request, including note data.

The proof service:

* does **not** control user keys
* cannot authorize a spend by itself
* cannot independently move user funds
* generates proofs that are verified on-chain before execution

Spending still requires the user's keys.

{% hint style="warning" %}
The hosted proof service can see the data supplied for proof generation.

This means users are currently trusting the operator with the privacy of those prover inputs.
{% endhint %}

### What the Proof Service Cannot Do

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Spend Funds</strong></td><td>It cannot spend private notes without the user's keys.</td></tr><tr><td><strong>Change Proof Rules</strong></td><td>Proofs must satisfy the deployed circuit rules and pass on-chain verification.</td></tr><tr><td><strong>Bypass Verification</strong></td><td>An invalid proof is rejected by the verifier contract.</td></tr></tbody></table>

### Local Proving

**Local browser proving is planned.**

This will allow proofs to be generated on the user's device rather than sending prover inputs to the hosted proof service.

{% hint style="info" %}
Local proving is intended to remove the current privacy dependency on the hosted prover.

It is not live on Robinhood Chain Testnet today.
{% endhint %}

### Before Mainnet

Planned production improvements include:

* local browser proving
* rate limits
* abuse protection
* proof-request timeouts
* queue limits
* production monitoring and reliability controls

{% hint style="warning" %}
The current hosted prover is part of the testnet architecture and should not be treated as the final mainnet trust model.
{% 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/developers/proof-service.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.
