> ## Documentation Index
> Fetch the complete documentation index at: https://docs.testnet.dev.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

`0x3BE93B8e19b73e1b21B65adFFEF4ef248715D21B` (testnet);
`PredictStreetNegRiskCtfExchange` at
`0x2eB97912c333963a21410Af1eF7E9a0aAB7631bf`.
