<!-- AUTO-GENERATED by scripts/generate-cli-docs.ts — do not edit. Regenerate: yarn docs:gen -->

# pop zkemail

ZK Email role invites (allowlists)

## pop zkemail status

Module wiring, active allowlist root/CID, and dormancy

```text
pop zkemail status [flags]
```

## pop zkemail allowlist

List who is invited and which role hats they get

```text
pop zkemail allowlist [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--verify` | boolean | no | `false` | Fetch the allowlist file from IPFS and recompute its merkle root against the on-chain commit |

## pop zkemail check

Check whether a domain/address is invited and can still claim

```text
pop zkemail check <identifier> [flags]
```

| Positional | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `<identifier>` | string | yes | - | A domain (anthropic.com) or address (alice@org.com) |

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--proof` | boolean | no | `false` | Also emit the merkle proof for this entry |

## pop zkemail claims

Who has claimed a role via a ZK Email invite

```text
pop zkemail claims [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--limit` | number | no | `50` | Maximum claims to show (most recent first) |

## pop zkemail build-allowlist

Compute an allowlist doc + merkle root, optionally pin to IPFS

```text
pop zkemail build-allowlist [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--domain` | string | no | - | Invite a whole domain, e.g. --domain anthropic.com (repeatable) |
| `--email` | string | no | - | Invite a specific address, e.g. --email alice@org.com (repeatable) |
| `--file` | string | no | - | JSON file of allowlist entries (or an existing allowlist doc to re-publish) |
| `--hat` | string | no | - | Hat ID(s) granted to every --domain/--email entry (repeatable) |
| `--out` | string | no | - | Write the allowlist JSON to this path |
| `--pin` | boolean | no | `false` | Pin the allowlist to IPFS (otherwise compute locally only) |

## pop zkemail propose-allowlist

Propose committing an allowlist root + CID (executor-gated)

```text
pop zkemail propose-allowlist [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--cid` | string | yes | - | IPFS CIDv0 of the pinned allowlist file |
| `--duration` | number | no | `1440` | Voting window in minutes (default 24h) |
| `--root` | string | yes | - | Merkle root from pop zkemail build-allowlist |
| `--skip-verify` | boolean | no | `false` | Skip fetching the pinned file to confirm it reproduces --root (not recommended) |

_Global flags: --org, --chain, --rpc, --json, --address, --private-key, --dry-run, --yes, --verbose, --quiet, --preflight (see [index.md](index.md))_
