redeemPositions function on the Conditional Tokens contract burns the user’s shares and pays out USDC based on the resolved outcome.
Every resolved market generates redemption events as holders claim their payouts. A non-zero payout means the user held winning shares. A zero payout means the user redeemed losing shares (no collateral returned).
Recent redemption events also include the market’s resolved payout vector when available. Use winning_outcome, winning_token_id, or the ordered payouts / outcome_prices arrays to identify which outcome won without making a second market lookup.
This is the comprehensive redemption event class. It includes direct Conditional Tokens redemptions and PM2 AutoRedeemer payouts for normal Binary/NegRisk positions and generic combo positions. For AutoRedeemer transactions, redeemer is the user wallet from the AutoRedeemer log, not the contract, and source identifies the route.
Fields
string
required
Always
"redemption".number
required
Block timestamp in Unix milliseconds.
object
required
Use cases
- Payout tracking — monitor who is cashing out resolved positions and how much they receive
- Wallet PnL — combine with trade data to calculate realized profit/loss per wallet
- Market lifecycle — track the full arc from trading to resolution to redemption
- Winning wallet alerts — filter for large
payoutvalues to spot big winners as they redeem - Outcome-aware automations — use
winning_outcomeoroutcome_pricesdirectly instead of waiting on slower market metadata refreshes
Subscribing
Subscribe directly to redemptions:type: "combos" with event_types: ["combo_lifecycle"] and action: "Redeem". If you subscribe to both surfaces, a generic combo AutoRedeemer payout can appear in both shapes; correlate or deduplicate it with tx_hash and log_index.
Filter to only winning redemptions using min_size:

