Emitted for combo lifecycle actions when the event can be represented with enriched legs. AutoRedeemer redemption confirmations can also be emitted without legs when the receipt itself provides the user wallet, condition ID, exact payout, normalized payout, module name, and log index.
{
"type": "combo_lifecycle",
"timestamp": 1781054112400,
"data": {
"event_type": "combo_lifecycle",
"tx_hash": "0xabc...",
"status": "confirmed",
"detected_at": 1781054112400,
"block_number": 88232739,
"log_index": 44,
"action": "Redeem",
"user": "0xUser...",
"combo_condition_id": "0xcombo...",
"condition_ids": ["0xcombo..."],
"module_id": 3,
"module_name": "CombinatorialModule",
"position_ids": ["123..."],
"source_position_ids": ["123..."],
"leg_position_ids": ["111...", "222..."],
"legs": [
{
"position_id": "111...",
"leg_outcome_label": "Yes",
"market": {
"title": "Will Team A win?",
"slug": "will-team-a-win"
}
}
],
"amount_e6": "1000000",
"amount_usdc": 1,
"payout_e6": "1000000",
"payout_usdc": 1
}
}
Actions
action can be:
Prepare, Split, Merge, HorizontalSplit, HorizontalMerge, Convert, Redeem, Wrap, Unwrap, Transfer, Compress, Extract, Inject, ConvertToYesBasket, or MergeFromYesBasket.
Subscribing
Lifecycle events are not included in the default combos preset. Request them explicitly:
{
"action": "subscribe",
"type": "combos",
"filters": {
"event_types": ["combo_lifecycle"]
}
}
Filter by lifecycle action:
{
"action": "subscribe",
"type": "combos",
"filters": {
"event_types": ["combo_lifecycle"],
"action": "Redeem"
}
}
AutoRedeemer redemptions can be consumed through the combo lifecycle stream:
{
"type": "combo_lifecycle",
"data": {
"event_type": "combo_lifecycle",
"tx_hash": "0x...",
"status": "confirmed",
"block_number": 88462228,
"log_index": 27,
"action": "Redeem",
"user": "0xde0a3c61f87da595b215f88254a9473e6152f102",
"condition_ids": ["0xd7e68ef0dfabc386f97ffdc330ecff4908cda4d08c5fc5931503f1e60cac0dfe"],
"module_name": "AutoRedeemer",
"payout_e6": "4500000000",
"payout_usdc": 4500,
"diagnostics": {
"decoded_function": "AutoRedeemer.NegRiskRedemption"
}
}
}
Fields
Wallet that initiated or received the lifecycle action.
Receipt log index for confirmed lifecycle events.
Combo condition ID when available.
Condition IDs involved in the lifecycle action.
Event IDs for combo legs when available.
Combo module ID. Common values are 1 for binary, 2 for negative-risk, and 3 for combinatorial legs.
Human-readable module name when available.
YES combo position ID when the lifecycle action creates or affects a combo position.
NO combo position ID when the lifecycle action creates or affects a combo position.
Position IDs involved in the lifecycle action.
Positions consumed by the action.
data.destination_position_ids
Positions created by the action.
Enriched legs when available. AutoRedeemer redemptions can be emitted without legs when the receipt includes the wallet, condition ID, and payout directly.
Exact raw payout in six-decimal USDC units for redeem actions.
USDC-normalized payout for redeem actions when available.
Combo side when available. Values: YES or NO.
Position transfer logs decoded from the confirmed receipt.