@structbuild/sdk 0.4.1 → 0.4.2-staging.0

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.
@@ -103,6 +103,317 @@ export interface paths {
103
103
  patch?: never;
104
104
  trace?: never;
105
105
  };
106
+ "/polymarket/builders": {
107
+ parameters: {
108
+ query?: never;
109
+ header?: never;
110
+ path?: never;
111
+ cookie?: never;
112
+ };
113
+ /**
114
+ * List builders ranked by activity
115
+ * @description Returns the top builders by the chosen metric over the chosen window. Use `sort` to choose the ranking metric and `timeframe` to choose the window.
116
+ */
117
+ get: operations["list_builders"];
118
+ put?: never;
119
+ post?: never;
120
+ delete?: never;
121
+ options?: never;
122
+ head?: never;
123
+ patch?: never;
124
+ trace?: never;
125
+ };
126
+ "/polymarket/builders/global": {
127
+ parameters: {
128
+ query?: never;
129
+ header?: never;
130
+ path?: never;
131
+ cookie?: never;
132
+ };
133
+ /**
134
+ * Cumulative stats across all builders
135
+ * @description Returns one snapshot summing every builder-attributed trade over the chosen window.
136
+ */
137
+ get: operations["get_builder_global"];
138
+ put?: never;
139
+ post?: never;
140
+ delete?: never;
141
+ options?: never;
142
+ head?: never;
143
+ patch?: never;
144
+ trace?: never;
145
+ };
146
+ "/polymarket/builders/global/analytics/changes": {
147
+ parameters: {
148
+ query?: never;
149
+ header?: never;
150
+ path?: never;
151
+ cookie?: never;
152
+ };
153
+ /** Percentage change across all builders over a lookback window */
154
+ get: operations["get_builder_global_changes"];
155
+ put?: never;
156
+ post?: never;
157
+ delete?: never;
158
+ options?: never;
159
+ head?: never;
160
+ patch?: never;
161
+ trace?: never;
162
+ };
163
+ "/polymarket/builders/global/analytics/deltas": {
164
+ parameters: {
165
+ query?: never;
166
+ header?: never;
167
+ path?: never;
168
+ cookie?: never;
169
+ };
170
+ /** Per-bucket deltas across all builders */
171
+ get: operations["get_builder_global_deltas"];
172
+ put?: never;
173
+ post?: never;
174
+ delete?: never;
175
+ options?: never;
176
+ head?: never;
177
+ patch?: never;
178
+ trace?: never;
179
+ };
180
+ "/polymarket/builders/global/analytics/timeseries": {
181
+ parameters: {
182
+ query?: never;
183
+ header?: never;
184
+ path?: never;
185
+ cookie?: never;
186
+ };
187
+ /** Cumulative bucket timeseries across all builders */
188
+ get: operations["get_builder_global_timeseries"];
189
+ put?: never;
190
+ post?: never;
191
+ delete?: never;
192
+ options?: never;
193
+ head?: never;
194
+ patch?: never;
195
+ trace?: never;
196
+ };
197
+ "/polymarket/builders/tags/{tag}": {
198
+ parameters: {
199
+ query?: never;
200
+ header?: never;
201
+ path?: never;
202
+ cookie?: never;
203
+ };
204
+ /**
205
+ * Per-builder breakdown for a tag
206
+ * @description Returns the top builders that have routed activity into this tag, ranked by the chosen metric over the chosen window.
207
+ */
208
+ get: operations["list_tag_builders"];
209
+ put?: never;
210
+ post?: never;
211
+ delete?: never;
212
+ options?: never;
213
+ head?: never;
214
+ patch?: never;
215
+ trace?: never;
216
+ };
217
+ "/polymarket/builders/{builder_code}": {
218
+ parameters: {
219
+ query?: never;
220
+ header?: never;
221
+ path?: never;
222
+ cookie?: never;
223
+ };
224
+ /**
225
+ * Get a single builder's cumulative stats
226
+ * @description Returns cumulative stats for one builder over the chosen window.
227
+ */
228
+ get: operations["get_builder"];
229
+ put?: never;
230
+ post?: never;
231
+ delete?: never;
232
+ options?: never;
233
+ head?: never;
234
+ patch?: never;
235
+ trace?: never;
236
+ };
237
+ "/polymarket/builders/{builder_code}/analytics/changes": {
238
+ parameters: {
239
+ query?: never;
240
+ header?: never;
241
+ path?: never;
242
+ cookie?: never;
243
+ };
244
+ /**
245
+ * Builder percentage change over a lookback window
246
+ * @description Per-metric percentage change over the requested window for one builder.
247
+ */
248
+ get: operations["get_builder_analytics_changes"];
249
+ put?: never;
250
+ post?: never;
251
+ delete?: never;
252
+ options?: never;
253
+ head?: never;
254
+ patch?: never;
255
+ trace?: never;
256
+ };
257
+ "/polymarket/builders/{builder_code}/analytics/deltas": {
258
+ parameters: {
259
+ query?: never;
260
+ header?: never;
261
+ path?: never;
262
+ cookie?: never;
263
+ };
264
+ /**
265
+ * Builder analytics deltas (per-bucket change)
266
+ * @description Returns the change within each bucket for one builder. Use for bar/candle charts.
267
+ */
268
+ get: operations["get_builder_analytics_deltas"];
269
+ put?: never;
270
+ post?: never;
271
+ delete?: never;
272
+ options?: never;
273
+ head?: never;
274
+ patch?: never;
275
+ trace?: never;
276
+ };
277
+ "/polymarket/builders/{builder_code}/analytics/timeseries": {
278
+ parameters: {
279
+ query?: never;
280
+ header?: never;
281
+ path?: never;
282
+ cookie?: never;
283
+ };
284
+ /**
285
+ * Builder analytics timeseries (cumulative)
286
+ * @description Returns cumulative values at the end of each bucket for one builder. Use for running-total charts over time.
287
+ */
288
+ get: operations["get_builder_analytics_timeseries"];
289
+ put?: never;
290
+ post?: never;
291
+ delete?: never;
292
+ options?: never;
293
+ head?: never;
294
+ patch?: never;
295
+ trace?: never;
296
+ };
297
+ "/polymarket/builders/{builder_code}/concentration": {
298
+ parameters: {
299
+ query?: never;
300
+ header?: never;
301
+ path?: never;
302
+ cookie?: never;
303
+ };
304
+ /**
305
+ * Trader-volume concentration for a builder
306
+ * @description How much of the builder's window volume is concentrated in its top traders. Returns total volume + total trader count + top-1/10/100/1k/10k volume and share.
307
+ */
308
+ get: operations["get_builder_concentration"];
309
+ put?: never;
310
+ post?: never;
311
+ delete?: never;
312
+ options?: never;
313
+ head?: never;
314
+ patch?: never;
315
+ trace?: never;
316
+ };
317
+ "/polymarket/builders/{builder_code}/fees": {
318
+ parameters: {
319
+ query?: never;
320
+ header?: never;
321
+ path?: never;
322
+ cookie?: never;
323
+ };
324
+ /**
325
+ * Get builder fee rates
326
+ * @description Returns the maker and taker fee rates (in basis points) for the given builder code.
327
+ */
328
+ get: operations["get_builder_fees"];
329
+ put?: never;
330
+ post?: never;
331
+ delete?: never;
332
+ options?: never;
333
+ head?: never;
334
+ patch?: never;
335
+ trace?: never;
336
+ };
337
+ "/polymarket/builders/{builder_code}/fees/history": {
338
+ parameters: {
339
+ query?: never;
340
+ header?: never;
341
+ path?: never;
342
+ cookie?: never;
343
+ };
344
+ /**
345
+ * Get builder fee rate history
346
+ * @description Returns the history of rate changes for the given builder code, newest first.
347
+ */
348
+ get: operations["get_builder_fees_history"];
349
+ put?: never;
350
+ post?: never;
351
+ delete?: never;
352
+ options?: never;
353
+ head?: never;
354
+ patch?: never;
355
+ trace?: never;
356
+ };
357
+ "/polymarket/builders/{builder_code}/retention": {
358
+ parameters: {
359
+ query?: never;
360
+ header?: never;
361
+ path?: never;
362
+ cookie?: never;
363
+ };
364
+ /**
365
+ * Cohort retention for a builder
366
+ * @description For each cohort day in the requested window, returns the cohort size and the share of traders that came back on day +1, +7, and +30.
367
+ */
368
+ get: operations["get_builder_retention"];
369
+ put?: never;
370
+ post?: never;
371
+ delete?: never;
372
+ options?: never;
373
+ head?: never;
374
+ patch?: never;
375
+ trace?: never;
376
+ };
377
+ "/polymarket/builders/{builder_code}/tags": {
378
+ parameters: {
379
+ query?: never;
380
+ header?: never;
381
+ path?: never;
382
+ cookie?: never;
383
+ };
384
+ /**
385
+ * Per-tag breakdown for a builder
386
+ * @description Returns the top tags this builder has routed activity into, ranked by the chosen metric over the chosen window.
387
+ */
388
+ get: operations["list_builder_tags"];
389
+ put?: never;
390
+ post?: never;
391
+ delete?: never;
392
+ options?: never;
393
+ head?: never;
394
+ patch?: never;
395
+ trace?: never;
396
+ };
397
+ "/polymarket/builders/{builder_code}/top-traders": {
398
+ parameters: {
399
+ query?: never;
400
+ header?: never;
401
+ path?: never;
402
+ cookie?: never;
403
+ };
404
+ /**
405
+ * Top traders for a builder
406
+ * @description Returns the highest-volume (or highest-fee / highest-txn) traders that have routed through this builder over the requested window.
407
+ */
408
+ get: operations["get_builder_top_traders"];
409
+ put?: never;
410
+ post?: never;
411
+ delete?: never;
412
+ options?: never;
413
+ head?: never;
414
+ patch?: never;
415
+ trace?: never;
416
+ };
106
417
  "/polymarket/events": {
107
418
  parameters: {
108
419
  query?: never;
@@ -1507,145 +1818,536 @@ export interface components {
1507
1818
  };
1508
1819
  /** @enum {string} */
1509
1820
  BondsSortBy: "end_date" | "apy" | "liquidity" | "volume";
1510
- /** @description Output payload for Cancelled orders. */
1511
- CancelledTrade: {
1512
- id: string;
1513
- hash: string;
1514
- /** Format: int64 */
1515
- block?: number | null;
1821
+ BuilderFeeRate: {
1822
+ code: string;
1823
+ /** Format: int32 */
1824
+ builder_maker_fee_rate_bps: number;
1825
+ /** Format: int32 */
1826
+ builder_taker_fee_rate_bps: number;
1827
+ enabled: boolean;
1828
+ };
1829
+ /** @description One observed transition for a builder code. */
1830
+ BuilderFeeRateHistoryEntry: {
1831
+ code: string;
1832
+ /** Format: int32 */
1833
+ builder_maker_fee_rate_bps: number;
1834
+ /** Format: int32 */
1835
+ builder_taker_fee_rate_bps: number;
1836
+ enabled: boolean;
1837
+ /**
1838
+ * Format: int64
1839
+ * @description Unix-second timestamp of when this rate was observed.
1840
+ */
1841
+ observed_at: number;
1842
+ };
1843
+ /** @description Cumulative stats across all builders. */
1844
+ BuilderGlobalLatestRow: {
1516
1845
  /** Format: int64 */
1517
- confirmed_at?: number | null;
1846
+ block: number;
1847
+ /** Format: int32 */
1848
+ ts: number;
1849
+ /** Format: double */
1850
+ volume_usd: number;
1851
+ /** Format: double */
1852
+ buy_volume_usd: number;
1853
+ /** Format: double */
1854
+ sell_volume_usd: number;
1518
1855
  /** Format: int64 */
1519
- received_at?: number | null;
1856
+ unique_traders: number;
1520
1857
  /** Format: int64 */
1521
- log_index?: number | null;
1858
+ unique_makers: number;
1522
1859
  /** Format: int64 */
1523
- block_index?: number | null;
1524
- order_hash?: string | null;
1525
- question?: string | null;
1526
- image_url?: string | null;
1527
- slug?: string | null;
1528
- event_slug?: string | null;
1529
- exchange: components["schemas"]["PolymarketExchange"];
1860
+ unique_takers: number;
1861
+ /** Format: int64 */
1862
+ txn_count: number;
1863
+ /** Format: int64 */
1864
+ buy_count: number;
1865
+ /** Format: int64 */
1866
+ sell_count: number;
1867
+ /** Format: double */
1868
+ fees_usd: number;
1869
+ /** Format: double */
1870
+ builder_fees: number;
1871
+ /** Format: double */
1872
+ shares_volume: number;
1873
+ /** Format: double */
1874
+ yes_volume_usd: number;
1875
+ /** Format: double */
1876
+ no_volume_usd: number;
1877
+ /** Format: int64 */
1878
+ yes_count: number;
1879
+ /** Format: int64 */
1880
+ no_count: number;
1881
+ /** Format: int64 */
1882
+ buy_dist_under_10: number;
1883
+ /** Format: int64 */
1884
+ buy_dist_10_100: number;
1885
+ /** Format: int64 */
1886
+ buy_dist_100_1k: number;
1887
+ /** Format: int64 */
1888
+ buy_dist_1k_10k: number;
1889
+ /** Format: int64 */
1890
+ buy_dist_10k_50k: number;
1891
+ /** Format: int64 */
1892
+ buy_dist_50k_plus: number;
1893
+ /**
1894
+ * Format: int64
1895
+ * @description Distinct builder codes ever observed.
1896
+ */
1897
+ distinct_builders: number;
1530
1898
  };
1531
- /** @enum {string} */
1532
- CandlestickResolution: "1" | "5" | "15" | "30" | "60" | "240" | "D" | "1D";
1533
- /**
1534
- * @description Lookback window for `/analytics/changes` endpoints.
1535
- * @enum {string}
1536
- */
1537
- ChangeTimeframe: "1h" | "24h" | "7d" | "30d" | "1mo" | "1y";
1538
- /** @enum {string} */
1539
- ChartResolution: "1H" | "6H" | "1D" | "1W" | "1M" | "ALL";
1540
- /** @description CLOB reward (public API format) */
1541
- ClobReward: {
1542
- id: string;
1543
- condition_id: string;
1544
- asset_address?: string | null;
1899
+ /** @description Cumulative stats for a single builder. */
1900
+ BuilderLatestRow: {
1901
+ builder_code: string;
1902
+ /** Format: int64 */
1903
+ block: number;
1904
+ /** Format: int32 */
1905
+ ts: number;
1545
1906
  /** Format: double */
1546
- rewards_amount?: number | null;
1907
+ volume_usd: number;
1547
1908
  /** Format: double */
1548
- rewards_daily_rate?: number | null;
1549
- start_date?: string | null;
1550
- end_date?: string | null;
1909
+ buy_volume_usd: number;
1551
1910
  /** Format: double */
1552
- rewards_max_spread?: number | null;
1911
+ sell_volume_usd: number;
1912
+ /** Format: int64 */
1913
+ unique_traders: number;
1914
+ /** Format: int64 */
1915
+ unique_makers: number;
1916
+ /** Format: int64 */
1917
+ unique_takers: number;
1918
+ /** Format: int64 */
1919
+ txn_count: number;
1920
+ /** Format: int64 */
1921
+ buy_count: number;
1922
+ /** Format: int64 */
1923
+ sell_count: number;
1553
1924
  /** Format: double */
1554
- rewards_min_size?: number | null;
1925
+ fees_usd: number;
1555
1926
  /** Format: double */
1556
- native_daily_rate?: number | null;
1927
+ builder_fees: number;
1557
1928
  /** Format: double */
1558
- sponsored_daily_rate?: number | null;
1929
+ shares_volume: number;
1559
1930
  /** Format: double */
1560
- total_daily_rate?: number | null;
1561
- /** Format: int32 */
1562
- sponsors_count?: number | null;
1931
+ yes_volume_usd: number;
1932
+ /** Format: double */
1933
+ no_volume_usd: number;
1934
+ /** Format: int64 */
1935
+ yes_count: number;
1936
+ /** Format: int64 */
1937
+ no_count: number;
1938
+ /** Format: int64 */
1939
+ buy_dist_under_10: number;
1940
+ /** Format: int64 */
1941
+ buy_dist_10_100: number;
1942
+ /** Format: int64 */
1943
+ buy_dist_100_1k: number;
1944
+ /** Format: int64 */
1945
+ buy_dist_1k_10k: number;
1946
+ /** Format: int64 */
1947
+ buy_dist_10k_50k: number;
1948
+ /** Format: int64 */
1949
+ buy_dist_50k_plus: number;
1563
1950
  };
1564
- /** @description Response type for condition metrics query */
1565
- ConditionMetricsResponse: {
1566
- condition_id: string;
1567
- timeframe: string;
1951
+ /** @description Per-metric percentage change for a builder over the requested lookback window. */
1952
+ BuilderPctChange: {
1568
1953
  /** Format: double */
1569
1954
  volume_usd: number;
1570
1955
  /** Format: double */
1571
- fees: number;
1572
- /** Format: int32 */
1573
- txns: number;
1574
- /** Format: int32 */
1956
+ buy_volume_usd: number;
1957
+ /** Format: double */
1958
+ sell_volume_usd: number;
1959
+ /** Format: double */
1575
1960
  unique_traders: number;
1576
- };
1577
- ConditionOrderbookRow: {
1578
- /** Format: int64 */
1579
- ts: number;
1580
- position_id: string;
1581
- condition_id: string;
1582
- bids: components["schemas"]["OrderbookLevel"][];
1583
- asks: components["schemas"]["OrderbookLevel"][];
1584
- hash: string;
1585
1961
  /** Format: double */
1586
- best_bid?: number | null;
1962
+ unique_makers: number;
1587
1963
  /** Format: double */
1588
- best_ask?: number | null;
1964
+ unique_takers: number;
1589
1965
  /** Format: double */
1590
- mid_price?: number | null;
1966
+ txn_count: number;
1591
1967
  /** Format: double */
1592
- spread?: number | null;
1968
+ buy_count: number;
1593
1969
  /** Format: double */
1594
- bid_liquidity_usd?: number | null;
1970
+ sell_count: number;
1595
1971
  /** Format: double */
1596
- ask_liquidity_usd?: number | null;
1597
- /** Format: int32 */
1598
- bid_levels?: number | null;
1599
- /** Format: int32 */
1600
- ask_levels?: number | null;
1972
+ fees_usd: number;
1973
+ /** Format: double */
1974
+ builder_fees: number;
1975
+ /** Format: double */
1976
+ shares_volume: number;
1977
+ /** Format: double */
1978
+ yes_volume_usd: number;
1979
+ /** Format: double */
1980
+ no_volume_usd: number;
1981
+ /** Format: double */
1982
+ yes_count: number;
1983
+ /** Format: double */
1984
+ no_count: number;
1985
+ /** Format: double */
1986
+ buy_dist_under_10: number;
1987
+ /** Format: double */
1988
+ buy_dist_10_100: number;
1989
+ /** Format: double */
1990
+ buy_dist_100_1k: number;
1991
+ /** Format: double */
1992
+ buy_dist_1k_10k: number;
1993
+ /** Format: double */
1994
+ buy_dist_10k_50k: number;
1995
+ /** Format: double */
1996
+ buy_dist_50k_plus: number;
1601
1997
  };
1602
- /** @description CTF ConditionResolution: positions become redeemable on the Conditional Tokens contract. */
1603
- ConditionResolutionEvent: {
1604
- id: string;
1605
- hash: string;
1998
+ /**
1999
+ * @description Sort metric for the builders list endpoint.
2000
+ * @enum {string}
2001
+ */
2002
+ BuilderSortBy: "volume" | "txns" | "traders" | "fees" | "builder_fees";
2003
+ /** @description One tag's stats under a single builder. */
2004
+ BuilderTagRow: {
2005
+ tag: string;
1606
2006
  /** Format: int64 */
1607
- block?: number | null;
2007
+ block: number;
2008
+ /** Format: int32 */
2009
+ ts: number;
2010
+ /** Format: double */
2011
+ volume_usd: number;
2012
+ /** Format: double */
2013
+ buy_volume_usd: number;
2014
+ /** Format: double */
2015
+ sell_volume_usd: number;
1608
2016
  /** Format: int64 */
1609
- confirmed_at?: number | null;
2017
+ unique_traders: number;
1610
2018
  /** Format: int64 */
1611
- received_at?: number | null;
2019
+ unique_makers: number;
1612
2020
  /** Format: int64 */
1613
- log_index?: number | null;
2021
+ unique_takers: number;
1614
2022
  /** Format: int64 */
1615
- block_index?: number | null;
1616
- oracle_contract: string;
1617
- condition_id: string;
1618
- oracle: string;
1619
- proposed_outcome?: string | null;
1620
- question?: string | null;
1621
- image_url?: string | null;
1622
- slug?: string | null;
1623
- event_slug?: string | null;
1624
- };
1625
- /** @description V2 UMA OOv2: a proposed price was disputed. */
1626
- DisputePriceEvent: {
1627
- id: string;
1628
- hash: string;
2023
+ txn_count: number;
1629
2024
  /** Format: int64 */
1630
- block?: number | null;
2025
+ buy_count: number;
1631
2026
  /** Format: int64 */
1632
- confirmed_at?: number | null;
2027
+ sell_count: number;
2028
+ /** Format: double */
2029
+ fees_usd: number;
2030
+ /** Format: double */
2031
+ builder_fees: number;
2032
+ /** Format: double */
2033
+ shares_volume: number;
2034
+ /** Format: double */
2035
+ yes_volume_usd: number;
2036
+ /** Format: double */
2037
+ no_volume_usd: number;
1633
2038
  /** Format: int64 */
1634
- received_at?: number | null;
2039
+ yes_count: number;
1635
2040
  /** Format: int64 */
1636
- log_index?: number | null;
2041
+ no_count: number;
1637
2042
  /** Format: int64 */
1638
- block_index?: number | null;
1639
- oracle_contract: string;
1640
- requester: string;
1641
- proposer: string;
1642
- disputer: string;
1643
- identifier: string;
1644
- timestamp: string;
1645
- ancillary_data: string;
2043
+ buy_dist_under_10: number;
1646
2044
  /** Format: int64 */
1647
- proposed_price: number;
1648
- condition_id?: string | null;
2045
+ buy_dist_10_100: number;
2046
+ /** Format: int64 */
2047
+ buy_dist_100_1k: number;
2048
+ /** Format: int64 */
2049
+ buy_dist_1k_10k: number;
2050
+ /** Format: int64 */
2051
+ buy_dist_10k_50k: number;
2052
+ /** Format: int64 */
2053
+ buy_dist_50k_plus: number;
2054
+ };
2055
+ /**
2056
+ * @description One time bucket of builder activity. In `timeseries` responses fields are
2057
+ * cumulative values at the end of the bucket; in `deltas` responses they are
2058
+ * the change within the bucket.
2059
+ */
2060
+ BuilderTimeBucketRow: {
2061
+ /** Format: int32 */
2062
+ t: number;
2063
+ /** Format: double */
2064
+ v: number;
2065
+ /** Format: double */
2066
+ bv: number;
2067
+ /** Format: double */
2068
+ sv: number;
2069
+ /**
2070
+ * Format: int64
2071
+ * @description Distinct trader addresses.
2072
+ */
2073
+ ut: number;
2074
+ /**
2075
+ * Format: int64
2076
+ * @description Distinct maker addresses (order-resting side).
2077
+ */
2078
+ um: number;
2079
+ /**
2080
+ * Format: int64
2081
+ * @description Distinct taker addresses (order-initiator side).
2082
+ */
2083
+ uk: number;
2084
+ /** Format: int64 */
2085
+ tc: number;
2086
+ /** Format: int64 */
2087
+ bc: number;
2088
+ /** Format: int64 */
2089
+ sc: number;
2090
+ /** Format: double */
2091
+ f: number;
2092
+ /**
2093
+ * Format: double
2094
+ * @description Builder's share of `fees_usd` (which is Polymarket's total fee).
2095
+ */
2096
+ bf: number;
2097
+ /** Format: double */
2098
+ sh: number;
2099
+ /** Format: double */
2100
+ yv: number;
2101
+ /** Format: double */
2102
+ nv: number;
2103
+ /** Format: int64 */
2104
+ yc: number;
2105
+ /** Format: int64 */
2106
+ nc: number;
2107
+ /** Format: int64 */
2108
+ bd_u10: number;
2109
+ /** Format: int64 */
2110
+ bd_100: number;
2111
+ /** Format: int64 */
2112
+ bd_1k: number;
2113
+ /** Format: int64 */
2114
+ bd_10k: number;
2115
+ /** Format: int64 */
2116
+ bd_50k: number;
2117
+ /** Format: int64 */
2118
+ bd_50p: number;
2119
+ };
2120
+ /**
2121
+ * @description Time window for cumulative builder stats.
2122
+ * @enum {string}
2123
+ */
2124
+ BuilderTimeframe: "lifetime" | "1d" | "7d" | "30d";
2125
+ /** @description Output payload for Cancelled orders. */
2126
+ CancelledTrade: {
2127
+ id: string;
2128
+ hash: string;
2129
+ /** Format: int64 */
2130
+ block?: number | null;
2131
+ /** Format: int64 */
2132
+ confirmed_at?: number | null;
2133
+ /** Format: int64 */
2134
+ received_at?: number | null;
2135
+ /** Format: int64 */
2136
+ log_index?: number | null;
2137
+ /** Format: int64 */
2138
+ block_index?: number | null;
2139
+ order_hash?: string | null;
2140
+ question?: string | null;
2141
+ image_url?: string | null;
2142
+ slug?: string | null;
2143
+ event_slug?: string | null;
2144
+ exchange: components["schemas"]["PolymarketExchange"];
2145
+ };
2146
+ /** @enum {string} */
2147
+ CandlestickResolution: "1" | "5" | "15" | "30" | "60" | "240" | "D" | "1D";
2148
+ /**
2149
+ * @description Lookback window for `/analytics/changes` endpoints.
2150
+ * @enum {string}
2151
+ */
2152
+ ChangeTimeframe: "1h" | "24h" | "7d" | "30d" | "1mo" | "1y";
2153
+ /** @enum {string} */
2154
+ ChartResolution: "1H" | "6H" | "1D" | "1W" | "1M" | "ALL";
2155
+ /** @description CLOB reward (public API format) */
2156
+ ClobReward: {
2157
+ id: string;
2158
+ condition_id: string;
2159
+ asset_address?: string | null;
2160
+ /** Format: double */
2161
+ rewards_amount?: number | null;
2162
+ /** Format: double */
2163
+ rewards_daily_rate?: number | null;
2164
+ start_date?: string | null;
2165
+ end_date?: string | null;
2166
+ /** Format: double */
2167
+ rewards_max_spread?: number | null;
2168
+ /** Format: double */
2169
+ rewards_min_size?: number | null;
2170
+ /** Format: double */
2171
+ native_daily_rate?: number | null;
2172
+ /** Format: double */
2173
+ sponsored_daily_rate?: number | null;
2174
+ /** Format: double */
2175
+ total_daily_rate?: number | null;
2176
+ /** Format: int32 */
2177
+ sponsors_count?: number | null;
2178
+ };
2179
+ /** @description One row of cohort retention output. */
2180
+ CohortRetentionRow: {
2181
+ /**
2182
+ * Format: int64
2183
+ * @description Cohort day as Unix-second timestamp at 00:00 UTC.
2184
+ */
2185
+ cohort_day: number;
2186
+ /**
2187
+ * Format: int64
2188
+ * @description Number of distinct traders whose first-ever trade with this builder
2189
+ * landed on `cohort_day`.
2190
+ */
2191
+ cohort_size: number;
2192
+ /**
2193
+ * @description Fraction of the cohort active on `cohort_day + offset`, keyed by
2194
+ * the offset (in days). E.g. `{ "1": 0.42, "7": 0.21, "30": 0.08 }`.
2195
+ */
2196
+ retention: {
2197
+ [key: string]: number;
2198
+ };
2199
+ /** @description Raw retained-trader counts per offset, same keys as `retention`. */
2200
+ retained: {
2201
+ [key: string]: number;
2202
+ };
2203
+ };
2204
+ ConcentrationResponse: {
2205
+ /**
2206
+ * Format: double
2207
+ * @description Total volume in the window across every trader of this builder.
2208
+ */
2209
+ total_volume_usd: number;
2210
+ /**
2211
+ * Format: int64
2212
+ * @description Total traders that routed through this builder in the window.
2213
+ */
2214
+ total_traders: number;
2215
+ /**
2216
+ * Format: double
2217
+ * @description Volume routed by the single biggest trader.
2218
+ */
2219
+ top1_volume_usd: number;
2220
+ /**
2221
+ * Format: double
2222
+ * @description Volume routed by the top-10 traders.
2223
+ */
2224
+ top10_volume_usd: number;
2225
+ /**
2226
+ * Format: double
2227
+ * @description Volume routed by the top-100 traders.
2228
+ */
2229
+ top100_volume_usd: number;
2230
+ /**
2231
+ * Format: double
2232
+ * @description Volume routed by the top-1k traders.
2233
+ */
2234
+ top1k_volume_usd: number;
2235
+ /**
2236
+ * Format: double
2237
+ * @description Volume routed by the top-10k traders.
2238
+ */
2239
+ top10k_volume_usd: number;
2240
+ /**
2241
+ * Format: double
2242
+ * @description Top-1 share — fraction of total volume held by the single biggest trader.
2243
+ */
2244
+ top1_share: number;
2245
+ /**
2246
+ * Format: double
2247
+ * @description Top-10 share.
2248
+ */
2249
+ top10_share: number;
2250
+ /**
2251
+ * Format: double
2252
+ * @description Top-100 share.
2253
+ */
2254
+ top100_share: number;
2255
+ /**
2256
+ * Format: double
2257
+ * @description Top-1k share.
2258
+ */
2259
+ top1k_share: number;
2260
+ /**
2261
+ * Format: double
2262
+ * @description Top-10k share.
2263
+ */
2264
+ top10k_share: number;
2265
+ };
2266
+ /** @description Response type for condition metrics query */
2267
+ ConditionMetricsResponse: {
2268
+ condition_id: string;
2269
+ timeframe: string;
2270
+ /** Format: double */
2271
+ volume_usd: number;
2272
+ /** Format: double */
2273
+ fees: number;
2274
+ /** Format: int32 */
2275
+ txns: number;
2276
+ /** Format: int32 */
2277
+ unique_traders: number;
2278
+ };
2279
+ ConditionOrderbookRow: {
2280
+ /** Format: int64 */
2281
+ ts: number;
2282
+ position_id: string;
2283
+ condition_id: string;
2284
+ bids: components["schemas"]["OrderbookLevel"][];
2285
+ asks: components["schemas"]["OrderbookLevel"][];
2286
+ hash: string;
2287
+ /** Format: double */
2288
+ best_bid?: number | null;
2289
+ /** Format: double */
2290
+ best_ask?: number | null;
2291
+ /** Format: double */
2292
+ mid_price?: number | null;
2293
+ /** Format: double */
2294
+ spread?: number | null;
2295
+ /** Format: double */
2296
+ bid_liquidity_usd?: number | null;
2297
+ /** Format: double */
2298
+ ask_liquidity_usd?: number | null;
2299
+ /** Format: int32 */
2300
+ bid_levels?: number | null;
2301
+ /** Format: int32 */
2302
+ ask_levels?: number | null;
2303
+ };
2304
+ /** @description CTF ConditionResolution: positions become redeemable on the Conditional Tokens contract. */
2305
+ ConditionResolutionEvent: {
2306
+ id: string;
2307
+ hash: string;
2308
+ /** Format: int64 */
2309
+ block?: number | null;
2310
+ /** Format: int64 */
2311
+ confirmed_at?: number | null;
2312
+ /** Format: int64 */
2313
+ received_at?: number | null;
2314
+ /** Format: int64 */
2315
+ log_index?: number | null;
2316
+ /** Format: int64 */
2317
+ block_index?: number | null;
2318
+ oracle_contract: string;
2319
+ condition_id: string;
2320
+ oracle: string;
2321
+ proposed_outcome?: string | null;
2322
+ question?: string | null;
2323
+ image_url?: string | null;
2324
+ slug?: string | null;
2325
+ event_slug?: string | null;
2326
+ };
2327
+ /** @description V2 UMA OOv2: a proposed price was disputed. */
2328
+ DisputePriceEvent: {
2329
+ id: string;
2330
+ hash: string;
2331
+ /** Format: int64 */
2332
+ block?: number | null;
2333
+ /** Format: int64 */
2334
+ confirmed_at?: number | null;
2335
+ /** Format: int64 */
2336
+ received_at?: number | null;
2337
+ /** Format: int64 */
2338
+ log_index?: number | null;
2339
+ /** Format: int64 */
2340
+ block_index?: number | null;
2341
+ oracle_contract: string;
2342
+ requester: string;
2343
+ proposer: string;
2344
+ disputer: string;
2345
+ identifier: string;
2346
+ timestamp: string;
2347
+ ancillary_data: string;
2348
+ /** Format: int64 */
2349
+ proposed_price: number;
2350
+ condition_id?: string | null;
1649
2351
  proposed_outcome?: string | null;
1650
2352
  question?: string | null;
1651
2353
  image_url?: string | null;
@@ -1749,6 +2451,8 @@ export interface components {
1749
2451
  EventPnlSortBy: "realized_pnl_usd" | "total_volume_usd" | "markets_traded" | "total_fees" | "realized_pnl_pct";
1750
2452
  /** @enum {string} */
1751
2453
  EventSortBy: "volume" | "txns" | "unique_traders" | "title" | "creation_date" | "start_date" | "end_date" | "relevance";
2454
+ /** @enum {string} */
2455
+ GlobalChangeTimeframe: "1h" | "24h" | "7d" | "30d" | "1mo" | "1y";
1752
2456
  /**
1753
2457
  * @description Response body for `GET /polymarket/analytics/counts`.
1754
2458
  * Cumulative analytics metrics plus entity-count enrichment.
@@ -1848,6 +2552,54 @@ export interface components {
1848
2552
  */
1849
2553
  positions: number;
1850
2554
  };
2555
+ GlobalPctChange: {
2556
+ /** Format: double */
2557
+ volume_usd: number;
2558
+ /** Format: double */
2559
+ buy_volume_usd: number;
2560
+ /** Format: double */
2561
+ sell_volume_usd: number;
2562
+ /** Format: double */
2563
+ unique_traders: number;
2564
+ /** Format: double */
2565
+ unique_makers: number;
2566
+ /** Format: double */
2567
+ unique_takers: number;
2568
+ /** Format: double */
2569
+ txn_count: number;
2570
+ /** Format: double */
2571
+ buy_count: number;
2572
+ /** Format: double */
2573
+ sell_count: number;
2574
+ /** Format: double */
2575
+ fees_usd: number;
2576
+ /** Format: double */
2577
+ builder_fees: number;
2578
+ /** Format: double */
2579
+ shares_volume: number;
2580
+ /** Format: double */
2581
+ yes_volume_usd: number;
2582
+ /** Format: double */
2583
+ no_volume_usd: number;
2584
+ /** Format: double */
2585
+ yes_count: number;
2586
+ /** Format: double */
2587
+ no_count: number;
2588
+ /** Format: double */
2589
+ buy_dist_under_10: number;
2590
+ /** Format: double */
2591
+ buy_dist_10_100: number;
2592
+ /** Format: double */
2593
+ buy_dist_100_1k: number;
2594
+ /** Format: double */
2595
+ buy_dist_1k_10k: number;
2596
+ /** Format: double */
2597
+ buy_dist_10k_50k: number;
2598
+ /** Format: double */
2599
+ buy_dist_50k_plus: number;
2600
+ /** Format: double */
2601
+ distinct_builders: number;
2602
+ };
1851
2603
  /** @enum {string} */
1852
2604
  GlobalPnlSortBy: "realized_pnl_usd" | "buys" | "sells" | "redemptions" | "merges" | "avg_hold_time" | "markets_traded" | "events_traded" | "markets_won" | "volume_usd" | "fees" | "best_trade";
1853
2605
  /** @description Individual trader entry in the global PnL leaderboard */
@@ -3296,6 +4048,58 @@ export interface components {
3296
4048
  /** Format: int32 */
3297
4049
  ask_levels?: number | null;
3298
4050
  };
4051
+ /** @description One builder's stats under a single tag. */
4052
+ TagBuilderRow: {
4053
+ builder_code: string;
4054
+ /** Format: int64 */
4055
+ block: number;
4056
+ /** Format: int32 */
4057
+ ts: number;
4058
+ /** Format: double */
4059
+ volume_usd: number;
4060
+ /** Format: double */
4061
+ buy_volume_usd: number;
4062
+ /** Format: double */
4063
+ sell_volume_usd: number;
4064
+ /** Format: int64 */
4065
+ unique_traders: number;
4066
+ /** Format: int64 */
4067
+ unique_makers: number;
4068
+ /** Format: int64 */
4069
+ unique_takers: number;
4070
+ /** Format: int64 */
4071
+ txn_count: number;
4072
+ /** Format: int64 */
4073
+ buy_count: number;
4074
+ /** Format: int64 */
4075
+ sell_count: number;
4076
+ /** Format: double */
4077
+ fees_usd: number;
4078
+ /** Format: double */
4079
+ builder_fees: number;
4080
+ /** Format: double */
4081
+ shares_volume: number;
4082
+ /** Format: double */
4083
+ yes_volume_usd: number;
4084
+ /** Format: double */
4085
+ no_volume_usd: number;
4086
+ /** Format: int64 */
4087
+ yes_count: number;
4088
+ /** Format: int64 */
4089
+ no_count: number;
4090
+ /** Format: int64 */
4091
+ buy_dist_under_10: number;
4092
+ /** Format: int64 */
4093
+ buy_dist_10_100: number;
4094
+ /** Format: int64 */
4095
+ buy_dist_100_1k: number;
4096
+ /** Format: int64 */
4097
+ buy_dist_1k_10k: number;
4098
+ /** Format: int64 */
4099
+ buy_dist_10k_50k: number;
4100
+ /** Format: int64 */
4101
+ buy_dist_50k_plus: number;
4102
+ };
3299
4103
  /**
3300
4104
  * @description Metric to order by when `sort=<value>` is provided.
3301
4105
  *
@@ -3501,6 +4305,22 @@ export interface components {
3501
4305
  /** Format: int64 */
3502
4306
  last_trade_at?: number | null;
3503
4307
  };
4308
+ TopTraderRow: {
4309
+ trader: string;
4310
+ /** Format: double */
4311
+ volume_usd: number;
4312
+ /** Format: int64 */
4313
+ txn_count: number;
4314
+ /** Format: double */
4315
+ fees_usd: number;
4316
+ /** Format: double */
4317
+ builder_fees: number;
4318
+ };
4319
+ /**
4320
+ * @description Sort key for the top-traders ranking.
4321
+ * @enum {string}
4322
+ */
4323
+ TopTradersSortBy: "volume" | "txns" | "fees" | "builder_fees";
3504
4324
  /**
3505
4325
  * @description Tagged enum for all trade types — serializes with `"trade_type": "..."` discriminator
3506
4326
  * and only includes fields relevant to each type.
@@ -3594,6 +4414,11 @@ export interface components {
3594
4414
  x_username?: string | null;
3595
4415
  verified_badge?: boolean;
3596
4416
  };
4417
+ /**
4418
+ * @description Sort metric for the trader → builders list.
4419
+ * @enum {string}
4420
+ */
4421
+ TraderBuilderSortBy: "volume" | "txns" | "fees";
3597
4422
  /** @description Event-level PnL entry */
3598
4423
  TraderEventPnlEntry: {
3599
4424
  event_slug?: string | null;
@@ -3889,206 +4714,680 @@ export interface components {
3889
4714
  /** Format: int64 */
3890
4715
  bd_50p: number;
3891
4716
  };
3892
- TraderVolumeChartResponse: {
3893
- volumes: components["schemas"]["TraderVolumeDataPoint"][];
3894
- has_more: boolean;
4717
+ TraderVolumeChartResponse: {
4718
+ volumes: components["schemas"]["TraderVolumeDataPoint"][];
4719
+ has_more: boolean;
4720
+ };
4721
+ TraderVolumeDataPoint: {
4722
+ /** Format: int64 */
4723
+ t: number;
4724
+ /** Format: double */
4725
+ v: number;
4726
+ /** Format: double */
4727
+ bv: number;
4728
+ /** Format: double */
4729
+ sv: number;
4730
+ /** Format: int32 */
4731
+ tc: number;
4732
+ /** Format: int32 */
4733
+ btc: number;
4734
+ /** Format: int32 */
4735
+ stc: number;
4736
+ };
4737
+ TraderWithPnl: components["schemas"]["Trader"] & {
4738
+ pnl?: null | components["schemas"]["TraderPnlSummary"];
4739
+ };
4740
+ /**
4741
+ * @description Crypto asset symbols accepted by `asset_price_tick` and `asset_price_window_update` filters.
4742
+ * @enum {string}
4743
+ */
4744
+ WebhookAssetSymbol: "BTC" | "ETH" | "SOL" | "XRP" | "DOGE" | "BNB" | "HYPE";
4745
+ /**
4746
+ * @description Timeframe values accepted by webhook metric, milestone, spike, and asset-price filters.
4747
+ * @enum {string}
4748
+ */
4749
+ WebhookTimeframe: "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "6h" | "1d" | "24h" | "7d" | "30d";
4750
+ };
4751
+ responses: never;
4752
+ parameters: never;
4753
+ requestBodies: never;
4754
+ headers: never;
4755
+ pathItems: never;
4756
+ }
4757
+ export type $defs = Record<string, never>;
4758
+ export interface operations {
4759
+ get_global_analytics_changes: {
4760
+ parameters: {
4761
+ query?: {
4762
+ /** @description Lookback window: 1h, 24h, 7d, 30d, 1mo, 1y (default: 24h) */
4763
+ timeframe?: components["schemas"]["ChangeTimeframe"];
4764
+ };
4765
+ header?: never;
4766
+ path?: never;
4767
+ cookie?: never;
4768
+ };
4769
+ requestBody?: never;
4770
+ responses: {
4771
+ /** @description Per-metric pct change */
4772
+ 200: {
4773
+ headers: {
4774
+ [name: string]: unknown;
4775
+ };
4776
+ content: {
4777
+ "application/json": components["schemas"]["MetricPctChange"];
4778
+ };
4779
+ };
4780
+ };
4781
+ };
4782
+ get_analytics_counts: {
4783
+ parameters: {
4784
+ query?: never;
4785
+ header?: never;
4786
+ path?: never;
4787
+ cookie?: never;
4788
+ };
4789
+ requestBody?: never;
4790
+ responses: {
4791
+ /** @description Latest global metrics snapshot */
4792
+ 200: {
4793
+ headers: {
4794
+ [name: string]: unknown;
4795
+ };
4796
+ content: {
4797
+ "application/json": components["schemas"]["GlobalCountsResponse"];
4798
+ };
4799
+ };
4800
+ };
4801
+ };
4802
+ get_global_analytics_deltas: {
4803
+ parameters: {
4804
+ query?: {
4805
+ /** @description Bucket size: 60, 240, D, 1D, W, 1W, M, 1M (default: 60) */
4806
+ resolution?: components["schemas"]["AnalyticsResolution"];
4807
+ /** @description Start timestamp (Unix seconds). Omit for all-time. */
4808
+ from?: number;
4809
+ /** @description End timestamp (Unix seconds) */
4810
+ to?: number;
4811
+ /** @description Max data points (default: 500, max: 2500) */
4812
+ count_back?: number;
4813
+ /** @description Cursor from previous response for next page */
4814
+ pagination_key?: string;
4815
+ };
4816
+ header?: never;
4817
+ path?: never;
4818
+ cookie?: never;
4819
+ };
4820
+ requestBody?: never;
4821
+ responses: {
4822
+ /** @description Delta time-bucketed analytics */
4823
+ 200: {
4824
+ headers: {
4825
+ [name: string]: unknown;
4826
+ };
4827
+ content: {
4828
+ "application/json": components["schemas"]["TimeBucketRow"][];
4829
+ };
4830
+ };
4831
+ };
4832
+ };
4833
+ get_global_analytics_timeseries: {
4834
+ parameters: {
4835
+ query?: {
4836
+ /** @description Bucket size: 60, 240, D, 1D, W, 1W, M, 1M (default: 60) */
4837
+ resolution?: components["schemas"]["AnalyticsResolution"];
4838
+ /** @description Start timestamp (Unix seconds). Omit for all-time. */
4839
+ from?: number;
4840
+ /** @description End timestamp (Unix seconds) */
4841
+ to?: number;
4842
+ /** @description Max data points (default: 500, max: 2500) */
4843
+ count_back?: number;
4844
+ /** @description Cursor from previous response for next page */
4845
+ pagination_key?: string;
4846
+ };
4847
+ header?: never;
4848
+ path?: never;
4849
+ cookie?: never;
4850
+ };
4851
+ requestBody?: never;
4852
+ responses: {
4853
+ /** @description Cumulative time-bucketed analytics */
4854
+ 200: {
4855
+ headers: {
4856
+ [name: string]: unknown;
4857
+ };
4858
+ content: {
4859
+ "application/json": components["schemas"]["TimeBucketRow"][];
4860
+ };
4861
+ };
4862
+ };
4863
+ };
4864
+ get_asset_history: {
4865
+ parameters: {
4866
+ query: {
4867
+ /**
4868
+ * @description Asset ticker: BTC, ETH, XRP, SOL, DOGE, BNB, HYPE
4869
+ * @example BTC
4870
+ */
4871
+ asset_symbol: components["schemas"]["AssetSymbol"];
4872
+ /**
4873
+ * @description Time window: 5m, 15m, 1h, 4h, 1d
4874
+ * @example 1h
4875
+ */
4876
+ variant: components["schemas"]["AssetVariant"];
4877
+ /** @description Start timestamp in seconds (Unix epoch, inclusive) */
4878
+ from?: number;
4879
+ /** @description End timestamp in seconds (Unix epoch, inclusive) */
4880
+ to?: number;
4881
+ /**
4882
+ * @description Number of results (default: 10, max: 100)
4883
+ * @example 10
4884
+ */
4885
+ limit?: number;
4886
+ /** @description Cursor from previous response for keyset pagination. Pass the pagination_key from the previous page to fetch the next page. */
4887
+ pagination_key?: string;
4888
+ };
4889
+ header?: never;
4890
+ path?: never;
4891
+ cookie?: never;
4892
+ };
4893
+ requestBody?: never;
4894
+ responses: {
4895
+ /** @description Successful response */
4896
+ 200: {
4897
+ headers: {
4898
+ [name: string]: unknown;
4899
+ };
4900
+ content: {
4901
+ "application/json": components["schemas"]["AssetPriceHistoryRow"][];
4902
+ };
4903
+ };
4904
+ /** @description Bad request - missing or invalid parameters */
4905
+ 400: {
4906
+ headers: {
4907
+ [name: string]: unknown;
4908
+ };
4909
+ content?: never;
4910
+ };
4911
+ /** @description Internal server error */
4912
+ 500: {
4913
+ headers: {
4914
+ [name: string]: unknown;
4915
+ };
4916
+ content?: never;
4917
+ };
4918
+ };
4919
+ };
4920
+ list_builders: {
4921
+ parameters: {
4922
+ query?: {
4923
+ /** @description Metric to sort by. Default: volume. */
4924
+ sort?: components["schemas"]["BuilderSortBy"];
4925
+ /** @description Window to rank over. Default: lifetime. */
4926
+ timeframe?: components["schemas"]["BuilderTimeframe"];
4927
+ /** @description Max rows to return (default 50, max 500). */
4928
+ limit?: number;
4929
+ /** @description Number of rows to skip. Default 0. Takes precedence over `pagination_key`. */
4930
+ offset?: number;
4931
+ /** @description Opaque cursor from a previous response. Ignored when `offset` is set. */
4932
+ pagination_key?: string;
4933
+ };
4934
+ header?: never;
4935
+ path?: never;
4936
+ cookie?: never;
4937
+ };
4938
+ requestBody?: never;
4939
+ responses: {
4940
+ /** @description Ranked list of builders */
4941
+ 200: {
4942
+ headers: {
4943
+ [name: string]: unknown;
4944
+ };
4945
+ content: {
4946
+ "application/json": components["schemas"]["BuilderLatestRow"][];
4947
+ };
4948
+ };
4949
+ };
4950
+ };
4951
+ get_builder_global: {
4952
+ parameters: {
4953
+ query?: {
4954
+ /** @description Window: lifetime, 1d, 7d, 30d. Default: lifetime. */
4955
+ timeframe?: components["schemas"]["BuilderTimeframe"];
4956
+ };
4957
+ header?: never;
4958
+ path?: never;
4959
+ cookie?: never;
4960
+ };
4961
+ requestBody?: never;
4962
+ responses: {
4963
+ /** @description Global builder snapshot */
4964
+ 200: {
4965
+ headers: {
4966
+ [name: string]: unknown;
4967
+ };
4968
+ content: {
4969
+ "application/json": components["schemas"]["BuilderGlobalLatestRow"];
4970
+ };
4971
+ };
4972
+ };
4973
+ };
4974
+ get_builder_global_changes: {
4975
+ parameters: {
4976
+ query?: {
4977
+ /** @description Lookback: 1h, 24h, 7d, 30d, 1mo, 1y. Default: 24h. */
4978
+ timeframe?: components["schemas"]["GlobalChangeTimeframe"];
4979
+ };
4980
+ header?: never;
4981
+ path?: never;
4982
+ cookie?: never;
4983
+ };
4984
+ requestBody?: never;
4985
+ responses: {
4986
+ /** @description Per-metric percentage change */
4987
+ 200: {
4988
+ headers: {
4989
+ [name: string]: unknown;
4990
+ };
4991
+ content: {
4992
+ "application/json": components["schemas"]["GlobalPctChange"];
4993
+ };
4994
+ };
4995
+ };
4996
+ };
4997
+ get_builder_global_deltas: {
4998
+ parameters: {
4999
+ query?: {
5000
+ /** @description Bucket size: 60, 240, D, W, M. Default: 60. */
5001
+ resolution?: string;
5002
+ /** @description Start ts. */
5003
+ from?: number;
5004
+ /** @description End ts. */
5005
+ to?: number;
5006
+ /** @description Max buckets (default 500, max 2500). */
5007
+ count_back?: number;
5008
+ /** @description Opaque cursor. */
5009
+ pagination_key?: string;
5010
+ };
5011
+ header?: never;
5012
+ path?: never;
5013
+ cookie?: never;
5014
+ };
5015
+ requestBody?: never;
5016
+ responses: {
5017
+ /** @description Global per-bucket deltas */
5018
+ 200: {
5019
+ headers: {
5020
+ [name: string]: unknown;
5021
+ };
5022
+ content: {
5023
+ "application/json": components["schemas"]["BuilderTimeBucketRow"][];
5024
+ };
5025
+ };
5026
+ };
5027
+ };
5028
+ get_builder_global_timeseries: {
5029
+ parameters: {
5030
+ query?: {
5031
+ /** @description Bucket size: 60, 240, D, W, M. Default: 60. */
5032
+ resolution?: string;
5033
+ /** @description Start ts (Unix seconds). */
5034
+ from?: number;
5035
+ /** @description End ts (Unix seconds). */
5036
+ to?: number;
5037
+ /** @description Max buckets (default 500, max 2500). */
5038
+ count_back?: number;
5039
+ /** @description Opaque cursor. */
5040
+ pagination_key?: string;
5041
+ };
5042
+ header?: never;
5043
+ path?: never;
5044
+ cookie?: never;
3895
5045
  };
3896
- TraderVolumeDataPoint: {
3897
- /** Format: int64 */
3898
- t: number;
3899
- /** Format: double */
3900
- v: number;
3901
- /** Format: double */
3902
- bv: number;
3903
- /** Format: double */
3904
- sv: number;
3905
- /** Format: int32 */
3906
- tc: number;
3907
- /** Format: int32 */
3908
- btc: number;
3909
- /** Format: int32 */
3910
- stc: number;
5046
+ requestBody?: never;
5047
+ responses: {
5048
+ /** @description Global cumulative bucket series */
5049
+ 200: {
5050
+ headers: {
5051
+ [name: string]: unknown;
5052
+ };
5053
+ content: {
5054
+ "application/json": components["schemas"]["BuilderTimeBucketRow"][];
5055
+ };
5056
+ };
3911
5057
  };
3912
- TraderWithPnl: components["schemas"]["Trader"] & {
3913
- pnl?: null | components["schemas"]["TraderPnlSummary"];
5058
+ };
5059
+ list_tag_builders: {
5060
+ parameters: {
5061
+ query?: {
5062
+ /** @description Metric to sort by. Default: volume. */
5063
+ sort?: components["schemas"]["BuilderSortBy"];
5064
+ /** @description Window: lifetime, 1d, 7d, 30d. Default: lifetime. */
5065
+ timeframe?: components["schemas"]["BuilderTimeframe"];
5066
+ /** @description Max rows to return (default 50, max 500). */
5067
+ limit?: number;
5068
+ /** @description Skip count. */
5069
+ offset?: number;
5070
+ /** @description Opaque cursor. */
5071
+ pagination_key?: string;
5072
+ };
5073
+ header?: never;
5074
+ path: {
5075
+ /** @description Tag label (URL-encoded). */
5076
+ tag: string;
5077
+ };
5078
+ cookie?: never;
5079
+ };
5080
+ requestBody?: never;
5081
+ responses: {
5082
+ /** @description Per-builder breakdown */
5083
+ 200: {
5084
+ headers: {
5085
+ [name: string]: unknown;
5086
+ };
5087
+ content: {
5088
+ "application/json": components["schemas"]["TagBuilderRow"][];
5089
+ };
5090
+ };
3914
5091
  };
3915
- /**
3916
- * @description Crypto asset symbols accepted by `asset_price_tick` and `asset_price_window_update` filters.
3917
- * @enum {string}
3918
- */
3919
- WebhookAssetSymbol: "BTC" | "ETH" | "SOL" | "XRP" | "DOGE" | "BNB" | "HYPE";
3920
- /**
3921
- * @description Timeframe values accepted by webhook metric, milestone, spike, and asset-price filters.
3922
- * @enum {string}
3923
- */
3924
- WebhookTimeframe: "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "6h" | "1d" | "24h" | "7d" | "30d";
3925
5092
  };
3926
- responses: never;
3927
- parameters: never;
3928
- requestBodies: never;
3929
- headers: never;
3930
- pathItems: never;
3931
- }
3932
- export type $defs = Record<string, never>;
3933
- export interface operations {
3934
- get_global_analytics_changes: {
5093
+ get_builder: {
3935
5094
  parameters: {
3936
5095
  query?: {
3937
- /** @description Lookback window: 1h, 24h, 7d, 30d, 1mo, 1y (default: 24h) */
3938
- timeframe?: components["schemas"]["ChangeTimeframe"];
5096
+ /** @description Window to report stats over. Default: lifetime. */
5097
+ timeframe?: components["schemas"]["BuilderTimeframe"];
3939
5098
  };
3940
5099
  header?: never;
3941
- path?: never;
5100
+ path: {
5101
+ /** @description Builder code. */
5102
+ builder_code: string;
5103
+ };
3942
5104
  cookie?: never;
3943
5105
  };
3944
5106
  requestBody?: never;
3945
5107
  responses: {
3946
- /** @description Per-metric pct change */
5108
+ /** @description Builder snapshot */
3947
5109
  200: {
3948
5110
  headers: {
3949
5111
  [name: string]: unknown;
3950
5112
  };
3951
5113
  content: {
3952
- "application/json": components["schemas"]["MetricPctChange"];
5114
+ "application/json": components["schemas"]["BuilderLatestRow"];
3953
5115
  };
3954
5116
  };
5117
+ /** @description Builder not found */
5118
+ 404: {
5119
+ headers: {
5120
+ [name: string]: unknown;
5121
+ };
5122
+ content?: never;
5123
+ };
3955
5124
  };
3956
5125
  };
3957
- get_analytics_counts: {
5126
+ get_builder_analytics_changes: {
3958
5127
  parameters: {
3959
- query?: never;
5128
+ query?: {
5129
+ /** @description Lookback window (default: 24h). */
5130
+ timeframe?: components["schemas"]["ChangeTimeframe"];
5131
+ };
3960
5132
  header?: never;
3961
- path?: never;
5133
+ path: {
5134
+ /** @description Builder identifier (0x-prefixed hex). */
5135
+ builder_code: string;
5136
+ };
3962
5137
  cookie?: never;
3963
5138
  };
3964
5139
  requestBody?: never;
3965
5140
  responses: {
3966
- /** @description Latest global metrics snapshot */
5141
+ /** @description Per-metric percentage change */
3967
5142
  200: {
3968
5143
  headers: {
3969
5144
  [name: string]: unknown;
3970
5145
  };
3971
5146
  content: {
3972
- "application/json": components["schemas"]["GlobalCountsResponse"];
5147
+ "application/json": components["schemas"]["BuilderPctChange"];
3973
5148
  };
3974
5149
  };
3975
5150
  };
3976
5151
  };
3977
- get_global_analytics_deltas: {
5152
+ get_builder_analytics_deltas: {
3978
5153
  parameters: {
3979
5154
  query?: {
3980
- /** @description Bucket size: 60, 240, D, 1D, W, 1W, M, 1M (default: 60) */
5155
+ /** @description Bucket size. Default: 60 (hourly). */
3981
5156
  resolution?: components["schemas"]["AnalyticsResolution"];
3982
- /** @description Start timestamp (Unix seconds). Omit for all-time. */
5157
+ /** @description Start timestamp (unix seconds). */
3983
5158
  from?: number;
3984
- /** @description End timestamp (Unix seconds) */
5159
+ /** @description End timestamp (unix seconds). */
3985
5160
  to?: number;
3986
- /** @description Max data points (default: 500, max: 2500) */
5161
+ /** @description Max data points to return (default 500, max 2500). */
3987
5162
  count_back?: number;
3988
- /** @description Cursor from previous response for next page */
5163
+ /** @description Opaque cursor from a previous response. */
3989
5164
  pagination_key?: string;
3990
5165
  };
3991
5166
  header?: never;
3992
- path?: never;
5167
+ path: {
5168
+ /** @description Builder code. */
5169
+ builder_code: string;
5170
+ };
3993
5171
  cookie?: never;
3994
5172
  };
3995
5173
  requestBody?: never;
3996
5174
  responses: {
3997
- /** @description Delta time-bucketed analytics */
5175
+ /** @description Per-bucket delta builder stats */
3998
5176
  200: {
3999
5177
  headers: {
4000
5178
  [name: string]: unknown;
4001
5179
  };
4002
5180
  content: {
4003
- "application/json": components["schemas"]["TimeBucketRow"][];
5181
+ "application/json": components["schemas"]["BuilderTimeBucketRow"][];
4004
5182
  };
4005
5183
  };
4006
5184
  };
4007
5185
  };
4008
- get_global_analytics_timeseries: {
5186
+ get_builder_analytics_timeseries: {
4009
5187
  parameters: {
4010
5188
  query?: {
4011
- /** @description Bucket size: 60, 240, D, 1D, W, 1W, M, 1M (default: 60) */
5189
+ /** @description Bucket size. Default: 60 (hourly). */
4012
5190
  resolution?: components["schemas"]["AnalyticsResolution"];
4013
- /** @description Start timestamp (Unix seconds). Omit for all-time. */
5191
+ /** @description Start timestamp (unix seconds). Omit for all-time. */
4014
5192
  from?: number;
4015
- /** @description End timestamp (Unix seconds) */
5193
+ /** @description End timestamp (unix seconds). */
4016
5194
  to?: number;
4017
- /** @description Max data points (default: 500, max: 2500) */
5195
+ /** @description Max data points to return (default 500, max 2500). */
4018
5196
  count_back?: number;
4019
- /** @description Cursor from previous response for next page */
5197
+ /** @description Opaque cursor from a previous response. */
4020
5198
  pagination_key?: string;
4021
5199
  };
4022
5200
  header?: never;
4023
- path?: never;
5201
+ path: {
5202
+ /** @description Builder code. */
5203
+ builder_code: string;
5204
+ };
4024
5205
  cookie?: never;
4025
5206
  };
4026
5207
  requestBody?: never;
4027
5208
  responses: {
4028
- /** @description Cumulative time-bucketed analytics */
5209
+ /** @description Cumulative time-bucketed builder stats */
4029
5210
  200: {
4030
5211
  headers: {
4031
5212
  [name: string]: unknown;
4032
5213
  };
4033
5214
  content: {
4034
- "application/json": components["schemas"]["TimeBucketRow"][];
5215
+ "application/json": components["schemas"]["BuilderTimeBucketRow"][];
4035
5216
  };
4036
5217
  };
4037
5218
  };
4038
5219
  };
4039
- get_asset_history: {
5220
+ get_builder_concentration: {
4040
5221
  parameters: {
4041
- query: {
4042
- /**
4043
- * @description Asset ticker: BTC, ETH, XRP, SOL, DOGE, BNB, HYPE
4044
- * @example BTC
4045
- */
4046
- asset_symbol: components["schemas"]["AssetSymbol"];
4047
- /**
4048
- * @description Time window: 5m, 15m, 1h, 4h, 1d
4049
- * @example 1h
4050
- */
4051
- variant: components["schemas"]["AssetVariant"];
4052
- /** @description Start timestamp in seconds (Unix epoch, inclusive) */
5222
+ query?: {
5223
+ /** @description Window: lifetime, 1d (24h), 7d, 30d (1mo). Default: 1d */
5224
+ timeframe?: components["schemas"]["BuilderTimeframe"];
5225
+ };
5226
+ header?: never;
5227
+ path: {
5228
+ /** @description Builder code. */
5229
+ builder_code: string;
5230
+ };
5231
+ cookie?: never;
5232
+ };
5233
+ requestBody?: never;
5234
+ responses: {
5235
+ /** @description Concentration metrics */
5236
+ 200: {
5237
+ headers: {
5238
+ [name: string]: unknown;
5239
+ };
5240
+ content: {
5241
+ "application/json": components["schemas"]["ConcentrationResponse"];
5242
+ };
5243
+ };
5244
+ };
5245
+ };
5246
+ get_builder_fees: {
5247
+ parameters: {
5248
+ query?: never;
5249
+ header?: never;
5250
+ path: {
5251
+ /** @description Builder code. */
5252
+ builder_code: string;
5253
+ };
5254
+ cookie?: never;
5255
+ };
5256
+ requestBody?: never;
5257
+ responses: {
5258
+ /** @description Builder fee rates */
5259
+ 200: {
5260
+ headers: {
5261
+ [name: string]: unknown;
5262
+ };
5263
+ content: {
5264
+ "application/json": components["schemas"]["BuilderFeeRate"];
5265
+ };
5266
+ };
5267
+ /** @description Builder code not registered */
5268
+ 404: {
5269
+ headers: {
5270
+ [name: string]: unknown;
5271
+ };
5272
+ content?: never;
5273
+ };
5274
+ };
5275
+ };
5276
+ get_builder_fees_history: {
5277
+ parameters: {
5278
+ query?: {
5279
+ /** @description Max entries (default 100, max 1000) */
5280
+ limit?: number;
5281
+ };
5282
+ header?: never;
5283
+ path: {
5284
+ /** @description Builder code. */
5285
+ builder_code: string;
5286
+ };
5287
+ cookie?: never;
5288
+ };
5289
+ requestBody?: never;
5290
+ responses: {
5291
+ /** @description Builder fee rate history */
5292
+ 200: {
5293
+ headers: {
5294
+ [name: string]: unknown;
5295
+ };
5296
+ content: {
5297
+ "application/json": components["schemas"]["BuilderFeeRateHistoryEntry"][];
5298
+ };
5299
+ };
5300
+ };
5301
+ };
5302
+ get_builder_retention: {
5303
+ parameters: {
5304
+ query?: {
5305
+ /** @description Inclusive start of cohort window (Unix seconds). Default: now - 30 days. */
4053
5306
  from?: number;
4054
- /** @description End timestamp in seconds (Unix epoch, inclusive) */
5307
+ /** @description Inclusive end of cohort window (Unix seconds). Default: now - 1 day. Cohorts within this range have at least one full day for D1 retention; older cohorts are required for D7/D30. */
4055
5308
  to?: number;
4056
- /**
4057
- * @description Number of results (default: 10, max: 100)
4058
- * @example 10
4059
- */
4060
- limit?: number;
4061
- /** @description Cursor from previous response for keyset pagination. Pass the pagination_key from the previous page to fetch the next page. */
4062
- pagination_key?: string;
4063
5309
  };
4064
5310
  header?: never;
4065
- path?: never;
5311
+ path: {
5312
+ /** @description Builder code. */
5313
+ builder_code: string;
5314
+ };
4066
5315
  cookie?: never;
4067
5316
  };
4068
5317
  requestBody?: never;
4069
5318
  responses: {
4070
- /** @description Successful response */
5319
+ /** @description Per-cohort-day retention metrics */
4071
5320
  200: {
4072
5321
  headers: {
4073
5322
  [name: string]: unknown;
4074
5323
  };
4075
5324
  content: {
4076
- "application/json": components["schemas"]["AssetPriceHistoryRow"][];
5325
+ "application/json": components["schemas"]["CohortRetentionRow"][];
4077
5326
  };
4078
5327
  };
4079
- /** @description Bad request - missing or invalid parameters */
4080
- 400: {
5328
+ };
5329
+ };
5330
+ list_builder_tags: {
5331
+ parameters: {
5332
+ query?: {
5333
+ /** @description Metric to sort by. Default: volume. */
5334
+ sort?: components["schemas"]["BuilderSortBy"];
5335
+ /** @description Window: lifetime, 1d, 7d, 30d. Default: lifetime. */
5336
+ timeframe?: components["schemas"]["BuilderTimeframe"];
5337
+ /** @description Max rows to return (default 50, max 500). */
5338
+ limit?: number;
5339
+ /** @description Skip count. */
5340
+ offset?: number;
5341
+ /** @description Opaque cursor. */
5342
+ pagination_key?: string;
5343
+ };
5344
+ header?: never;
5345
+ path: {
5346
+ /** @description Builder code. */
5347
+ builder_code: string;
5348
+ };
5349
+ cookie?: never;
5350
+ };
5351
+ requestBody?: never;
5352
+ responses: {
5353
+ /** @description Per-tag breakdown */
5354
+ 200: {
4081
5355
  headers: {
4082
5356
  [name: string]: unknown;
4083
5357
  };
4084
- content?: never;
5358
+ content: {
5359
+ "application/json": components["schemas"]["BuilderTagRow"][];
5360
+ };
4085
5361
  };
4086
- /** @description Internal server error */
4087
- 500: {
5362
+ };
5363
+ };
5364
+ get_builder_top_traders: {
5365
+ parameters: {
5366
+ query?: {
5367
+ /** @description Window: lifetime, 1d (24h), 7d, 30d (1mo). Default: 1d */
5368
+ timeframe?: components["schemas"]["BuilderTimeframe"];
5369
+ /** @description Ranking key: volume (default), txns, fees, builder_fees */
5370
+ sort_by?: components["schemas"]["TopTradersSortBy"];
5371
+ /** @description Number of traders to return (default 10, max 250) */
5372
+ limit?: number;
5373
+ };
5374
+ header?: never;
5375
+ path: {
5376
+ /** @description Builder code. */
5377
+ builder_code: string;
5378
+ };
5379
+ cookie?: never;
5380
+ };
5381
+ requestBody?: never;
5382
+ responses: {
5383
+ /** @description Top traders for this builder */
5384
+ 200: {
4088
5385
  headers: {
4089
5386
  [name: string]: unknown;
4090
5387
  };
4091
- content?: never;
5388
+ content: {
5389
+ "application/json": components["schemas"]["TopTraderRow"][];
5390
+ };
4092
5391
  };
4093
5392
  };
4094
5393
  };