Structure
Each binary market has exactly two outcomes:outcome=0 and
outcome=1. On-chain this corresponds to a single conditionId with
outcomeSlotCount=2 on ConditionalTokens.
Token IDs are derived deterministically from the condition:
yesTokenId= position ID for the0b01index set (outcome 0 YES)noTokenId= position ID for the0b10index set (outcome 1 YES)
Trading
Useoutcome: "0" or outcome: "1" in the order request. The server
resolves this to the correct tokenId for you. Internally the
Order.tokenId field in the EIP-712 payload carries the raw position
ID.
Split and merge
A user can exchange 1 USDC for a full set{1 YES, 1 NO}, or collapse
a full set back into 1 USDC:
Settlement
- The platform proposes the outcome via
Oracle.proposeOutcome. - The challenge window opens (2 hours by default).
- If no challenge, contract
reportPayoutstoConditionalTokens, unlocking redemption. - Holders redeem winning position tokens through their vault — the
tokens sit in the vault, so calling
ConditionalTokens.redeemPositionsfrom your EOA pays nothing. With auto-redeem on (the default), the platform redeems winnings of at least 1 USDC for you within a few minutes. For smaller winnings, or with auto-redeem off, usePOST /api/me/positions/redeem(the platform pays the gas) orVault.redeemPositions(conditionId, indexSets); see Market status.