Wallet combo redemptions and reductions
curl --request GET \
--url https://api.polynode.dev/v3/wallets/{address}/combos/redemptions \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v3/wallets/{address}/combos/redemptions"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.polynode.dev/v3/wallets/{address}/combos/redemptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.polynode.dev/v3/wallets/{address}/combos/redemptions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polynode.dev/v3/wallets/{address}/combos/redemptions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.polynode.dev/v3/wallets/{address}/combos/redemptions")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v3/wallets/{address}/combos/redemptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"address": "<string>",
"redemptions": [
{
"position_type": "combo",
"is_combo": true,
"id": "<string>",
"type": "<string>",
"event_kind": "PositionRedeemed",
"side": "<string>",
"module_kind": "Combinatorial",
"user_address": "<string>",
"wallet_address": "<string>",
"combo_condition_id": "<string>",
"module_id": 3,
"timestamp": 123,
"tx_hash": "<string>",
"log_index": 123,
"block_number": 123,
"redemption_scope": "full",
"redemption_type": "FULL_COMBO",
"redemption_evidence": "terminal_position_redeemed",
"is_full_combo_redemption": true,
"is_partial_combo_redemption": true,
"is_terminal_redemption": true,
"is_partial_combo_reduction": true,
"has_collateral_payout": true,
"lineage_event_id": "<string>",
"lineage_status": "<string>",
"legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"full_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"source_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"remaining_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"removed_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"residual_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"metadata_coverage": "complete",
"parity_status": "<string>",
"combo_position_id": "<string>",
"combo_outcome_index": 127,
"amount_usdc": "<string>",
"payout_usdc": "<string>",
"position_amount_usdc": "<string>",
"collateral_out_usdc": "<string>",
"tx_dttm": "2023-11-07T05:31:56Z",
"source_event_kind": "<string>",
"full_combo_condition_id": "<string>",
"parent_combo_condition_id": "<string>",
"source_combo_condition_id": "<string>",
"reduced_combo_condition_id": "<string>",
"residual_combo_condition_id": "<string>",
"child_yes_combo_condition_id": "<string>",
"child_no_combo_condition_id": "<string>",
"destination_combo_condition_id": "<string>",
"source_position_id": "<string>",
"destination_position_id": "<string>",
"underlying_position_id": "<string>",
"event_id": "<string>",
"condition_index": 123,
"lineage": {},
"source_leg_count": 1,
"removed_leg_count": 1,
"remaining_leg_count": 1,
"leg_transition": "<string>",
"remaining_combo": {
"combo_condition_id": "<string>",
"combo_position_id": "<string>",
"shares_created": "<string>",
"current_wallet_balance": "<string>",
"still_held": true,
"status": "OPEN"
}
}
],
"rows_returned": 123,
"has_more": true,
"offset": 123,
"limit": 123,
"position_type": "combo",
"source": "v3.wallet_combos.redemptions"
}Combos
Wallet Combo Redemptions
List full combo redemptions and partial combo reductions for one wallet with exact leg changes.
GET
/
v3
/
wallets
/
{address}
/
combos
/
redemptions
Wallet combo redemptions and reductions
curl --request GET \
--url https://api.polynode.dev/v3/wallets/{address}/combos/redemptions \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v3/wallets/{address}/combos/redemptions"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.polynode.dev/v3/wallets/{address}/combos/redemptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.polynode.dev/v3/wallets/{address}/combos/redemptions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polynode.dev/v3/wallets/{address}/combos/redemptions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.polynode.dev/v3/wallets/{address}/combos/redemptions")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v3/wallets/{address}/combos/redemptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"address": "<string>",
"redemptions": [
{
"position_type": "combo",
"is_combo": true,
"id": "<string>",
"type": "<string>",
"event_kind": "PositionRedeemed",
"side": "<string>",
"module_kind": "Combinatorial",
"user_address": "<string>",
"wallet_address": "<string>",
"combo_condition_id": "<string>",
"module_id": 3,
"timestamp": 123,
"tx_hash": "<string>",
"log_index": 123,
"block_number": 123,
"redemption_scope": "full",
"redemption_type": "FULL_COMBO",
"redemption_evidence": "terminal_position_redeemed",
"is_full_combo_redemption": true,
"is_partial_combo_redemption": true,
"is_terminal_redemption": true,
"is_partial_combo_reduction": true,
"has_collateral_payout": true,
"lineage_event_id": "<string>",
"lineage_status": "<string>",
"legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"full_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"source_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"remaining_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"removed_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"residual_legs": [
{
"leg_index": 1,
"leg_position_id": "<string>",
"leg_condition_id": "<string>",
"leg_outcome_index": 1,
"leg_outcome_label": "<string>",
"leg_status": "<string>",
"leg_resolved_at": "2023-11-07T05:31:56Z",
"market_token_id": "<string>",
"leg_result": "won",
"leg_current_price": "<string>",
"leg_price_source": "settlement",
"market": {
"market_id": "<string>",
"slug": "<string>",
"title": "<string>",
"outcome": "<string>",
"image_url": "<string>",
"icon_url": "<string>",
"category": "<string>",
"subcategory": "<string>",
"tags": [
"<unknown>"
],
"end_date": "2023-11-07T05:31:56Z",
"active": true,
"closed": true,
"accepting_orders": true,
"resolved": true,
"winning_outcome_index": 1,
"event": {
"event_id": "<string>",
"event_slug": "<string>",
"event_title": "<string>",
"event_image": "<string>"
}
}
}
],
"metadata_coverage": "complete",
"parity_status": "<string>",
"combo_position_id": "<string>",
"combo_outcome_index": 127,
"amount_usdc": "<string>",
"payout_usdc": "<string>",
"position_amount_usdc": "<string>",
"collateral_out_usdc": "<string>",
"tx_dttm": "2023-11-07T05:31:56Z",
"source_event_kind": "<string>",
"full_combo_condition_id": "<string>",
"parent_combo_condition_id": "<string>",
"source_combo_condition_id": "<string>",
"reduced_combo_condition_id": "<string>",
"residual_combo_condition_id": "<string>",
"child_yes_combo_condition_id": "<string>",
"child_no_combo_condition_id": "<string>",
"destination_combo_condition_id": "<string>",
"source_position_id": "<string>",
"destination_position_id": "<string>",
"underlying_position_id": "<string>",
"event_id": "<string>",
"condition_index": 123,
"lineage": {},
"source_leg_count": 1,
"removed_leg_count": 1,
"remaining_leg_count": 1,
"leg_transition": "<string>",
"remaining_combo": {
"combo_condition_id": "<string>",
"combo_position_id": "<string>",
"shares_created": "<string>",
"current_wallet_balance": "<string>",
"still_held": true,
"status": "OPEN"
}
}
],
"rows_returned": 123,
"has_more": true,
"offset": 123,
"limit": 123,
"position_type": "combo",
"source": "v3.wallet_combos.redemptions"
}Returns the canonical combo redemption and reduction history for one wallet. This is the wallet-scoped form of
GET /v3/combos/redemptions.
In plain language, each row tells you whether the wallet redeemed its entire combo or removed settled legs and kept a smaller combo. The compact fields answer how many legs changed; the leg arrays and position IDs provide the exact market and on-chain details for follow-up queries.
Unlike a basic combo activity row, the response makes the before-and-after transition explicit. See How this differs from Polymarket combo activity for the consumer and developer comparison.
Request
GET /v3/wallets/{address}/combos/redemptions
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
market_id | string | — | One or more comma-separated combo condition IDs; matches any lineage condition |
condition_id | string | — | Combo condition ID; matches any lineage condition |
position_id | string | — | Primary, source, destination, or underlying position ID |
event_kind | string | — | Filter by canonical event kind |
redemption_scope | string | all | full, partial, transformation, or all |
redemption_type | string | all | FULL_COMBO, PARTIAL_COMBO, COMBO_TRANSFORMATION, or all |
tx_hash | string | — | Exact Polygon transaction hash |
after | integer | — | Inclusive Unix timestamp in seconds |
before | integer | — | Inclusive Unix timestamp in seconds |
limit | integer | 100 | Results per page, max 300 |
offset | integer | 0 | Pagination offset |
Example
curl "https://api.polynode.dev/v3/wallets/0xc82f0a25aad828f59347670e63ead5ea144466a7/combos/redemptions?redemption_scope=partial&limit=25" \
-H "x-api-key: $POLYNODE_API_KEY"
{
"address": "0xc82f0a25aad828f59347670e63ead5ea144466a7",
"redemptions": [
{
"event_kind": "Compressed",
"redemption_scope": "partial",
"redemption_type": "PARTIAL_COMBO",
"redemption_evidence": "post_resolution_compression",
"is_full_combo_redemption": false,
"is_partial_combo_redemption": true,
"is_terminal_redemption": false,
"is_partial_combo_reduction": true,
"has_collateral_payout": false,
"full_combo_condition_id": "0x0387525b6b182939b62c8ffd3f64c703aa0000000000000000000000000000",
"reduced_combo_condition_id": "0x03f20b4d62f602343ec586eb21b1fd88320000000000000000000000000000",
"amount_usdc": "392.295381",
"source_leg_count": 5,
"removed_leg_count": 4,
"remaining_leg_count": 1,
"leg_transition": "5_to_1",
"remaining_combo": {
"combo_condition_id": "0x03f20b4d62f602343ec586eb21b1fd88320000000000000000000000000000",
"combo_position_id": "1784593540973682895298448580384733359095951577285561914582372891673092947969",
"shares_created": "392.295381",
"current_wallet_balance": "873.364653",
"still_held": true,
"status": "OPEN"
},
"tx_hash": "0xe73ed3c24d1ca763984df61fad854479c45ea67b555ebaa547c994aa777add0c",
"log_index": 559,
"block_number": 89561963
}
],
"rows_returned": 1,
"has_more": false,
"offset": 0,
"limit": 25,
"position_type": "combo",
"source": "v3.wallet_combos.redemptions"
}
Choosing this endpoint
- Use
redemption_scope=fullfor terminal whole-combo redemptions. - Use
redemption_scope=partialfor post-resolution compression into a smaller combo, including a three-leg combo becoming a two-leg combo when Polymarket emits that transition. - Use
event_kind=Extractedfor structural full/reduced/residual lineage. Extraction is marked as a reduction, but not as a redemption. - Use the default
allwhen reconstructing the wallet’s complete combo redemption and transformation history. - Use the global endpoint when the wallet is unknown or when correlating one condition, position, or transaction across wallets.
- Read
source_leg_count,removed_leg_count,remaining_leg_count, andleg_transitionwhen you only need to know what changed in that redemption. - Read
market_token_id,leg_result,leg_current_price, andleg_price_sourceon each leg when you need an actionable standard-market identifier and outcome state. - Read
remaining_comboto see the resulting combo position and whether the wallet still holds a positive balance. Use the combo positions endpoint for full position, cost, and P&L context.
redemption_scope and leg_transition first. For a developer workflow, use the source and destination IDs as stable joins, then use market_token_id from each changed leg with price, order-book, trade, or candle endpoints.
Existing standard and combo position endpoints are unchanged.Authorizations
Path Parameters
Wallet address
Pattern:
^0x[a-fA-F0-9]{40}$Query Parameters
One or more comma-separated combo condition IDs. Matches any condition in the lineage.
Combo condition ID. Matches any condition in the lineage.
Pattern:
^0x[a-fA-F0-9]{62}$Primary, source, destination, or underlying position ID
Pattern:
^[0-9]+$Available options:
PositionRedeemed, Compressed, ConvertedOnEvent, ConvertedToYesBasket, Extracted, Injected, MergedFromYesBasket, MergedOnCondition, MergedOnEvent, SplitOnCondition, SplitOnEvent, Unwrapped, Wrapped, all full = terminal redemption; partial = non-terminal post-resolution compression; transformation = non-redemption lifecycle lineage
Available options:
full, partial, transformation, all Available options:
FULL_COMBO, PARTIAL_COMBO, COMBO_TRANSFORMATION, all Exact Polygon transaction hash
Pattern:
^0x[a-fA-F0-9]{64}$Inclusive Unix timestamp in seconds
Required range:
x >= 0Inclusive Unix timestamp in seconds
Required range:
x >= 0Required range:
1 <= x <= 300Required range:
x >= 0⌘I

