Skip to main content

Redeeming positions

Redemption becomes available after a market's effective status is Finalized. The process differs between YES/NO finalization and a CANCELED result.

YES or NO wins

For a normal final result, only the winning outcome token is redeemable:

1 winning outcome token -> 1 USDC payment token

If YES wins, YES can be redeemed and NO has no redemption value. If NO wins, NO can be redeemed and YES has no redemption value.

Users can redeem part or all of their winning-token balance. The winning token must be approved directly to the market contract for the amount being redeemed.

Canceled market

A CANCELED market uses a separate withdrawal function. It consumes the wallet's complete YES and NO balances for that market and pays half a USDC payment token for each outcome token:

USDC payment returned = (YES balance + NO balance) / 2

Examples:

Wallet balancePayment returned
1 YES and 1 NO1 USDC payment token
2 YES and 0 NO1 USDC payment token
0 YES and 3 NO1.5 USDC payment tokens

Any nonzero YES or NO balance being surrendered must be approved directly to the market. The canceled-market action always withdraws the wallet's full balances; it is not a partial redemption.

Precision

Outcome tokens use 18 decimals, while the USDC payment token may use fewer decimals. Redemption uses integer conversion into the USDC payment token's smallest unit. Very small outcome-token balances can therefore produce zero USDC payment-token output and should not be submitted as dust-only withdrawals.

First redemption

The first successful redemption or canceled-market withdrawal may also finalize stored market state and settle outstanding oracle bonds and rewards. This does not reduce the normal collateral amount owed to the redeeming user, provided the market is correctly funded and the transaction succeeds.

Common reasons redemption is unavailable

  • The market is not effectively finalized.
  • The wallet holds no winning token or no canceled-market outcome tokens.
  • The required token allowance is missing.
  • The market or manager is paused.
  • Live token, winner, or claimable-amount reads are unavailable or inconsistent.
  • The wallet is on the wrong network or lacks ETH for gas.