> ## Documentation Index
> Fetch the complete documentation index at: https://clawmind.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Verification Guide

> A short checklist for proving that a ClawMind report was stored on 0G Storage and anchored on 0G Chain.

# Verification Guide

Use this page when you need to prove that a ClawMind result was not just displayed in the UI, but persisted and anchored.

```text theme={null}
report JSON -> 0G Storage root hash -> 0G Chain registry entry
```

<Info>
  Live registry: `0x24bAAC6720ae5B01A1CC90eCC1C15AFcb903E121` on 0G Mainnet, Chain ID `16661`.
</Info>

***

## Fast Check

```bash theme={null}
# Open the public telemetry dashboard in a browser:
# https://clawmind-puce.vercel.app/stats
curl https://clawmind-puce.vercel.app/api/judge
curl https://clawmind-puce.vercel.app/api/verify
```

If the deployment is healthy, `/stats` should show live telemetry and `/api/verify` should return:

| Field                       | Expected          |
| --------------------------- | ----------------- |
| `verified`                  | `true`            |
| `contract.chainId`          | `16661`           |
| `onChain.registryMode`      | `SIGNED_OPERATOR` |
| `onChain.signatureVerified` | `true`            |

***

## Full Manual Check

### 1. Run an analysis

```bash theme={null}
curl -X POST https://clawmind-puce.vercel.app/api/analyze \
  -H "Content-Type: application/json" \
  -d '{"task":"Review a self-custodial trading agent with private key storage and no withdrawal guards."}'
```

Save the returned `taskId`.

### 2. Poll until complete

```bash theme={null}
curl "https://clawmind-puce.vercel.app/api/status?taskId=YOUR_TASK_ID"
```

In the completed response, check:

| Field                                     | Expected            |
| ----------------------------------------- | ------------------- |
| `result.receipt.provider`                 | `0G_STORAGE`        |
| `result.receipt.storageUri`               | Starts with `0g://` |
| `result.onChainReceipt.provider`          | `0G_CHAIN`          |
| `result.onChainReceipt.registryMode`      | `SIGNED_OPERATOR`   |
| `result.onChainReceipt.signatureVerified` | `true`              |

### 3. Retrieve the stored report

```bash theme={null}
curl -X POST https://clawmind-puce.vercel.app/api/report/retrieve \
  -H "Content-Type: application/json" \
  -d '{"storageUriOrRootHash":"0g://YOUR_ROOT_HASH"}'
```

The retrieved report should match the score, recommendation, and task from the completed analysis.

### 4. Open the chain proof

Open the transaction URL from:

```text theme={null}
result.onChainReceipt.explorerTxUrl
```

Or inspect the registry directly:

<Card title="0G Explorer - ClawMind Registry" icon="arrow-up-right-from-square" href="https://chainscan.0g.ai/address/0x24bAAC6720ae5B01A1CC90eCC1C15AFcb903E121">
  View ClawMind analysis records on 0G Chain.
</Card>

***

## What Can Fail

| Symptom                           | Meaning                                   |
| --------------------------------- | ----------------------------------------- |
| `LOCAL_FALLBACK` storage          | Report was not uploaded to 0G Storage.    |
| `NOT_CONFIGURED` on-chain receipt | Registry write did not run.               |
| `LEGACY_UNAUTHENTICATED`          | Old registry mode; not EIP-712 signed.    |
| `signatureVerified: false`        | Operator signature is missing or invalid. |
| `taskId` returns `404`            | Task expired or Redis is not configured.  |

For deployment debugging, call:

```bash theme={null}
curl https://YOUR_DOMAIN/api/debug \
  -H "Authorization: Bearer YOUR_DEBUG_API_TOKEN"
```
