Goal: support capital-efficient multi-outcome events (only one outcome wins) via the negative-risk mechanism — relating positions across all outcomes through a conversion op.
Builds on Verex’s existing Polymarket CTF backbone — adopts Polymarket’s Neg Risk Adapter
- Neg Risk CTF Exchange rather than re-inventing them.
Scope note: neg risk applies to mutually exclusive events only. For the wider question of which event types force the outcome probabilities to sum to 100% — and the nested / multi-winner groups where they legitimately don’t — see market-groups.md.
Verex currently does binary YES/NO markets. For an N-outcome event (e.g. “Who wins the election?”), independent binary markets are capital-inefficient: buying one outcome’s No has no relationship to the others. Negative risk makes “bet against A” ≡ “bet for all others.”
convert → receive 1 Yes for every other outcome.negRisk: true in the order options (SDK/CLI), and the API exposes a negRisk
boolean on events/markets.For races where new outcomes appear after launch (e.g. a new candidate):
enableNegRisk: true + negRiskAugmented: true; SDK option is always negRisk: true.ctf-exchange submodule).negRisk order option to sign/fill; expose a convert command.negRisk on markets/events; index conversion events.questionId design for multi-outcome vs binary.negRisk support — order option + a convert commandnegRisk flag + multi-outcome UI