Skip to main content

create-binary-market

The event-market scaffolder.
pnpm binary-market:create \
  --slug btc_80k_eoy \
  --label "BTC > \$80k by EOY 2026" \
  --expiry-ms 1798761600000 \
  --resolver 0x... \
  --execute
Flags
FlagRequiredDescription
--slugyesMust match /^[a-z0-9_]+$/. Avoid Move reserved words
--labelyesHuman-readable question shown in UI
--expiry-msyesUnix ms timestamp
--resolveryesAddress that will own ResolverCap
--executenoSign + submit (default: dry-run)
See Create a Binary 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:
pnpm binary-market:finish --digest <publish-tx-digest> --slug btc_80k_eoy --execute
Re-queries the chain for the package + TreasuryCaps, 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.
pnpm binary-market:resolve \
  --settlement <SETTLEMENT_ID> \
  --resolver-cap <RESOLVER_CAP_ID> \
  --package <PACKAGE_ID> \
  --outcome 1 \
  --execute
Flags
FlagRequiredDescription
--settlementyesSettlement<COLLATERAL> shared object id (from registry)
--resolver-capyesResolverCap id (from registry)
--packageyesPer-market package id (from registry)
--outcomeyes1 = YES, 2 = NO
--executenoSign + submit
Aborts:
  • EWrongCap. ResolverCap doesn’t match the Settlement. Verify from .binary-markets/registry.json.
  • Clock-too-early. clock.timestamp_ms < expiry_ms. Wait.