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 USDG 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 USDG payment token for each outcome token:
USDG payment returned = (YES balance + NO balance) / 2
Examples:
| Wallet balance | Payment returned |
|---|---|
| 1 YES and 1 NO | 1 USDG payment token |
| 2 YES and 0 NO | 1 USDG payment token |
| 0 YES and 3 NO | 1.5 USDG 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 USDG payment token may use fewer decimals. Redemption uses integer conversion into the USDG payment token's smallest unit. Very small outcome-token balances can therefore produce zero USDG 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.