@structbuild/sdk 0.6.7 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -208,7 +208,7 @@ export interface webhooks {
208
208
  put?: never;
209
209
  /**
210
210
  * New trade callback
211
- * @description Fired on fill-style trades only (`OrderFilled`, `OrdersMatched`). Use `wallet_addresses` to watch specific traders, `min_usd_value` to filter by size, and `min_price`/`max_price` to restrict to a probability range.
211
+ * @description Fired on fill-style trades only (`OrderFilled`, `OrdersMatched`, `ComboExecution`). Use `wallet_addresses` to watch specific traders, `min_usd_value` to filter by size, and `min_price`/`max_price` to restrict to a probability range.
212
212
  */
213
213
  post: operations["trader-new-trade"];
214
214
  delete?: never;
@@ -1813,6 +1813,8 @@ export interface components {
1813
1813
  trader: string;
1814
1814
  /** @description Order filler wallet address (lowercase) */
1815
1815
  taker: string;
1816
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
1817
+ trader_info: components["schemas"]["WebhookTraderInfo"];
1816
1818
  /** @description ERC-1155 outcome token ID */
1817
1819
  position_id: string;
1818
1820
  /** @description Parent market condition ID (0x-prefixed hex) */
@@ -1869,9 +1871,9 @@ export interface components {
1869
1871
  */
1870
1872
  price: number;
1871
1873
  /** @description Exchange contract that processed the trade */
1872
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
1874
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
1873
1875
  /** @description Trade type (webhook events only fire on order fills) */
1874
- trade_type: "OrderFilled" | "OrdersMatched";
1876
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
1875
1877
  };
1876
1878
  /** @description Global PnL webhook payload. */
1877
1879
  GlobalPnlPayload: {
@@ -2542,6 +2544,8 @@ export interface components {
2542
2544
  trader: string;
2543
2545
  /** @description Order filler wallet address (lowercase) */
2544
2546
  taker: string;
2547
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
2548
+ trader_info: components["schemas"]["WebhookTraderInfo"];
2545
2549
  /** @description ERC-1155 outcome token ID */
2546
2550
  position_id: string;
2547
2551
  /** @description Parent market condition ID */
@@ -2603,22 +2607,24 @@ export interface components {
2603
2607
  */
2604
2608
  probability?: number | null;
2605
2609
  /** @description Exchange contract that processed the trade */
2606
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
2610
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
2607
2611
  /** @description Trade type (webhook events only fire on order fills) */
2608
- trade_type: "OrderFilled" | "OrdersMatched";
2612
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
2609
2613
  };
2610
2614
  /**
2611
2615
  * @description Trade types accepted by `trader_new_trade.trade_types`. Webhook fires on
2612
2616
  * fill-style trades only.
2613
2617
  * @enum {string}
2614
2618
  */
2615
- NewTradeFilterType: "OrderFilled" | "OrdersMatched";
2619
+ NewTradeFilterType: "OrderFilled" | "OrdersMatched" | "ComboExecution";
2616
2620
  /** @description Payload delivered on every order-filled trade */
2617
2621
  NewTradePayload: {
2618
2622
  /** @description Limit-order maker wallet address (lowercase) */
2619
2623
  trader: string;
2620
2624
  /** @description Order filler wallet address (lowercase) */
2621
2625
  taker: string;
2626
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
2627
+ trader_info: components["schemas"]["WebhookTraderInfo"];
2622
2628
  /** @description ERC-1155 outcome token ID */
2623
2629
  position_id: string;
2624
2630
  /** @description Parent market condition ID */
@@ -2680,9 +2686,9 @@ export interface components {
2680
2686
  */
2681
2687
  probability?: number | null;
2682
2688
  /** @description Exchange contract that processed the trade */
2683
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
2689
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
2684
2690
  /** @description Trade type (webhook events only fire on order fills) */
2685
- trade_type: "OrderFilled" | "OrdersMatched";
2691
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
2686
2692
  /**
2687
2693
  * @description CLOB V2 builder code (lower-cased `0x...` bytes32 hex). Absent on V1
2688
2694
  * trades; may be `0x0000…` for V2 trades placed without a builder code.
@@ -4289,7 +4295,7 @@ export interface components {
4289
4295
  * full set of typed prediction-trade variants.
4290
4296
  * @enum {string}
4291
4297
  */
4292
- TradeEventFilterType: "OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken";
4298
+ TradeEventFilterType: "OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "ComboCreation" | "ComboExecution" | "ComboStatusUpdate" | "ComboPositionsSplit" | "ComboPositionsMerged" | "ComboSplitOnCondition" | "ComboMergedOnCondition" | "ComboExtracted" | "ComboInjected" | "ComboConvertedToYesBasket" | "ComboMergedFromYesBasket" | "ComboCompressed" | "ComboPositionRedeemed" | "ComboWrapped" | "ComboUnwrapped" | "ComboHorizontalSplit" | "ComboHorizontalMerge" | "ComboPositionConverted" | "ComboPositionMigrated" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken";
4293
4299
  /** @description Subscription filters for the `trader_category_pnl` event. All fields are optional. */
4294
4300
  TraderCategoryPnlFilters: {
4295
4301
  /**
@@ -4549,8 +4555,8 @@ export interface components {
4549
4555
  * @description Only fire when outcome probability is ≤ this value.
4550
4556
  */
4551
4557
  max_price?: number | null;
4552
- /** @description Only fire for these fill-style trade types. Empty = OrderFilled and OrdersMatched only (default). */
4553
- trade_types?: ("OrderFilled" | "OrdersMatched")[] | null;
4558
+ /** @description Only fire for these fill-style trade types. Empty = OrderFilled, OrdersMatched, and ComboExecution only (default). */
4559
+ trade_types?: ("OrderFilled" | "OrdersMatched" | "ComboExecution")[] | null;
4554
4560
  /** @description When `true`, suppress webhooks for short-term "updown" markets. Default: `false`. */
4555
4561
  exclude_shortterm_markets?: boolean | null;
4556
4562
  };
@@ -4607,7 +4613,7 @@ export interface components {
4607
4613
  */
4608
4614
  max_price?: number | null;
4609
4615
  /** @description Only fire for these trade types. Empty = all supported trade-event variants. */
4610
- trade_types?: ("OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken")[] | null;
4616
+ trade_types?: ("OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "ComboCreation" | "ComboExecution" | "ComboStatusUpdate" | "ComboPositionsSplit" | "ComboPositionsMerged" | "ComboSplitOnCondition" | "ComboMergedOnCondition" | "ComboExtracted" | "ComboInjected" | "ComboConvertedToYesBasket" | "ComboMergedFromYesBasket" | "ComboCompressed" | "ComboPositionRedeemed" | "ComboWrapped" | "ComboUnwrapped" | "ComboHorizontalSplit" | "ComboHorizontalMerge" | "ComboPositionConverted" | "ComboPositionMigrated" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken")[] | null;
4611
4617
  /** @description When `true`, suppress webhooks for short-term "updown" markets. Requires explicit `trade_types` that exclude `PositionsConverted`. Default: `false`. */
4612
4618
  exclude_shortterm_markets?: boolean | null;
4613
4619
  };
@@ -4980,12 +4986,36 @@ export interface components {
4980
4986
  * @enum {string}
4981
4987
  */
4982
4988
  WebhookTimeframe: "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "6h" | "1d" | "24h" | "7d" | "30d" | "lifetime";
4989
+ /**
4990
+ * @description Trader display metadata nested into trade-fill webhook payloads.
4991
+ *
4992
+ * Mirrors the shape used by the trade-event and PnL alert payloads. `address`
4993
+ * (the lower-cased maker wallet) is always present; the remaining fields are
4994
+ * sourced from the producer-enriched `trader_profile` carried on the trade and
4995
+ * are omitted until that profile has been resolved.
4996
+ */
4997
+ WebhookTraderInfo: {
4998
+ /** @description Maker wallet address (lower-cased) */
4999
+ address: string;
5000
+ /** @description Display name */
5001
+ name?: string | null;
5002
+ /** @description Polymarket pseudonym */
5003
+ pseudonym?: string | null;
5004
+ /** @description Profile image URL (our CDN copy when available) */
5005
+ profile_image?: string | null;
5006
+ /** @description Linked X (Twitter) username */
5007
+ x_username?: string | null;
5008
+ /** @description Whether the trader carries a verified badge */
5009
+ verified_badge: boolean;
5010
+ };
4983
5011
  /** @description Payload delivered when a trade exceeds the configured size and probability thresholds */
4984
5012
  WhaleTradePayload: {
4985
5013
  /** @description Limit-order maker wallet address (lowercase) */
4986
5014
  trader: string;
4987
5015
  /** @description Order filler wallet address (lowercase) */
4988
5016
  taker: string;
5017
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
5018
+ trader_info: components["schemas"]["WebhookTraderInfo"];
4989
5019
  /** @description ERC-1155 outcome token ID */
4990
5020
  position_id: string;
4991
5021
  /** @description Parent market condition ID */
@@ -5047,9 +5077,9 @@ export interface components {
5047
5077
  */
5048
5078
  probability?: number | null;
5049
5079
  /** @description Exchange contract that processed the trade */
5050
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
5080
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
5051
5081
  /** @description Trade type (webhook events only fire on order fills) */
5052
- trade_type: "OrderFilled" | "OrdersMatched";
5082
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
5053
5083
  /**
5054
5084
  * @description CLOB V2 builder code (lower-cased `0x...` bytes32 hex). Absent on V1
5055
5085
  * trades; may be `0x0000…` for V2 trades placed without a builder code.
@@ -5135,7 +5165,7 @@ export interface components {
5135
5165
  /** @description Builder fee in USDC. Absent when no builder code is attached. */
5136
5166
  builder_fee?: number;
5137
5167
  /** @enum {string} */
5138
- trade_type: "OrderFilled" | "OrdersMatched";
5168
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
5139
5169
  } | {
5140
5170
  id: string;
5141
5171
  hash: string;
@@ -975,6 +975,8 @@ export interface components {
975
975
  trader: string;
976
976
  /** @description Order filler wallet address (lowercase) */
977
977
  taker: string;
978
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
979
+ trader_info: components["schemas"]["WebhookTraderInfo"];
978
980
  /** @description ERC-1155 outcome token ID */
979
981
  position_id: string;
980
982
  /** @description Parent market condition ID (0x-prefixed hex) */
@@ -1031,9 +1033,9 @@ export interface components {
1031
1033
  */
1032
1034
  price: number;
1033
1035
  /** @description Exchange contract that processed the trade */
1034
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
1036
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
1035
1037
  /** @description Trade type (webhook events only fire on order fills) */
1036
- trade_type: "OrderFilled" | "OrdersMatched";
1038
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
1037
1039
  };
1038
1040
  /** @description Global PnL webhook payload. */
1039
1041
  GlobalPnlPayload: {
@@ -1704,6 +1706,8 @@ export interface components {
1704
1706
  trader: string;
1705
1707
  /** @description Order filler wallet address (lowercase) */
1706
1708
  taker: string;
1709
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
1710
+ trader_info: components["schemas"]["WebhookTraderInfo"];
1707
1711
  /** @description ERC-1155 outcome token ID */
1708
1712
  position_id: string;
1709
1713
  /** @description Parent market condition ID */
@@ -1765,22 +1769,24 @@ export interface components {
1765
1769
  */
1766
1770
  probability?: number | null;
1767
1771
  /** @description Exchange contract that processed the trade */
1768
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
1772
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
1769
1773
  /** @description Trade type (webhook events only fire on order fills) */
1770
- trade_type: "OrderFilled" | "OrdersMatched";
1774
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
1771
1775
  };
1772
1776
  /**
1773
1777
  * @description Trade types accepted by `trader_new_trade.trade_types`. Webhook fires on
1774
1778
  * fill-style trades only.
1775
1779
  * @enum {string}
1776
1780
  */
1777
- NewTradeFilterType: "OrderFilled" | "OrdersMatched";
1781
+ NewTradeFilterType: "OrderFilled" | "OrdersMatched" | "ComboExecution";
1778
1782
  /** @description Payload delivered on every order-filled trade */
1779
1783
  NewTradePayload: {
1780
1784
  /** @description Limit-order maker wallet address (lowercase) */
1781
1785
  trader: string;
1782
1786
  /** @description Order filler wallet address (lowercase) */
1783
1787
  taker: string;
1788
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
1789
+ trader_info: components["schemas"]["WebhookTraderInfo"];
1784
1790
  /** @description ERC-1155 outcome token ID */
1785
1791
  position_id: string;
1786
1792
  /** @description Parent market condition ID */
@@ -1842,9 +1848,9 @@ export interface components {
1842
1848
  */
1843
1849
  probability?: number | null;
1844
1850
  /** @description Exchange contract that processed the trade */
1845
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
1851
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
1846
1852
  /** @description Trade type (webhook events only fire on order fills) */
1847
- trade_type: "OrderFilled" | "OrdersMatched";
1853
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
1848
1854
  /**
1849
1855
  * @description CLOB V2 builder code (lower-cased `0x...` bytes32 hex). Absent on V1
1850
1856
  * trades; may be `0x0000…` for V2 trades placed without a builder code.
@@ -3451,7 +3457,7 @@ export interface components {
3451
3457
  * full set of typed prediction-trade variants.
3452
3458
  * @enum {string}
3453
3459
  */
3454
- TradeEventFilterType: "OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken";
3460
+ TradeEventFilterType: "OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "ComboCreation" | "ComboExecution" | "ComboStatusUpdate" | "ComboPositionsSplit" | "ComboPositionsMerged" | "ComboSplitOnCondition" | "ComboMergedOnCondition" | "ComboExtracted" | "ComboInjected" | "ComboConvertedToYesBasket" | "ComboMergedFromYesBasket" | "ComboCompressed" | "ComboPositionRedeemed" | "ComboWrapped" | "ComboUnwrapped" | "ComboHorizontalSplit" | "ComboHorizontalMerge" | "ComboPositionConverted" | "ComboPositionMigrated" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken";
3455
3461
  /** @description Subscription filters for the `trader_category_pnl` event. All fields are optional. */
3456
3462
  TraderCategoryPnlFilters: {
3457
3463
  /**
@@ -3710,8 +3716,8 @@ export interface components {
3710
3716
  * @description Only fire when outcome probability is ≤ this value.
3711
3717
  */
3712
3718
  max_price?: number | null;
3713
- /** @description Only fire for these fill-style trade types. Empty = OrderFilled and OrdersMatched only (default). */
3714
- trade_types?: ("OrderFilled" | "OrdersMatched")[] | null;
3719
+ /** @description Only fire for these fill-style trade types. Empty = OrderFilled, OrdersMatched, and ComboExecution only (default). */
3720
+ trade_types?: ("OrderFilled" | "OrdersMatched" | "ComboExecution")[] | null;
3715
3721
  /** @description When `true`, suppress webhooks for short-term "updown" markets. Default: `false`. */
3716
3722
  exclude_shortterm_markets?: boolean | null;
3717
3723
  };
@@ -3767,7 +3773,7 @@ export interface components {
3767
3773
  */
3768
3774
  max_price?: number | null;
3769
3775
  /** @description Only fire for these trade types. Empty = all supported trade-event variants. */
3770
- trade_types?: ("OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken")[] | null;
3776
+ trade_types?: ("OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "ComboCreation" | "ComboExecution" | "ComboStatusUpdate" | "ComboPositionsSplit" | "ComboPositionsMerged" | "ComboSplitOnCondition" | "ComboMergedOnCondition" | "ComboExtracted" | "ComboInjected" | "ComboConvertedToYesBasket" | "ComboMergedFromYesBasket" | "ComboCompressed" | "ComboPositionRedeemed" | "ComboWrapped" | "ComboUnwrapped" | "ComboHorizontalSplit" | "ComboHorizontalMerge" | "ComboPositionConverted" | "ComboPositionMigrated" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken")[] | null;
3771
3777
  /** @description When `true`, suppress webhooks for short-term "updown" markets. Requires explicit `trade_types` that exclude `PositionsConverted`. Default: `false`. */
3772
3778
  exclude_shortterm_markets?: boolean | null;
3773
3779
  };
@@ -4139,12 +4145,36 @@ export interface components {
4139
4145
  * @enum {string}
4140
4146
  */
4141
4147
  WebhookTimeframe: "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "6h" | "1d" | "24h" | "7d" | "30d" | "lifetime";
4148
+ /**
4149
+ * @description Trader display metadata nested into trade-fill webhook payloads.
4150
+ *
4151
+ * Mirrors the shape used by the trade-event and PnL alert payloads. `address`
4152
+ * (the lower-cased maker wallet) is always present; the remaining fields are
4153
+ * sourced from the producer-enriched `trader_profile` carried on the trade and
4154
+ * are omitted until that profile has been resolved.
4155
+ */
4156
+ WebhookTraderInfo: {
4157
+ /** @description Maker wallet address (lower-cased) */
4158
+ address: string;
4159
+ /** @description Display name */
4160
+ name?: string | null;
4161
+ /** @description Polymarket pseudonym */
4162
+ pseudonym?: string | null;
4163
+ /** @description Profile image URL (our CDN copy when available) */
4164
+ profile_image?: string | null;
4165
+ /** @description Linked X (Twitter) username */
4166
+ x_username?: string | null;
4167
+ /** @description Whether the trader carries a verified badge */
4168
+ verified_badge: boolean;
4169
+ };
4142
4170
  /** @description Payload delivered when a trade exceeds the configured size and probability thresholds */
4143
4171
  WhaleTradePayload: {
4144
4172
  /** @description Limit-order maker wallet address (lowercase) */
4145
4173
  trader: string;
4146
4174
  /** @description Order filler wallet address (lowercase) */
4147
4175
  taker: string;
4176
+ /** @description Maker trader display metadata (address + name / pseudonym / image / x / verified) */
4177
+ trader_info: components["schemas"]["WebhookTraderInfo"];
4148
4178
  /** @description ERC-1155 outcome token ID */
4149
4179
  position_id: string;
4150
4180
  /** @description Parent market condition ID */
@@ -4206,9 +4236,9 @@ export interface components {
4206
4236
  */
4207
4237
  probability?: number | null;
4208
4238
  /** @description Exchange contract that processed the trade */
4209
- exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "Unknown";
4239
+ exchange: "CTFExchange" | "NegRiskExchange" | "ConditionalTokens" | "NegRiskAdapter" | "CTFExchangeV2" | "NegRiskExchangeV2" | "ComboExchange" | "ComboCombinatorialModule" | "ComboNegRiskModule" | "Unknown";
4210
4240
  /** @description Trade type (webhook events only fire on order fills) */
4211
- trade_type: "OrderFilled" | "OrdersMatched";
4241
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
4212
4242
  /**
4213
4243
  * @description CLOB V2 builder code (lower-cased `0x...` bytes32 hex). Absent on V1
4214
4244
  * trades; may be `0x0000…` for V2 trades placed without a builder code.
@@ -4294,7 +4324,7 @@ export interface components {
4294
4324
  /** @description Builder fee in USDC. Absent when no builder code is attached. */
4295
4325
  builder_fee?: number;
4296
4326
  /** @enum {string} */
4297
- trade_type: "OrderFilled" | "OrdersMatched";
4327
+ trade_type: "OrderFilled" | "OrdersMatched" | "ComboExecution";
4298
4328
  } | {
4299
4329
  id: string;
4300
4330
  hash: string;
@@ -4806,6 +4836,14 @@ export interface components {
4806
4836
  * "data": {
4807
4837
  * "trader": "0x0000000000000000000000000000000000000000",
4808
4838
  * "taker": "0x0000000000000000000000000000000000000000",
4839
+ * "trader_info": {
4840
+ * "address": "0x0000000000000000000000000000000000000000",
4841
+ * "name": "Test Trader",
4842
+ * "pseudonym": "Brave-Fox",
4843
+ * "profile_image": "https://example.com/avatar.png",
4844
+ * "x_username": "testtrader",
4845
+ * "verified_badge": true
4846
+ * },
4809
4847
  * "position_id": "452312848583266388373324160190187140051835877600158453279131187530910662656",
4810
4848
  * "condition_id": "0x0000000000000000000000000000000000000000000000000000000000000000",
4811
4849
  * "outcome": "Yes",
@@ -4873,6 +4911,14 @@ export interface components {
4873
4911
  * "data": {
4874
4912
  * "trader": "0x0000000000000000000000000000000000000000",
4875
4913
  * "taker": "0x0000000000000000000000000000000000000000",
4914
+ * "trader_info": {
4915
+ * "address": "0x0000000000000000000000000000000000000000",
4916
+ * "name": "Test Trader",
4917
+ * "pseudonym": "Brave-Fox",
4918
+ * "profile_image": "https://example.com/avatar.png",
4919
+ * "x_username": "testtrader",
4920
+ * "verified_badge": true
4921
+ * },
4876
4922
  * "position_id": "452312848583266388373324160190187140051835877600158453279131187530910662656",
4877
4923
  * "condition_id": "0x0000000000000000000000000000000000000000000000000000000000000000",
4878
4924
  * "outcome": "Yes",
@@ -4941,6 +4987,14 @@ export interface components {
4941
4987
  * "data": {
4942
4988
  * "trader": "0x0000000000000000000000000000000000000000",
4943
4989
  * "taker": "0x0000000000000000000000000000000000000000",
4990
+ * "trader_info": {
4991
+ * "address": "0x0000000000000000000000000000000000000000",
4992
+ * "name": "Test Trader",
4993
+ * "pseudonym": "Brave-Fox",
4994
+ * "profile_image": "https://example.com/avatar.png",
4995
+ * "x_username": "testtrader",
4996
+ * "verified_badge": true
4997
+ * },
4944
4998
  * "position_id": "452312848583266388373324160190187140051835877600158453279131187530910662656",
4945
4999
  * "condition_id": "0x0000000000000000000000000000000000000000000000000000000000000000",
4946
5000
  * "outcome": "Yes",
@@ -5011,6 +5065,14 @@ export interface components {
5011
5065
  * "data": {
5012
5066
  * "trader": "0x0000000000000000000000000000000000000000",
5013
5067
  * "taker": "0x0000000000000000000000000000000000000000",
5068
+ * "trader_info": {
5069
+ * "address": "0x0000000000000000000000000000000000000000",
5070
+ * "name": "Test Trader",
5071
+ * "pseudonym": "Brave-Fox",
5072
+ * "profile_image": "https://example.com/avatar.png",
5073
+ * "x_username": "testtrader",
5074
+ * "verified_badge": true
5075
+ * },
5014
5076
  * "position_id": "452312848583266388373324160190187140051835877600158453279131187530910662656",
5015
5077
  * "condition_id": "0x0000000000000000000000000000000000000000000000000000000000000000",
5016
5078
  * "outcome": "Yes",