Skip to main content

register-market

Register a MarketLink in the shared MarketRegistry. Two kinds:
# Price-oracle market
pnpm market:register --kind price \
  --question "Will BTC close above \$100k on Jun 30, 2026?" \
  --oracle-svi 0x... \
  --expiry 1719792000000 \
  --category crypto \
  --execute

# Optimistic-oracle market (sports / politics / geopolitics)
pnpm market:register --kind oo \
  --question "Will a European team win the 2026 World Cup?" \
  --event-end-ms 1721433600000 \
  --category sports \
  --execute
Flags
FlagRequiredDescription
--kindyesprice or oo
--questionyesHuman-readable text
--categoryyescrypto | sports | politics | geopolitics | macro
--oracle-svifor pricePredict OracleSVI id
--expiry / --event-end-msyesUnix ms timestamp
--spec-blob-idnoWalrus blob id of long-form rules (default: empty)
--spec-hashnoblake2b hash of spec blob (default: zeros)
--executenoSign + submit
Captures the MarketLink id from objectChanges and suggests the .env key (BTC_MARKET_LINK_ID for price, SPORTS_OO_MARKET_LINK_ID for OO).

create-seal-policy

Creates + shares a fresh seal_policy::AccessPolicy on the current package. dark_pool::deposit takes &AccessPolicy of the deployed package’s type, so every republish needs a fresh one.
pnpm tsx scripts/create-seal-policy.ts --execute
Paste the id into both:
  • .env: AGENT_SEAL_POLICY_ID=0x…
  • packages/frontend/src/lib/env.ts: DEFAULT_SEAL_POLICY_ID = '0x…'
The vault deposit PTB always passes this policy as an opaque argument.