pmxtjs 2.41.0 → 2.41.1

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.
Files changed (71) hide show
  1. package/dist/esm/generated/src/apis/DefaultApi.d.ts +24 -24
  2. package/dist/esm/generated/src/apis/DefaultApi.js +24 -24
  3. package/dist/esm/generated/src/models/UnwatchAddressRequest.d.ts +1 -1
  4. package/dist/esm/generated/src/models/UnwatchAddressRequest.js +1 -3
  5. package/dist/esm/generated/src/models/UnwatchOrderBookRequest.d.ts +1 -1
  6. package/dist/esm/generated/src/models/UnwatchOrderBookRequest.js +1 -3
  7. package/dist/esm/generated/src/models/WatchAddressRequest.d.ts +2 -3
  8. package/dist/esm/generated/src/models/WatchAddressRequest.js +2 -5
  9. package/dist/esm/generated/src/models/WatchOrderBookRequest.d.ts +2 -3
  10. package/dist/esm/generated/src/models/WatchOrderBookRequest.js +2 -5
  11. package/dist/esm/generated/src/models/WatchOrderBooksRequest.d.ts +2 -3
  12. package/dist/esm/generated/src/models/WatchOrderBooksRequest.js +2 -5
  13. package/dist/esm/generated/src/models/WatchTradesRequest.d.ts +2 -3
  14. package/dist/esm/generated/src/models/WatchTradesRequest.js +2 -5
  15. package/dist/esm/generated/src/models/index.d.ts +0 -3
  16. package/dist/esm/generated/src/models/index.js +0 -3
  17. package/dist/esm/pmxt/client.d.ts +8 -7
  18. package/dist/esm/pmxt/client.js +79 -11
  19. package/dist/generated/src/apis/DefaultApi.d.ts +24 -24
  20. package/dist/generated/src/apis/DefaultApi.js +24 -24
  21. package/dist/generated/src/models/UnwatchAddressRequest.d.ts +1 -1
  22. package/dist/generated/src/models/UnwatchAddressRequest.js +1 -3
  23. package/dist/generated/src/models/UnwatchOrderBookRequest.d.ts +1 -1
  24. package/dist/generated/src/models/UnwatchOrderBookRequest.js +1 -3
  25. package/dist/generated/src/models/WatchAddressRequest.d.ts +2 -3
  26. package/dist/generated/src/models/WatchAddressRequest.js +2 -5
  27. package/dist/generated/src/models/WatchOrderBookRequest.d.ts +2 -3
  28. package/dist/generated/src/models/WatchOrderBookRequest.js +2 -5
  29. package/dist/generated/src/models/WatchOrderBooksRequest.d.ts +2 -3
  30. package/dist/generated/src/models/WatchOrderBooksRequest.js +2 -5
  31. package/dist/generated/src/models/WatchTradesRequest.d.ts +2 -3
  32. package/dist/generated/src/models/WatchTradesRequest.js +2 -5
  33. package/dist/generated/src/models/index.d.ts +0 -3
  34. package/dist/generated/src/models/index.js +0 -3
  35. package/dist/pmxt/client.d.ts +8 -7
  36. package/dist/pmxt/client.js +79 -11
  37. package/generated/.openapi-generator/FILES +0 -6
  38. package/generated/docs/DefaultApi.md +24 -24
  39. package/generated/docs/WatchAddressRequest.md +1 -1
  40. package/generated/docs/WatchOrderBookRequest.md +1 -1
  41. package/generated/docs/WatchOrderBooksRequest.md +1 -1
  42. package/generated/docs/WatchTradesRequest.md +1 -1
  43. package/generated/package.json +1 -1
  44. package/generated/src/apis/DefaultApi.ts +24 -24
  45. package/generated/src/models/UnwatchAddressRequest.ts +2 -3
  46. package/generated/src/models/UnwatchOrderBookRequest.ts +2 -3
  47. package/generated/src/models/WatchAddressRequest.ts +4 -12
  48. package/generated/src/models/WatchOrderBookRequest.ts +4 -12
  49. package/generated/src/models/WatchOrderBooksRequest.ts +4 -12
  50. package/generated/src/models/WatchTradesRequest.ts +4 -12
  51. package/generated/src/models/index.ts +0 -3
  52. package/package.json +2 -2
  53. package/pmxt/client.ts +78 -11
  54. package/dist/esm/generated/src/models/WatchAddressRequestArgsInner.d.ts +0 -21
  55. package/dist/esm/generated/src/models/WatchAddressRequestArgsInner.js +0 -37
  56. package/dist/esm/generated/src/models/WatchOrderBookRequestArgsInner.d.ts +0 -21
  57. package/dist/esm/generated/src/models/WatchOrderBookRequestArgsInner.js +0 -43
  58. package/dist/esm/generated/src/models/WatchOrderBooksRequestArgsInner.d.ts +0 -21
  59. package/dist/esm/generated/src/models/WatchOrderBooksRequestArgsInner.js +0 -47
  60. package/dist/generated/src/models/WatchAddressRequestArgsInner.d.ts +0 -21
  61. package/dist/generated/src/models/WatchAddressRequestArgsInner.js +0 -43
  62. package/dist/generated/src/models/WatchOrderBookRequestArgsInner.d.ts +0 -21
  63. package/dist/generated/src/models/WatchOrderBookRequestArgsInner.js +0 -49
  64. package/dist/generated/src/models/WatchOrderBooksRequestArgsInner.d.ts +0 -21
  65. package/dist/generated/src/models/WatchOrderBooksRequestArgsInner.js +0 -53
  66. package/generated/docs/WatchAddressRequestArgsInner.md +0 -32
  67. package/generated/docs/WatchOrderBookRequestArgsInner.md +0 -32
  68. package/generated/docs/WatchOrderBooksRequestArgsInner.md +0 -32
  69. package/generated/src/models/WatchAddressRequestArgsInner.ts +0 -49
  70. package/generated/src/models/WatchOrderBookRequestArgsInner.ts +0 -55
  71. package/generated/src/models/WatchOrderBooksRequestArgsInner.ts +0 -59
@@ -19,13 +19,10 @@ exports.WatchTradesRequestFromJSONTyped = WatchTradesRequestFromJSONTyped;
19
19
  exports.WatchTradesRequestToJSON = WatchTradesRequestToJSON;
20
20
  exports.WatchTradesRequestToJSONTyped = WatchTradesRequestToJSONTyped;
21
21
  const ExchangeCredentials_1 = require("./ExchangeCredentials");
22
- const WatchOrderBookRequestArgsInner_1 = require("./WatchOrderBookRequestArgsInner");
23
22
  /**
24
23
  * Check if a given object implements the WatchTradesRequest interface.
25
24
  */
26
25
  function instanceOfWatchTradesRequest(value) {
27
- if (!('args' in value) || value['args'] === undefined)
28
- return false;
29
26
  return true;
30
27
  }
31
28
  function WatchTradesRequestFromJSON(json) {
@@ -36,7 +33,7 @@ function WatchTradesRequestFromJSONTyped(json, ignoreDiscriminator) {
36
33
  return json;
37
34
  }
38
35
  return {
39
- 'args': (json['args'].map(WatchOrderBookRequestArgsInner_1.WatchOrderBookRequestArgsInnerFromJSON)),
36
+ 'args': json['args'] == null ? undefined : json['args'],
40
37
  'credentials': json['credentials'] == null ? undefined : (0, ExchangeCredentials_1.ExchangeCredentialsFromJSON)(json['credentials']),
41
38
  };
42
39
  }
@@ -48,7 +45,7 @@ function WatchTradesRequestToJSONTyped(value, ignoreDiscriminator = false) {
48
45
  return value;
49
46
  }
50
47
  return {
51
- 'args': (value['args'].map(WatchOrderBookRequestArgsInner_1.WatchOrderBookRequestArgsInnerToJSON)),
48
+ 'args': value['args'],
52
49
  'credentials': (0, ExchangeCredentials_1.ExchangeCredentialsToJSON)(value['credentials']),
53
50
  };
54
51
  }
@@ -90,10 +90,7 @@ export * from './UnwatchOrderBookRequest';
90
90
  export * from './UserTrade';
91
91
  export * from './WatchAddress200Response';
92
92
  export * from './WatchAddressRequest';
93
- export * from './WatchAddressRequestArgsInner';
94
93
  export * from './WatchOrderBookRequest';
95
- export * from './WatchOrderBookRequestArgsInner';
96
94
  export * from './WatchOrderBooks200Response';
97
95
  export * from './WatchOrderBooksRequest';
98
- export * from './WatchOrderBooksRequestArgsInner';
99
96
  export * from './WatchTradesRequest';
@@ -108,10 +108,7 @@ __exportStar(require("./UnwatchOrderBookRequest"), exports);
108
108
  __exportStar(require("./UserTrade"), exports);
109
109
  __exportStar(require("./WatchAddress200Response"), exports);
110
110
  __exportStar(require("./WatchAddressRequest"), exports);
111
- __exportStar(require("./WatchAddressRequestArgsInner"), exports);
112
111
  __exportStar(require("./WatchOrderBookRequest"), exports);
113
- __exportStar(require("./WatchOrderBookRequestArgsInner"), exports);
114
112
  __exportStar(require("./WatchOrderBooks200Response"), exports);
115
113
  __exportStar(require("./WatchOrderBooksRequest"), exports);
116
- __exportStar(require("./WatchOrderBooksRequestArgsInner"), exports);
117
114
  __exportStar(require("./WatchTradesRequest"), exports);
@@ -68,6 +68,8 @@ export declare abstract class Exchange {
68
68
  protected serverManager: ServerManager;
69
69
  protected initPromise: Promise<void>;
70
70
  protected isHosted: boolean;
71
+ private _hostedAccount?;
72
+ private _accountDiscoveryPromise?;
71
73
  /**
72
74
  * Sticky flag: set to `true` the first time a GET read is rejected by
73
75
  * the sidecar with 404/405 (i.e. an older pmxt-core that only supports
@@ -260,17 +262,19 @@ export declare abstract class Exchange {
260
262
  * Requires hosted mode (`pmxtApiKey` set).
261
263
  *
262
264
  * @param venues - Optional venue filter (e.g. ["polymarket", "limitless"])
263
- * @returns Next firehose event with source, symbol, and orderbook
265
+ * @returns Next event with source, symbol, and orderbook
264
266
  *
265
267
  * @example
266
268
  * ```typescript
267
269
  * const poly = new Polymarket({ pmxtApiKey: "pmxt_xxx" });
268
270
  * while (true) {
269
- * const event = await poly.firehose();
271
+ * const event = await poly.watchAllOrderBooks();
270
272
  * console.log(event.source, event.symbol, event.orderbook.bids[0]);
271
273
  * }
272
274
  * ```
273
275
  */
276
+ watchAllOrderBooks(venues?: string[]): Promise<FirehoseEvent>;
277
+ /** @deprecated Use {@link watchAllOrderBooks} instead. */
274
278
  firehose(venues?: string[]): Promise<FirehoseEvent>;
275
279
  /**
276
280
  * Watch real-time trade updates via WebSocket.
@@ -357,12 +361,9 @@ export declare abstract class Exchange {
357
361
  buildOrder(params: CreateOrderParams & {
358
362
  outcome?: MarketOutcome;
359
363
  }): Promise<BuiltOrder>;
364
+ private _discoverHostedAccount;
365
+ private _executeSorOrder;
360
366
  /**
361
- * Create a new order.
362
- *
363
- * @param params - Order parameters
364
- * @returns Created order
365
- *
366
367
  * @example
367
368
  * ```typescript
368
369
  * const order = await exchange.createOrder({
@@ -134,6 +134,8 @@ class Exchange {
134
134
  serverManager;
135
135
  initPromise;
136
136
  isHosted;
137
+ _hostedAccount;
138
+ _accountDiscoveryPromise;
137
139
  /**
138
140
  * Sticky flag: set to `true` the first time a GET read is rejected by
139
141
  * the sidecar with 404/405 (i.e. an older pmxt-core that only supports
@@ -1484,24 +1486,24 @@ class Exchange {
1484
1486
  * Requires hosted mode (`pmxtApiKey` set).
1485
1487
  *
1486
1488
  * @param venues - Optional venue filter (e.g. ["polymarket", "limitless"])
1487
- * @returns Next firehose event with source, symbol, and orderbook
1489
+ * @returns Next event with source, symbol, and orderbook
1488
1490
  *
1489
1491
  * @example
1490
1492
  * ```typescript
1491
1493
  * const poly = new Polymarket({ pmxtApiKey: "pmxt_xxx" });
1492
1494
  * while (true) {
1493
- * const event = await poly.firehose();
1495
+ * const event = await poly.watchAllOrderBooks();
1494
1496
  * console.log(event.source, event.symbol, event.orderbook.bids[0]);
1495
1497
  * }
1496
1498
  * ```
1497
1499
  */
1498
- async firehose(venues) {
1500
+ async watchAllOrderBooks(venues) {
1499
1501
  await this.initPromise;
1500
1502
  if (!this.isHosted) {
1501
- throw new errors_js_1.PmxtError("firehose() requires hosted mode (set pmxtApiKey)");
1503
+ throw new errors_js_1.PmxtError("watchAllOrderBooks() requires hosted mode (set pmxtApiKey)");
1502
1504
  }
1503
1505
  const args = venues ? [venues] : [];
1504
- const wsData = await this.watchViaWs("firehose", args);
1506
+ const wsData = await this.watchViaWs("watchAllOrderBooks", args);
1505
1507
  if (wsData !== null) {
1506
1508
  return {
1507
1509
  source: wsData._source || "",
@@ -1509,7 +1511,11 @@ class Exchange {
1509
1511
  orderbook: convertOrderBook(wsData),
1510
1512
  };
1511
1513
  }
1512
- throw new errors_js_1.PmxtError("firehose() requires WebSocket transport — connection failed");
1514
+ throw new errors_js_1.PmxtError("watchAllOrderBooks() requires WebSocket transport — connection failed");
1515
+ }
1516
+ /** @deprecated Use {@link watchAllOrderBooks} instead. */
1517
+ async firehose(venues) {
1518
+ return this.watchAllOrderBooks(venues);
1513
1519
  }
1514
1520
  /**
1515
1521
  * Watch real-time trade updates via WebSocket.
@@ -1713,12 +1719,71 @@ class Exchange {
1713
1719
  throw new errors_js_1.PmxtError(`Failed to build order: ${error}`);
1714
1720
  }
1715
1721
  }
1722
+ async _discoverHostedAccount() {
1723
+ if (this._hostedAccount)
1724
+ return;
1725
+ if (!this._accountDiscoveryPromise) {
1726
+ this._accountDiscoveryPromise = (async () => {
1727
+ try {
1728
+ const res = await this.fetchWithRetry(`${this.resolveBaseUrl()}/v0/account`, { method: 'GET', headers: { ...this.getAuthHeaders() } });
1729
+ if (res.ok) {
1730
+ const body = await res.json();
1731
+ this._hostedAccount = { depositWallet: body.deposit_wallet, signatureType: body.signature_type };
1732
+ }
1733
+ else {
1734
+ this._hostedAccount = {};
1735
+ }
1736
+ }
1737
+ catch {
1738
+ this._hostedAccount = {};
1739
+ }
1740
+ })();
1741
+ }
1742
+ await this._accountDiscoveryPromise;
1743
+ }
1744
+ async _executeSorOrder(params) {
1745
+ await this._discoverHostedAccount();
1746
+ const buildRes = await this.fetchWithRetry(`${this.resolveBaseUrl()}/api/sor/buildOrder`, {
1747
+ method: 'POST',
1748
+ headers: { 'Content-Type': 'application/json', ...this.getAuthHeaders() },
1749
+ body: JSON.stringify({ args: [params] }),
1750
+ });
1751
+ if (!buildRes.ok)
1752
+ throw new errors_js_1.PmxtError(`buildOrder failed: ${await buildRes.text()}`);
1753
+ const buildJson = await buildRes.json();
1754
+ const { orderId, legs } = buildJson.data || buildJson;
1755
+ const fills = [];
1756
+ for (const leg of legs) {
1757
+ try {
1758
+ const { Polymarket, Limitless } = require('pmxt-core');
1759
+ const VenueClass = leg.venue === 'polymarket' ? Polymarket : leg.venue === 'limitless' ? Limitless : null;
1760
+ if (!VenueClass)
1761
+ throw new Error(`unsupported venue: ${leg.venue}`);
1762
+ const venueOpts = { privateKey: this.privateKey };
1763
+ if (leg.venue === 'polymarket' && this._hostedAccount?.depositWallet) {
1764
+ venueOpts.funderAddress = this._hostedAccount.depositWallet;
1765
+ venueOpts.signatureType = this._hostedAccount.signatureType || 3;
1766
+ }
1767
+ const venue = new VenueClass(venueOpts);
1768
+ const order = await venue.createOrder({ outcomeId: leg.tokenId, side: leg.side, amount: leg.shares, price: leg.price });
1769
+ const filledShares = order.filled || 0;
1770
+ fills.push({ venue: leg.venue, venueOrderId: order.id, venueMarketId: leg.venueMarketId, venueOutcomeId: leg.venueOutcomeId, shares: filledShares > 0 ? filledShares : leg.shares, price: order.price || leg.price, status: filledShares > 0 ? 'filled' : 'open' });
1771
+ }
1772
+ catch (err) {
1773
+ fills.push({ venue: leg.venue, venueMarketId: leg.venueMarketId, venueOutcomeId: leg.venueOutcomeId, shares: leg.shares, price: leg.price, status: 'failed', error: err.message });
1774
+ }
1775
+ }
1776
+ const submitRes = await this.fetchWithRetry(`${this.resolveBaseUrl()}/api/sor/submitOrder`, {
1777
+ method: 'POST',
1778
+ headers: { 'Content-Type': 'application/json', ...this.getAuthHeaders() },
1779
+ body: JSON.stringify({ args: [{ orderId, fills }] }),
1780
+ });
1781
+ if (!submitRes.ok)
1782
+ throw new errors_js_1.PmxtError(`submitOrder failed: ${await submitRes.text()}`);
1783
+ const submitJson = await submitRes.json();
1784
+ return convertOrder(submitJson.data || submitJson);
1785
+ }
1716
1786
  /**
1717
- * Create a new order.
1718
- *
1719
- * @param params - Order parameters
1720
- * @returns Created order
1721
- *
1722
1787
  * @example
1723
1788
  * ```typescript
1724
1789
  * const order = await exchange.createOrder({
@@ -1733,6 +1798,9 @@ class Exchange {
1733
1798
  */
1734
1799
  async createOrder(params) {
1735
1800
  if (this.isHosted) {
1801
+ if (this.exchangeName === 'sor' && this.privateKey) {
1802
+ return this._executeSorOrder(params);
1803
+ }
1736
1804
  throw new errors_js_1.PmxtError("Trade execution is not available through the hosted API. " +
1737
1805
  "Use the local PMXT SDK with your venue credentials instead. " +
1738
1806
  "See https://pmxt.dev/docs/quickstart for setup instructions.");
@@ -95,12 +95,9 @@ docs/UnwatchOrderBookRequest.md
95
95
  docs/UserTrade.md
96
96
  docs/WatchAddress200Response.md
97
97
  docs/WatchAddressRequest.md
98
- docs/WatchAddressRequestArgsInner.md
99
98
  docs/WatchOrderBookRequest.md
100
- docs/WatchOrderBookRequestArgsInner.md
101
99
  docs/WatchOrderBooks200Response.md
102
100
  docs/WatchOrderBooksRequest.md
103
- docs/WatchOrderBooksRequestArgsInner.md
104
101
  docs/WatchTradesRequest.md
105
102
  package.json
106
103
  src/apis/DefaultApi.ts
@@ -198,12 +195,9 @@ src/models/UnwatchOrderBookRequest.ts
198
195
  src/models/UserTrade.ts
199
196
  src/models/WatchAddress200Response.ts
200
197
  src/models/WatchAddressRequest.ts
201
- src/models/WatchAddressRequestArgsInner.ts
202
198
  src/models/WatchOrderBookRequest.ts
203
- src/models/WatchOrderBookRequestArgsInner.ts
204
199
  src/models/WatchOrderBooks200Response.ts
205
200
  src/models/WatchOrderBooksRequest.ts
206
- src/models/WatchOrderBooksRequestArgsInner.ts
207
201
  src/models/WatchTradesRequest.ts
208
202
  src/models/index.ts
209
203
  src/runtime.ts
@@ -40,12 +40,12 @@ All URIs are relative to *http://localhost:3847*
40
40
  | [**loadMarkets**](DefaultApi.md#loadmarketsoperation) | **POST** /api/{exchange}/loadMarkets | Load Markets |
41
41
  | [**submitOrder**](DefaultApi.md#submitorderoperation) | **POST** /api/{exchange}/submitOrder | Submit Order |
42
42
  | [**testDummyMethod**](DefaultApi.md#testdummymethodoperation) | **POST** /api/{exchange}/testDummyMethod | Test Dummy Method |
43
- | [**unwatchAddress**](DefaultApi.md#unwatchaddressoperation) | **POST** /api/{exchange}/unwatchAddress | Unwatch Address |
44
- | [**unwatchOrderBook**](DefaultApi.md#unwatchorderbookoperation) | **POST** /api/{exchange}/unwatchOrderBook | Unwatch Order Book |
45
- | [**watchAddress**](DefaultApi.md#watchaddressoperation) | **POST** /api/{exchange}/watchAddress | Watch Address |
46
- | [**watchOrderBook**](DefaultApi.md#watchorderbookoperation) | **POST** /api/{exchange}/watchOrderBook | Watch Order Book |
47
- | [**watchOrderBooks**](DefaultApi.md#watchorderbooksoperation) | **POST** /api/{exchange}/watchOrderBooks | Watch Order Books |
48
- | [**watchTrades**](DefaultApi.md#watchtradesoperation) | **POST** /api/{exchange}/watchTrades | Watch Trades |
43
+ | [**unwatchAddress**](DefaultApi.md#unwatchaddressoperation) | **POST** /api/{exchange}/unwatchAddress | Unwatch Address (WebSocket) |
44
+ | [**unwatchOrderBook**](DefaultApi.md#unwatchorderbookoperation) | **POST** /api/{exchange}/unwatchOrderBook | Unwatch Order Book (WebSocket) |
45
+ | [**watchAddress**](DefaultApi.md#watchaddressoperation) | **POST** /api/{exchange}/watchAddress | Watch Address (WebSocket) |
46
+ | [**watchOrderBook**](DefaultApi.md#watchorderbookoperation) | **POST** /api/{exchange}/watchOrderBook | Watch Order Book (WebSocket) |
47
+ | [**watchOrderBooks**](DefaultApi.md#watchorderbooksoperation) | **POST** /api/{exchange}/watchOrderBooks | Watch Order Books (WebSocket) |
48
+ | [**watchTrades**](DefaultApi.md#watchtradesoperation) | **POST** /api/{exchange}/watchTrades | Watch Trades (WebSocket) |
49
49
 
50
50
 
51
51
 
@@ -2895,9 +2895,9 @@ No authorization required
2895
2895
 
2896
2896
  > BaseResponse unwatchAddress(exchange, unwatchAddressRequest)
2897
2897
 
2898
- Unwatch Address
2898
+ Unwatch Address (WebSocket)
2899
2899
 
2900
- Stop watching a previously registered wallet address and release its resource updates.
2900
+ Stop watching a previously registered wallet address and release its resource updates. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | &#x60;ws://localhost:3847/ws&#x60; | | Hosted API | &#x60;wss://api.pmxt.dev/ws?apiKey&#x3D;YOUR_KEY&#x60; | **Subscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;subscribe\&quot;, \&quot;method\&quot;: \&quot;unwatchAddress\&quot;, \&quot;args\&quot;: [...] } &#x60;&#x60;&#x60; **Server response:** &#x60;&#x60;&#x60;json { \&quot;event\&quot;: \&quot;data\&quot;, \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;method\&quot;: \&quot;unwatchAddress\&quot;, \&quot;symbol\&quot;: \&quot;...\&quot;, \&quot;data\&quot;: { ... } } &#x60;&#x60;&#x60; **Unsubscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;unsubscribe\&quot; } &#x60;&#x60;&#x60;
2901
2901
 
2902
2902
  ### Example
2903
2903
 
@@ -2956,7 +2956,7 @@ No authorization required
2956
2956
  ### HTTP response details
2957
2957
  | Status code | Description | Response headers |
2958
2958
  |-------------|-------------|------------------|
2959
- | **200** | Unwatch Address response | - |
2959
+ | **200** | Unwatch Address response (WebSocket data event) | - |
2960
2960
 
2961
2961
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
2962
2962
 
@@ -2965,9 +2965,9 @@ No authorization required
2965
2965
 
2966
2966
  > BaseResponse unwatchOrderBook(exchange, unwatchOrderBookRequest)
2967
2967
 
2968
- Unwatch Order Book
2968
+ Unwatch Order Book (WebSocket)
2969
2969
 
2970
- Unsubscribe from a previously watched order book stream.
2970
+ Unsubscribe from a previously watched order book stream. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | &#x60;ws://localhost:3847/ws&#x60; | | Hosted API | &#x60;wss://api.pmxt.dev/ws?apiKey&#x3D;YOUR_KEY&#x60; | **Subscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;subscribe\&quot;, \&quot;method\&quot;: \&quot;unwatchOrderBook\&quot;, \&quot;args\&quot;: [...] } &#x60;&#x60;&#x60; **Server response:** &#x60;&#x60;&#x60;json { \&quot;event\&quot;: \&quot;data\&quot;, \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;method\&quot;: \&quot;unwatchOrderBook\&quot;, \&quot;symbol\&quot;: \&quot;...\&quot;, \&quot;data\&quot;: { ... } } &#x60;&#x60;&#x60; **Unsubscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;unsubscribe\&quot; } &#x60;&#x60;&#x60;
2971
2971
 
2972
2972
  ### Example
2973
2973
 
@@ -3026,7 +3026,7 @@ No authorization required
3026
3026
  ### HTTP response details
3027
3027
  | Status code | Description | Response headers |
3028
3028
  |-------------|-------------|------------------|
3029
- | **200** | Unwatch Order Book response | - |
3029
+ | **200** | Unwatch Order Book response (WebSocket data event) | - |
3030
3030
 
3031
3031
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
3032
3032
 
@@ -3035,9 +3035,9 @@ No authorization required
3035
3035
 
3036
3036
  > WatchAddress200Response watchAddress(exchange, watchAddressRequest)
3037
3037
 
3038
- Watch Address
3038
+ Watch Address (WebSocket)
3039
3039
 
3040
- Stream activity for a public wallet address Returns a promise that resolves with the next activity snapshot whenever a change is detected. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
3040
+ Stream activity for a public wallet address Returns a promise that resolves with the next activity snapshot whenever a change is detected. Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | &#x60;ws://localhost:3847/ws&#x60; | | Hosted API | &#x60;wss://api.pmxt.dev/ws?apiKey&#x3D;YOUR_KEY&#x60; | **Subscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;subscribe\&quot;, \&quot;method\&quot;: \&quot;watchAddress\&quot;, \&quot;args\&quot;: [...] } &#x60;&#x60;&#x60; **Server response:** &#x60;&#x60;&#x60;json { \&quot;event\&quot;: \&quot;data\&quot;, \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;method\&quot;: \&quot;watchAddress\&quot;, \&quot;symbol\&quot;: \&quot;...\&quot;, \&quot;data\&quot;: { ... } } &#x60;&#x60;&#x60; **Unsubscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;unsubscribe\&quot; } &#x60;&#x60;&#x60;
3041
3041
 
3042
3042
  ### Example
3043
3043
 
@@ -3096,7 +3096,7 @@ No authorization required
3096
3096
  ### HTTP response details
3097
3097
  | Status code | Description | Response headers |
3098
3098
  |-------------|-------------|------------------|
3099
- | **200** | Watch Address response | - |
3099
+ | **200** | Watch Address response (WebSocket data event) | - |
3100
3100
 
3101
3101
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
3102
3102
 
@@ -3105,9 +3105,9 @@ No authorization required
3105
3105
 
3106
3106
  > FetchOrderBook200Response watchOrderBook(exchange, watchOrderBookRequest)
3107
3107
 
3108
- Watch Order Book
3108
+ Watch Order Book (WebSocket)
3109
3109
 
3110
- Watch order book updates in real-time via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
3110
+ Watch order book updates in real-time via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | &#x60;ws://localhost:3847/ws&#x60; | | Hosted API | &#x60;wss://api.pmxt.dev/ws?apiKey&#x3D;YOUR_KEY&#x60; | **Subscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;subscribe\&quot;, \&quot;method\&quot;: \&quot;watchOrderBook\&quot;, \&quot;args\&quot;: [...] } &#x60;&#x60;&#x60; **Server response:** &#x60;&#x60;&#x60;json { \&quot;event\&quot;: \&quot;data\&quot;, \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;method\&quot;: \&quot;watchOrderBook\&quot;, \&quot;symbol\&quot;: \&quot;...\&quot;, \&quot;data\&quot;: { ... } } &#x60;&#x60;&#x60; **Unsubscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;unsubscribe\&quot; } &#x60;&#x60;&#x60;
3111
3111
 
3112
3112
  ### Example
3113
3113
 
@@ -3166,7 +3166,7 @@ No authorization required
3166
3166
  ### HTTP response details
3167
3167
  | Status code | Description | Response headers |
3168
3168
  |-------------|-------------|------------------|
3169
- | **200** | Watch Order Book response | - |
3169
+ | **200** | Watch Order Book response (WebSocket data event) | - |
3170
3170
 
3171
3171
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
3172
3172
 
@@ -3175,9 +3175,9 @@ No authorization required
3175
3175
 
3176
3176
  > WatchOrderBooks200Response watchOrderBooks(exchange, watchOrderBooksRequest)
3177
3177
 
3178
- Watch Order Books
3178
+ Watch Order Books (WebSocket)
3179
3179
 
3180
- Watch multiple order books simultaneously via WebSocket. Returns a promise that resolves with a record of order book snapshots keyed by ID. Exchanges with native batch support (e.g. Kalshi) send a single subscribe message for all tickers; others fall back to individual watchOrderBook calls.
3180
+ Watch multiple order books simultaneously via WebSocket. Returns a promise that resolves with a record of order book snapshots keyed by ID. Exchanges with native batch support (e.g. Kalshi) send a single subscribe message for all tickers; others fall back to individual watchOrderBook calls. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | &#x60;ws://localhost:3847/ws&#x60; | | Hosted API | &#x60;wss://api.pmxt.dev/ws?apiKey&#x3D;YOUR_KEY&#x60; | **Subscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;subscribe\&quot;, \&quot;method\&quot;: \&quot;watchOrderBooks\&quot;, \&quot;args\&quot;: [...] } &#x60;&#x60;&#x60; **Server response:** &#x60;&#x60;&#x60;json { \&quot;event\&quot;: \&quot;data\&quot;, \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;method\&quot;: \&quot;watchOrderBooks\&quot;, \&quot;symbol\&quot;: \&quot;...\&quot;, \&quot;data\&quot;: { ... } } &#x60;&#x60;&#x60; **Unsubscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;unsubscribe\&quot; } &#x60;&#x60;&#x60;
3181
3181
 
3182
3182
  ### Example
3183
3183
 
@@ -3236,7 +3236,7 @@ No authorization required
3236
3236
  ### HTTP response details
3237
3237
  | Status code | Description | Response headers |
3238
3238
  |-------------|-------------|------------------|
3239
- | **200** | Watch Order Books response | - |
3239
+ | **200** | Watch Order Books response (WebSocket data event) | - |
3240
3240
 
3241
3241
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
3242
3242
 
@@ -3245,9 +3245,9 @@ No authorization required
3245
3245
 
3246
3246
  > FetchTrades200Response watchTrades(exchange, watchTradesRequest)
3247
3247
 
3248
- Watch Trades
3248
+ Watch Trades (WebSocket)
3249
3249
 
3250
- Watch trade executions in real-time via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern).
3250
+ Watch trade executions in real-time via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | &#x60;ws://localhost:3847/ws&#x60; | | Hosted API | &#x60;wss://api.pmxt.dev/ws?apiKey&#x3D;YOUR_KEY&#x60; | **Subscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;subscribe\&quot;, \&quot;method\&quot;: \&quot;watchTrades\&quot;, \&quot;args\&quot;: [...] } &#x60;&#x60;&#x60; **Server response:** &#x60;&#x60;&#x60;json { \&quot;event\&quot;: \&quot;data\&quot;, \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;method\&quot;: \&quot;watchTrades\&quot;, \&quot;symbol\&quot;: \&quot;...\&quot;, \&quot;data\&quot;: { ... } } &#x60;&#x60;&#x60; **Unsubscribe:** &#x60;&#x60;&#x60;json { \&quot;id\&quot;: \&quot;req-1\&quot;, \&quot;action\&quot;: \&quot;unsubscribe\&quot; } &#x60;&#x60;&#x60;
3251
3251
 
3252
3252
  ### Example
3253
3253
 
@@ -3306,7 +3306,7 @@ No authorization required
3306
3306
  ### HTTP response details
3307
3307
  | Status code | Description | Response headers |
3308
3308
  |-------------|-------------|------------------|
3309
- | **200** | Watch Trades response | - |
3309
+ | **200** | Watch Trades response (WebSocket data event) | - |
3310
3310
 
3311
3311
  [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
3312
3312
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  Name | Type
8
8
  ------------ | -------------
9
- `args` | [Array&lt;WatchAddressRequestArgsInner&gt;](WatchAddressRequestArgsInner.md)
9
+ `args` | Array&lt;string&gt;
10
10
  `credentials` | [ExchangeCredentials](ExchangeCredentials.md)
11
11
 
12
12
  ## Example
@@ -6,7 +6,7 @@
6
6
 
7
7
  Name | Type
8
8
  ------------ | -------------
9
- `args` | [Array&lt;WatchOrderBookRequestArgsInner&gt;](WatchOrderBookRequestArgsInner.md)
9
+ `args` | Array&lt;string&gt;
10
10
  `credentials` | [ExchangeCredentials](ExchangeCredentials.md)
11
11
 
12
12
  ## Example
@@ -6,7 +6,7 @@
6
6
 
7
7
  Name | Type
8
8
  ------------ | -------------
9
- `args` | [Array&lt;WatchOrderBooksRequestArgsInner&gt;](WatchOrderBooksRequestArgsInner.md)
9
+ `args` | Array&lt;string&gt;
10
10
  `credentials` | [ExchangeCredentials](ExchangeCredentials.md)
11
11
 
12
12
  ## Example
@@ -6,7 +6,7 @@
6
6
 
7
7
  Name | Type
8
8
  ------------ | -------------
9
- `args` | [Array&lt;WatchOrderBookRequestArgsInner&gt;](WatchOrderBookRequestArgsInner.md)
9
+ `args` | Array&lt;string&gt;
10
10
  `credentials` | [ExchangeCredentials](ExchangeCredentials.md)
11
11
 
12
12
  ## Example
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxtjs",
3
- "version": "2.41.0",
3
+ "version": "2.41.1",
4
4
  "description": "OpenAPI client for pmxtjs",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -2507,8 +2507,8 @@ export class DefaultApi extends runtime.BaseAPI {
2507
2507
  }
2508
2508
 
2509
2509
  /**
2510
- * Stop watching a previously registered wallet address and release its resource updates.
2511
- * Unwatch Address
2510
+ * Stop watching a previously registered wallet address and release its resource updates. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"unwatchAddress\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"unwatchAddress\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2511
+ * Unwatch Address (WebSocket)
2512
2512
  */
2513
2513
  async unwatchAddressRaw(requestParameters: UnwatchAddressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseResponse>> {
2514
2514
  if (requestParameters['exchange'] == null) {
@@ -2540,8 +2540,8 @@ export class DefaultApi extends runtime.BaseAPI {
2540
2540
  }
2541
2541
 
2542
2542
  /**
2543
- * Stop watching a previously registered wallet address and release its resource updates.
2544
- * Unwatch Address
2543
+ * Stop watching a previously registered wallet address and release its resource updates. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"unwatchAddress\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"unwatchAddress\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2544
+ * Unwatch Address (WebSocket)
2545
2545
  */
2546
2546
  async unwatchAddress(requestParameters: UnwatchAddressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BaseResponse> {
2547
2547
  const response = await this.unwatchAddressRaw(requestParameters, initOverrides);
@@ -2549,8 +2549,8 @@ export class DefaultApi extends runtime.BaseAPI {
2549
2549
  }
2550
2550
 
2551
2551
  /**
2552
- * Unsubscribe from a previously watched order book stream.
2553
- * Unwatch Order Book
2552
+ * Unsubscribe from a previously watched order book stream. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"unwatchOrderBook\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"unwatchOrderBook\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2553
+ * Unwatch Order Book (WebSocket)
2554
2554
  */
2555
2555
  async unwatchOrderBookRaw(requestParameters: UnwatchOrderBookOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseResponse>> {
2556
2556
  if (requestParameters['exchange'] == null) {
@@ -2582,8 +2582,8 @@ export class DefaultApi extends runtime.BaseAPI {
2582
2582
  }
2583
2583
 
2584
2584
  /**
2585
- * Unsubscribe from a previously watched order book stream.
2586
- * Unwatch Order Book
2585
+ * Unsubscribe from a previously watched order book stream. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"unwatchOrderBook\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"unwatchOrderBook\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2586
+ * Unwatch Order Book (WebSocket)
2587
2587
  */
2588
2588
  async unwatchOrderBook(requestParameters: UnwatchOrderBookOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BaseResponse> {
2589
2589
  const response = await this.unwatchOrderBookRaw(requestParameters, initOverrides);
@@ -2591,8 +2591,8 @@ export class DefaultApi extends runtime.BaseAPI {
2591
2591
  }
2592
2592
 
2593
2593
  /**
2594
- * Stream activity for a public wallet address Returns a promise that resolves with the next activity snapshot whenever a change is detected. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
2595
- * Watch Address
2594
+ * Stream activity for a public wallet address Returns a promise that resolves with the next activity snapshot whenever a change is detected. Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchAddress\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchAddress\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2595
+ * Watch Address (WebSocket)
2596
2596
  */
2597
2597
  async watchAddressRaw(requestParameters: WatchAddressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WatchAddress200Response>> {
2598
2598
  if (requestParameters['exchange'] == null) {
@@ -2624,8 +2624,8 @@ export class DefaultApi extends runtime.BaseAPI {
2624
2624
  }
2625
2625
 
2626
2626
  /**
2627
- * Stream activity for a public wallet address Returns a promise that resolves with the next activity snapshot whenever a change is detected. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
2628
- * Watch Address
2627
+ * Stream activity for a public wallet address Returns a promise that resolves with the next activity snapshot whenever a change is detected. Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchAddress\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchAddress\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2628
+ * Watch Address (WebSocket)
2629
2629
  */
2630
2630
  async watchAddress(requestParameters: WatchAddressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WatchAddress200Response> {
2631
2631
  const response = await this.watchAddressRaw(requestParameters, initOverrides);
@@ -2633,8 +2633,8 @@ export class DefaultApi extends runtime.BaseAPI {
2633
2633
  }
2634
2634
 
2635
2635
  /**
2636
- * Watch order book updates in real-time via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
2637
- * Watch Order Book
2636
+ * Watch order book updates in real-time via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchOrderBook\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchOrderBook\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2637
+ * Watch Order Book (WebSocket)
2638
2638
  */
2639
2639
  async watchOrderBookRaw(requestParameters: WatchOrderBookOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchOrderBook200Response>> {
2640
2640
  if (requestParameters['exchange'] == null) {
@@ -2666,8 +2666,8 @@ export class DefaultApi extends runtime.BaseAPI {
2666
2666
  }
2667
2667
 
2668
2668
  /**
2669
- * Watch order book updates in real-time via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
2670
- * Watch Order Book
2669
+ * Watch order book updates in real-time via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchOrderBook\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchOrderBook\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2670
+ * Watch Order Book (WebSocket)
2671
2671
  */
2672
2672
  async watchOrderBook(requestParameters: WatchOrderBookOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchOrderBook200Response> {
2673
2673
  const response = await this.watchOrderBookRaw(requestParameters, initOverrides);
@@ -2675,8 +2675,8 @@ export class DefaultApi extends runtime.BaseAPI {
2675
2675
  }
2676
2676
 
2677
2677
  /**
2678
- * Watch multiple order books simultaneously via WebSocket. Returns a promise that resolves with a record of order book snapshots keyed by ID. Exchanges with native batch support (e.g. Kalshi) send a single subscribe message for all tickers; others fall back to individual watchOrderBook calls.
2679
- * Watch Order Books
2678
+ * Watch multiple order books simultaneously via WebSocket. Returns a promise that resolves with a record of order book snapshots keyed by ID. Exchanges with native batch support (e.g. Kalshi) send a single subscribe message for all tickers; others fall back to individual watchOrderBook calls. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchOrderBooks\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchOrderBooks\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2679
+ * Watch Order Books (WebSocket)
2680
2680
  */
2681
2681
  async watchOrderBooksRaw(requestParameters: WatchOrderBooksOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WatchOrderBooks200Response>> {
2682
2682
  if (requestParameters['exchange'] == null) {
@@ -2708,8 +2708,8 @@ export class DefaultApi extends runtime.BaseAPI {
2708
2708
  }
2709
2709
 
2710
2710
  /**
2711
- * Watch multiple order books simultaneously via WebSocket. Returns a promise that resolves with a record of order book snapshots keyed by ID. Exchanges with native batch support (e.g. Kalshi) send a single subscribe message for all tickers; others fall back to individual watchOrderBook calls.
2712
- * Watch Order Books
2711
+ * Watch multiple order books simultaneously via WebSocket. Returns a promise that resolves with a record of order book snapshots keyed by ID. Exchanges with native batch support (e.g. Kalshi) send a single subscribe message for all tickers; others fall back to individual watchOrderBook calls. **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchOrderBooks\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchOrderBooks\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2712
+ * Watch Order Books (WebSocket)
2713
2713
  */
2714
2714
  async watchOrderBooks(requestParameters: WatchOrderBooksOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WatchOrderBooks200Response> {
2715
2715
  const response = await this.watchOrderBooksRaw(requestParameters, initOverrides);
@@ -2717,8 +2717,8 @@ export class DefaultApi extends runtime.BaseAPI {
2717
2717
  }
2718
2718
 
2719
2719
  /**
2720
- * Watch trade executions in real-time via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern).
2721
- * Watch Trades
2720
+ * Watch trade executions in real-time via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchTrades\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchTrades\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2721
+ * Watch Trades (WebSocket)
2722
2722
  */
2723
2723
  async watchTradesRaw(requestParameters: WatchTradesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchTrades200Response>> {
2724
2724
  if (requestParameters['exchange'] == null) {
@@ -2750,8 +2750,8 @@ export class DefaultApi extends runtime.BaseAPI {
2750
2750
  }
2751
2751
 
2752
2752
  /**
2753
- * Watch trade executions in real-time via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern).
2754
- * Watch Trades
2753
+ * Watch trade executions in real-time via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern). **Transport:** WebSocket | Environment | URL | |---|---| | Local sidecar | `ws://localhost:3847/ws` | | Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` | **Subscribe:** ```json { \"id\": \"req-1\", \"action\": \"subscribe\", \"method\": \"watchTrades\", \"args\": [...] } ``` **Server response:** ```json { \"event\": \"data\", \"id\": \"req-1\", \"method\": \"watchTrades\", \"symbol\": \"...\", \"data\": { ... } } ``` **Unsubscribe:** ```json { \"id\": \"req-1\", \"action\": \"unsubscribe\" } ```
2754
+ * Watch Trades (WebSocket)
2755
2755
  */
2756
2756
  async watchTrades(requestParameters: WatchTradesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchTrades200Response> {
2757
2757
  const response = await this.watchTradesRaw(requestParameters, initOverrides);
@@ -32,7 +32,7 @@ export interface UnwatchAddressRequest {
32
32
  * @type {Array<string>}
33
33
  * @memberof UnwatchAddressRequest
34
34
  */
35
- args: Array<string>;
35
+ args?: Array<string>;
36
36
  /**
37
37
  *
38
38
  * @type {ExchangeCredentials}
@@ -45,7 +45,6 @@ export interface UnwatchAddressRequest {
45
45
  * Check if a given object implements the UnwatchAddressRequest interface.
46
46
  */
47
47
  export function instanceOfUnwatchAddressRequest(value: object): value is UnwatchAddressRequest {
48
- if (!('args' in value) || value['args'] === undefined) return false;
49
48
  return true;
50
49
  }
51
50
 
@@ -59,7 +58,7 @@ export function UnwatchAddressRequestFromJSONTyped(json: any, ignoreDiscriminato
59
58
  }
60
59
  return {
61
60
 
62
- 'args': json['args'],
61
+ 'args': json['args'] == null ? undefined : json['args'],
63
62
  'credentials': json['credentials'] == null ? undefined : ExchangeCredentialsFromJSON(json['credentials']),
64
63
  };
65
64
  }