Documentation Index
Fetch the complete documentation index at: https://docs.adipredictstreet.com/llms.txt
Use this file to discover all available pages before exploring further.
When to use
Binary markets only cover two outcomes. For questions with 3+ exclusive outcomes — e.g. “Who wins the Premier League?” with Arsenal / Chelsea / Draw / Other — PredictStreet uses a neg-risk market backed by theNegRiskAdapter contract.
Neg-risk lets you trade each outcome independently as a separate
binary YES/NO, but guarantees collateral efficiency via
convertPositions: holding the full set of NO tokens is equivalent
to holding 1 USDC, which can be converted back atomically.
Differences from binary
| Binary | Neg-risk | |
|---|---|---|
| Outcomes | 2 | 3+ |
| Settlement adapter | CTFExchange | PredictStreetNegRiskCtfExchange |
verifyingContract in EIP-712 | CTFExchange address | Neg-risk exchange address (different!) |
| Position derivation | getPositionId(collateral, conditionId, indexSet) | via NegRiskAdapter.getPositionId(marketId, outcomeIndex) |
convertPositions available | ❌ | ✅ |
Outcome indexing
For a 4-outcome market (["Arsenal", "Chelsea", "Draw", "Other"]),
outcomes are "0", "1", "2", "3". Each outcome has its own
YES and NO tokens.
convertPositions
The neg-risk invariant: holding NO across all outcomes except one is equivalent to holding 1 USDC.convertPositions collapses that
basket into collateral atomically.
Resolution
The oracle settles each outcome independently against the sameconditionId. At resolution, reportPayouts is called with a
payout array where exactly one outcome is 1 and the rest are 0.