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

# pop vote

Governance & voting

## pop vote create

Create a proposal

```text
pop vote create [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--calls` | string | no | - | JSON array of execution calls for option 0: [{"target":"0x...","value":"0","data":"0x..."}] |
| `--description` | string | yes | - | Proposal description |
| `--duration` | number | yes | - | Duration in minutes |
| `--equal-weight` | boolean | no | - | Restricted hybrid poll: count each eligible voter once |
| `--hat-ids` | string | no | - | Legacy alias for --subject-ids |
| `--idempotency-key` | string | no | - | Task #369 (HB#213): explicit idempotency key. Two calls with the same orgId + this key within 15 minutes return the same proposalId without re-submitting. Default: auto-derived from a hash of the full argv (transient fields like --private-key and --dry-run excluded). Use --no-idempotency to opt out entirely. |
| `--name` | string | yes | - | Proposal title |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit a new proposal. Use only when you intentionally want a duplicate write. |
| `--options` | string | yes | - | Comma-separated option names |
| `--quorum-override` | number | no | - | Restricted poll voter-count quorum (executable polls cannot lower the global quorum) |
| `--subject-ids` | string | no | - | Comma-separated authority subject IDs for restricted voting |
| `--type` | string | yes | - | Voting type (choices: `hybrid`, `dd`) |

## pop vote cast

Cast a vote

```text
pop vote cast [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--idempotency-key` | string | no | - | Task #370 (HB#214): explicit idempotency key. Two casts of the same vote within 15 minutes return the same result without re-submitting. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--options` | string | yes | - | Comma-separated option indices to vote for |
| `--proposal` | string | yes | - | Proposal ID (number) or fuzzy title query (e.g. "bridge retry") |
| `--type` | string | yes | - | Voting type (choices: `hybrid`, `dd`) |
| `--weights` | string | yes | - | Comma-separated weights (must sum to 100) |

## pop vote list

List proposals

```text
pop vote list [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--status` | string | no | - | Status filter (choices: `Active`, `Ended`, `Executed`) |
| `--type` | string | no | `all` | Voting type filter (choices: `hybrid`, `dd`, `all`) |
| `--unvoted` | boolean | no | - | Only show proposals where I have not voted (requires key) |

## pop vote announce

Announce proposal winner

```text
pop vote announce [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--force` | boolean | no | `false` | Skip pre-flight check and announce anyway |
| `--idempotency-key` | string | no | - | Task #375 (HB#217) idempotency cache. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache. |
| `--proposal` | string | yes | - | Proposal ID (number) or fuzzy title query |
| `--type` | string | yes | - | Voting type (choices: `hybrid`, `dd`) |

## pop vote execute

Execute a passed proposal's calls

```text
pop vote execute [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--idempotency-key` | string | no | - | Task #375 (HB#217) idempotency cache. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache. |
| `--proposal` | string | yes | - | Proposal ID (number) or fuzzy title query |

## pop vote announce-all

Announce all ended proposals

```text
pop vote announce-all [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--idempotency-key` | string | no | - | Explicit idempotency key for the batch (default: derived from argv). |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always re-run the batch. |

## pop vote propose-quorum

Create a proposal to change voting quorum

```text
pop vote propose-quorum [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--duration` | number | no | `60` | Vote duration in minutes |
| `--idempotency-key` | string | no | - | Explicit idempotency key (default: derived from argv). |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--quorum` | number | yes | - | New quorum value (minimum voter COUNT, not a percentage) |

## pop vote propose-config

Create a proposal to change a governance config parameter

```text
pop vote propose-config [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--duration` | number | no | `60` | Vote duration in minutes |
| `--idempotency-key` | string | no | - | Explicit idempotency key (default: derived from argv). |
| `--key` | string | yes | - | Configuration parameter name (choices: `threshold`, `quorum`, `target-allowed`, `executor`) |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--value` | string | yes | - | New value |

## pop vote analyze

Analyze a hybrid vote — power breakdown and counterfactuals

```text
pop vote analyze [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--proposal` | number | yes | - | Proposal ID to analyze |

## pop vote results

Show vote results with option names and rankings

```text
pop vote results [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--proposal` | string | yes | - | Proposal ID (number) or fuzzy title query |

## pop vote classes

Show or propose the hybrid voting class configuration (show / propose)

```text
pop vote classes <sub> [flags]
```

| Positional | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `<sub>` | - | yes | - | - |

### pop vote classes show

Show the hybrid voting class config + support threshold and quorum

```text
pop vote classes show [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--proposal` | string | no | - | Show the class snapshot frozen for one proposal (ID or fuzzy title query) instead of the live config |

### pop vote classes propose

Propose replacing the voting classes via setClasses (governance vote)

```text
pop vote classes propose [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--duration` | number | no | `60` | Vote duration in minutes |
| `--file` | string | yes | - | Path to a ClassConfig[] JSON file (strategy, slicePct, quadratic, minBalance, asset, subjectIds; optional subjectId sets a stable binding, 0 clears it) |
| `--idempotency-key` | string | no | - | Explicit idempotency key (default: derived from argv). |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |

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