# Proof of Innocence(POI)

<figure><img src="/files/KmGDUZgvZVphvvSi8M0K" alt=""><figcaption></figcaption></figure>

**Compliance without compromise. Privacy without suspicion.**

In today’s regulatory environment, privacy users are often treated with skepticism as if private equals guilty. Veilon’s Proof of Innocence (PoI) flips that narrative by giving you a way to prove your funds are clean without exposing yourself.

***

### <mark style="color:yellow;">What is PoI?</mark>

Proof of Innocence (PoI) is a zero-knowledge proof that allows a user to demonstrate their shielded funds do *not* originate from blacklisted or suspicious addresses all without revealing:

* Their wallet address
* Their source of funds
* Any transaction history
* Their current or past balances

> *You prove what’s not true without showing what is true.*

***

### <mark style="color:yellow;">How It Works</mark>

1. Veilon maintains an up to date list of known blacklisted addresses, flagged by compliance partners or public sources.
2. When you shield funds and later wish to unshield or prove origin, you generate a ZK proof that:
   * Confirms your funds did not originate from any blacklisted source
   * Does not reveal which commitment or transaction is yours
3. This proof is verifiable onchain or offchain, depending on the use case.

> Example:\
> You're withdrawing shielded USDC to a centralized exchange. The exchange requires a basic origin check. You present a Proof of Innocence, and the system verifies you're not tainted without knowing anything else about you.

***

### <mark style="color:yellow;">Key Benefits</mark>

* **Keep your identity private**\
  You never need to dox your wallet or provide a chain of custody.
* **Stay compliant without exposure**\
  Perfect for KYC-sensitive platforms, institutions, or DAOs.
* **No transaction history leaks**\
  Unlike chain analysis tools, PoI reveals *zero data* about your activity.
* **Auditable and Verifiable**\
  Can be submitted to third parties, regulators, or protocols for optional review.


---

# 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://docs.veilon.io/features/proof-of-innocence-poi.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.
