REDEEM or COMPRESS operation and the legs on the reported combo. polynode additionally returns the source combo, removed legs, remaining legs, exact leg counts, and destination holding in the same row.
condition_id. Use event_kind=Extracted separately for structural reduction without redemption evidence.
What happened in the redemption?
Use the count fields for the compact answer, then inspect the removed and remaining legs only when you need market details:3_to_0withredemption_scope=fullmeans the whole three-leg combo was redeemed.3_to_2withredemption_scope=partialmeans one leg was removed and a two-leg combo remained.remaining_combo.still_heldtells you whether the wallet currently has a positive destination-combo balance when that balance is available.market_token_idis the standard token to pass toGET /v3/markets/{token_id}/priceorGET /v1/orderbook/{token_id}.
redemption_scope plus leg_transition is usually enough to display “full 3-leg redemption” or “5 legs became 1.” For analytics or automation, use source_position_id, destination_position_id, and the changed-leg arrays so no transition has to be inferred from titles or current position state.
To reconstruct multiple steps, fetch the wallet’s rows and follow each row’s source_position_id into a later row’s destination_position_id. This keeps each API item scoped to one redemption while still supporting lifecycle analysis across calls.
