Skip to main content
GET
Combo redemptions and reductions
Returns the canonical combo redemption, post-resolution compression, and condition-lineage feed across wallets. For matching events, the response preserves Polymarket’s public combo activity fields and adds explicit evidence plus condition and position lineage. This endpoint is additive. It does not change standard positions or combo position responses. Use GET /v3/combos/activity for ordinary combo acquisition and burn activity such as PositionsSplit and PositionsMerged. This endpoint is scoped to terminal redemptions, post-resolution compression, and the module-level transformations needed to explain redemption lineage.

Request

No filter is required. Use the filters below for wallet, market, position, transaction, event, scope, or time-bounded reads.

Query parameters

Full redemptions

PositionRedeemed proves that the entire referenced combo position was redeemed. A terminal Compressed event whose destination position is 0 is also classified as full, with redemption_evidence: "terminal_compression". Router and auto-redeemer transactions use the user-facing wallet rather than attributing the redemption to an intermediary contract.

Partial post-resolution redemptions

A non-terminal Compressed row proves that post-resolution processing changed an old combo position into a smaller combo position. The leg arrays below are abbreviated:
For a combo reduced to a smaller combo—for example, three legs reduced to two:
  • full_combo_condition_id identifies the pre-transition combo consumed by this compression.
  • reduced_combo_condition_id identifies the surviving smaller combo.
  • combo_condition_id, combo_position_id, and legs retain Polymarket’s basic record for the surviving combo.
  • full_legs and source_legs preserve that pre-transition combo context.
  • remaining_legs and removed_legs compare the indexed leg registries.
  • source_position_id and destination_position_id provide the exact ERC-1155 transition.
has_collateral_payout and collateral_out_usdc tell you whether compression also emitted collateral. A zero collateral amount can still be a real partial resolution: the surviving value moved entirely into the reduced combo position.

Structural extraction is not a redemption

Extracted returns full_combo_condition_id, reduced_combo_condition_id, and residual_combo_condition_id, which is useful for reconstructing a larger combo into smaller branches. It is classified as:
This distinction is intentional: Extracted proves exact condition lineage, but it does not prove a redemption payout. Use Compressed for a partial post-resolution transition and PositionRedeemed or terminal compression for a terminal redemption.

Scope meanings

Evidence and lineage fields

Condition-to-position mapping is deterministic: the combo condition occupies the high 31 bytes of the position ID and the outcome index occupies the low byte. This lets historical full redemptions map to their combo without re-indexing unrelated contracts. For a chain of multiple compressions, full_combo_condition_id is the immediate pre-transition combo on each row, not a guessed earliest ancestor. Follow source_position_id and destination_position_id across rows when the chain facts are available; the endpoint does not invent a root parlay identifier that the contract did not emit.

Metadata coverage

metadata_coverage describes the leg expansion available for that row:
  • complete: the required combo leg registries are available.
  • missing_source_legs: the source condition is known on chain, but its leg metadata is not yet available.
  • missing_reduced_legs: the reduction is known on chain, but the reduced combo’s leg metadata is not yet available.
The condition and position lineage remains chain-derived even when descriptive leg metadata is incomplete.

Authorizations

x-api-key
string
header
required

Query Parameters

wallet
string

Wallet address

Pattern: ^0x[a-fA-F0-9]{40}$
market_id
string

One or more comma-separated combo condition IDs. Matches any condition in the lineage.

condition_id
string

Combo condition ID. Matches source, full, parent, reduced, residual, child, and destination conditions.

Pattern: ^0x[a-fA-F0-9]{62}$
position_id
string

Primary, source, destination, or underlying position ID

Pattern: ^[0-9]+$
event_kind
enum<string>
Available options:
PositionRedeemed,
Compressed,
ConvertedOnEvent,
ConvertedToYesBasket,
Extracted,
Injected,
MergedFromYesBasket,
MergedOnCondition,
MergedOnEvent,
SplitOnCondition,
SplitOnEvent,
Unwrapped,
Wrapped,
all
redemption_scope
enum<string>
default:all

full = terminal redemption; partial = non-terminal post-resolution compression; transformation = non-redemption lifecycle lineage

Available options:
full,
partial,
transformation,
all
redemption_type
enum<string>
default:all
Available options:
FULL_COMBO,
PARTIAL_COMBO,
COMBO_TRANSFORMATION,
all
tx_hash
string

Exact Polygon transaction hash

Pattern: ^0x[a-fA-F0-9]{64}$
after
integer<int64>

Inclusive Unix timestamp in seconds

Required range: x >= 0
before
integer<int64>

Inclusive Unix timestamp in seconds

Required range: x >= 0
limit
integer
default:100
Required range: 1 <= x <= 300
offset
integer
default:0
Required range: x >= 0

Response

Combo redemptions and reductions

redemptions
object[]
rows_returned
integer
has_more
boolean
offset
integer
limit
integer
position_type
string
Allowed value: "combo"
source
string
Allowed value: "v3.combos.redemptions"