Create submits straight into review (draft -> pending_review); Approve opens the market and seeds its AMM pool (market-catalog-service publishes market.opened).
Decimal odds per outcome (e.g. 1.40) — de-vigged and normalized into the liquidity provider's opening quotes there instead of an even split. Leave every field blank to use an even split; if you fill in one, fill in all of them.
Required. For a sports market, use kickoff — not full-time or the final whistle.
Required. When the real-world result is expected to be known and this market resolved. Must not be before "Closes at".
Every market must declare where its result comes from and what happens in edge cases — shown to traders on the market page before they bet.
At least one required (ties, delays, abandonment, disputes, etc.) — what settles this market when things don't go as expected.
Structured classification market-catalog-service requires on every market (search/discovery features read this) — defaults are reasonable starting points, adjust for this specific market.