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

# Generate proof

## Generate proof

Generate a proof before using proof-gated flows.

### Prerequisites

* Connected wallet on Ethereum Mainnet
* At least `0.001 ETH` plus gas in your wallet

{% hint style="info" %}
The ZK proof is generated entirely in your browser.

Your wallet address never leaves your device.
{% endhint %}

### Steps

1. Go to `https://app.okkult.io/prove`.
2. Click **Generate Proof**.
3. Wait for the sanctions check to complete.
4. Wait for ZK proof generation to complete.
5. Review and confirm the transaction in your wallet.
6. Wait for the transaction confirmation.
7. Your proof certificate is issued and becomes valid for `30 days`.

### What happens at each step

#### 1. Open the proof page

Open the proof flow in the Okkult app.

Make sure your wallet is already connected on Ethereum Mainnet.

#### 2. Start proof generation

Select **Generate Proof** to begin the compliance flow.

The app prepares the proving inputs locally on your device.

#### 3. Wait for the sanctions check

The sanctions check runs locally and usually takes about `2 seconds`.

If the address passes, the app moves to proof generation.

#### 4. Wait for ZK proof generation

The browser generates the zero-knowledge proof locally.

This step usually takes about `5–15 seconds`, depending on device performance.

#### 5. Confirm the transaction

Review the transaction in your wallet before you approve it.

| Item         | Value                 |
| ------------ | --------------------- |
| Proof fee    | `0.001 ETH`           |
| Gas estimate | `100,000–150,000 gas` |

#### 6. Wait for confirmation

Ethereum usually confirms the transaction in about `15 seconds`.

The exact time depends on current network conditions.

#### 7. Receive the certificate

After confirmation, the proof certificate is active.

It remains valid for `30 days`.

{% hint style="warning" %}
If your address appears on any sanctions list, the proof generation will fail at step 3.

You will not be charged.
{% endhint %}

### Cost and timing

| Item                     | Value                 |
| ------------------------ | --------------------- |
| Proof fee                | `0.001 ETH`           |
| Gas                      | `100,000–150,000 gas` |
| Sanctions check          | `~2 seconds`          |
| Proof generation         | `~5–15 seconds`       |
| Transaction confirmation | `~15 seconds`         |
| Certificate validity     | `30 days`             |

{% hint style="success" %}
Set a reminder to regenerate your proof before it expires.

Each proof is valid for 30 days.
{% endhint %}

### Notes

* Keep the browser open during generation.
* Proof time depends on your device.
* Gas cost changes with Ethereum network conditions.

### Next Steps

* [Shield overview](/shield/overview.md)


---

# 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:

```
GET https://docs.okkult.io/proof/generate-proof.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.
