Skip to main content

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.

NegRiskAdapter adds multi-outcome market support on top of ConditionalTokens. Paired with PredictStreetNegRiskCtfExchange.

Why separate from binary

Binary markets = 2 outcomes, 2 position tokens. Multi-outcome could use one condition per outcome, but that’s collateral-inefficient — holding NO across all outcomes should equal 1 USDC, traded atomically.

Market setup

function prepareMarket(
    bytes32 marketId,
    bytes32[] calldata questionIds,
    uint256 outcomeCount
) external;

convertPositions

function convertPositions(
    bytes32 marketId,
    uint256 indexSet,
    uint256 amount
) external;
Example: 4-outcome market; hold NO on outcomes 1, 2, 3 (indexSet 0b1110), want to collapse to USDC — burn 1 NO_1 + 1 NO_2 + 1 NO_3, receive 1 USDC.

Via the API

Partners typically call through the vault’s dual-sig path:
POST /api/vault/convert-signature

Resolution

Each outcome settled independently against the same conditionId. At resolution, reportPayouts called with payout array.

Source

0xBD9bAEF019793D3326DC2191F21C93Ff2df4ecEC; PredictStreetNegRiskCtfExchange at 0x65A068b3C1C3088B1B23499A6104045f2b661B3e.