> ## 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

> Multi-outcome market adapter with convertPositions.

`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

```solidity theme={null}
function prepareMarket(
    bytes32 marketId,
    bytes32[] calldata questionIds,
    uint256 outcomeCount
) external;
```

## convertPositions

```solidity theme={null}
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:

```http theme={null}
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`.
