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

# Binary Market Scripts

> create-binary-market, finish-create-market, resolve-binary-market.

## `create-binary-market`

The event-market scaffolder.

```bash theme={"system"}
pnpm binary-market:create \
  --slug btc_80k_eoy \
  --label "BTC > \$80k by EOY 2026" \
  --expiry-ms 1798761600000 \
  --resolver 0x... \
  --execute
```

**Flags**

| Flag          | Required | Description                                            |
| ------------- | -------- | ------------------------------------------------------ |
| `--slug`      | yes      | Must match `/^[a-z0-9_]+$/`. Avoid Move reserved words |
| `--label`     | yes      | Human-readable question shown in UI                    |
| `--expiry-ms` | yes      | Unix ms timestamp                                      |
| `--resolver`  | yes      | Address that will own `ResolverCap`                    |
| `--execute`   | no       | Sign + submit (default: dry-run)                       |

See [Create a Binary Market](/guides/create-event-market).

## `finish-create-market`

Recovery path. If the `sui client publish` succeeded but `create_market` aborted (CLI flakiness, gas budget), recover from the publish digest:

```bash theme={"system"}
pnpm binary-market:finish --digest <publish-tx-digest> --slug btc_80k_eoy --execute
```

Re-queries the chain for the package + `TreasuryCap`s, calls `settlement::create_market<DUSDC>` against an already-published package, and appends the registry entry.

## `resolve-binary-market`

Calls `settlement::mark_resolved` with the market's `ResolverCap`. Signer must own the `ResolverCap`.

```bash theme={"system"}
pnpm binary-market:resolve \
  --settlement <SETTLEMENT_ID> \
  --resolver-cap <RESOLVER_CAP_ID> \
  --package <PACKAGE_ID> \
  --outcome 1 \
  --execute
```

**Flags**

| Flag             | Required | Description                                               |
| ---------------- | -------- | --------------------------------------------------------- |
| `--settlement`   | yes      | `Settlement<COLLATERAL>` shared object id (from registry) |
| `--resolver-cap` | yes      | `ResolverCap` id (from registry)                          |
| `--package`      | yes      | Per-market package id (from registry)                     |
| `--outcome`      | yes      | `1` = YES, `2` = NO                                       |
| `--execute`      | no       | Sign + submit                                             |

Aborts:

* `EWrongCap`. `ResolverCap` doesn't match the `Settlement`. Verify from `.binary-markets/registry.json`.
* Clock-too-early. `clock.timestamp_ms < expiry_ms`. Wait.
