@apicity/polymarket 0.4.3 → 0.5.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.
package/dist/src/clob.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PolymarketError, } from "./types.js";
2
- import { PolymarketClobTokenBatchRequestSchema, PolymarketClobPricesBatchRequestSchema, PolymarketClobBatchPricesHistoryRequestSchema, PolymarketClobPostOrderRequestSchema, PolymarketClobPlaceOrderRequestSchema, PolymarketClobPostOrdersRequestSchema, PolymarketClobCancelOrderRequestSchema, PolymarketClobCancelOrdersRequestSchema, PolymarketClobCancelMarketOrdersRequestSchema, PolymarketClobOrdersScoringRequestSchema, PolymarketClobHeartbeatRequestSchema, } from "./zod.js";
2
+ import { PolymarketClobLiveActivityRequestSchema, PolymarketClobTokenBatchRequestSchema, PolymarketClobPricesBatchRequestSchema, PolymarketClobBatchPricesHistoryRequestSchema, PolymarketClobPostOrderRequestSchema, PolymarketClobPlaceOrderRequestSchema, PolymarketClobPostOrdersRequestSchema, PolymarketClobCancelOrderRequestSchema, PolymarketClobCancelOrdersRequestSchema, PolymarketClobCancelMarketOrdersRequestSchema, PolymarketClobOrdersScoringRequestSchema, PolymarketClobHeartbeatRequestSchema, } from "./zod.js";
3
3
  import { createRequestHelpers } from "./_helpers.js";
4
4
  import { createClobTrader } from "./sign.js";
5
5
  // Internal sub-factory for the CLOB host. Owns its own `baseURL` const so the
@@ -13,7 +13,7 @@ export function createClobProvider(opts) {
13
13
  // Wallet-backed order signer (lazy — only built when a trade is placed).
14
14
  const trader = createClobTrader(opts);
15
15
  // GET https://clob.polymarket.com/time
16
- // Docs: https://docs.polymarket.com/api-reference/clob/get-server-time
16
+ // Docs: https://docs.polymarket.com/api-reference/data/get-server-time.md
17
17
  async function clobTime(signal) {
18
18
  const text = (await makeGetTextRequest(`${baseURL}/time`, signal)).trim();
19
19
  const n = Number(text);
@@ -23,51 +23,111 @@ export function createClobProvider(opts) {
23
23
  return n;
24
24
  }
25
25
  // GET https://clob.polymarket.com/book{query}
26
- // Docs: https://docs.polymarket.com/api-reference/clob/get-order-book
26
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-order-book.md
27
27
  async function clobBook(params, signal) {
28
28
  const query = `?token_id=${encodeURIComponent(params.token_id)}`;
29
29
  return makeGetRequest(`${baseURL}/book${query}`, signal);
30
30
  }
31
31
  // GET https://clob.polymarket.com/price{query}
32
- // Docs: https://docs.polymarket.com/api-reference/clob/get-market-price
32
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-market-price.md
33
33
  async function clobPrice(params, signal) {
34
34
  const query = `?token_id=${encodeURIComponent(params.token_id)}` +
35
35
  `&side=${encodeURIComponent(params.side)}`;
36
36
  return makeGetRequest(`${baseURL}/price${query}`, signal);
37
37
  }
38
38
  // GET https://clob.polymarket.com/midpoint{query}
39
- // Docs: https://docs.polymarket.com/api-reference/clob/get-midpoint
39
+ // Docs: https://docs.polymarket.com/api-reference/data/get-midpoint-price.md
40
40
  async function clobMidpoint(params, signal) {
41
41
  const query = `?token_id=${encodeURIComponent(params.token_id)}`;
42
42
  return makeGetRequest(`${baseURL}/midpoint${query}`, signal);
43
43
  }
44
44
  // GET https://clob.polymarket.com/spread{query}
45
- // Docs: https://docs.polymarket.com/api-reference/clob/get-spread
45
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-spread.md
46
46
  async function clobSpread(params, signal) {
47
47
  const query = `?token_id=${encodeURIComponent(params.token_id)}`;
48
48
  return makeGetRequest(`${baseURL}/spread${query}`, signal);
49
49
  }
50
50
  // GET https://clob.polymarket.com/last-trade-price{query}
51
- // Docs: https://docs.polymarket.com/api-reference/clob/get-last-trade-price
51
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-last-trade-price.md
52
52
  async function clobLastTradePrice(params, signal) {
53
53
  const query = `?token_id=${encodeURIComponent(params.token_id)}`;
54
54
  return makeGetRequest(`${baseURL}/last-trade-price${query}`, signal);
55
55
  }
56
+ // OpenAPI-only query-form alias; page docs cover the POST body form.
57
+ // GET https://clob.polymarket.com/books{query}
58
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
59
+ async function clobBooks(params, signal) {
60
+ const query = tokenIdsQuery(params);
61
+ return makeGetRequest(`${baseURL}/books${query}`, signal);
62
+ }
63
+ // GET https://clob.polymarket.com/prices{query}
64
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-market-prices-query-parameters.md
65
+ async function clobPrices(params, signal) {
66
+ const query = `?token_ids=${encodeURIComponent(params.token_ids.join(","))}` +
67
+ `&sides=${encodeURIComponent(params.sides.join(","))}`;
68
+ return makeGetRequest(`${baseURL}/prices${query}`, signal);
69
+ }
70
+ // GET https://clob.polymarket.com/midpoints{query}
71
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-midpoint-prices-query-parameters.md
72
+ async function clobMidpoints(params, signal) {
73
+ const query = tokenIdsQuery(params);
74
+ return makeGetRequest(`${baseURL}/midpoints${query}`, signal);
75
+ }
76
+ // GET https://clob.polymarket.com/last-trades-prices{query}
77
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-last-trade-prices-query-parameters.md
78
+ async function clobLastTradesPrices(params, signal) {
79
+ const query = tokenIdsQuery(params);
80
+ return makeGetRequest(`${baseURL}/last-trades-prices${query}`, signal);
81
+ }
56
82
  // GET https://clob.polymarket.com/tick-size/{tokenId}
57
- // Docs: https://docs.polymarket.com/api-reference/clob/get-tick-size
83
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-tick-size-by-path-parameter.md
58
84
  async function clobTickSize(tokenId, signal) {
59
85
  return makeGetRequest(`${baseURL}/tick-size/${encodeURIComponent(tokenId)}`, signal);
60
86
  }
87
+ // sig-ok: query-form alias kept distinct from path-form tickSize
88
+ // GET https://clob.polymarket.com/tick-size{query}
89
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-tick-size.md
90
+ async function clobTickSizeByQuery(params, signal) {
91
+ const query = tokenQuery(params);
92
+ return makeGetRequest(`${baseURL}/tick-size${query}`, signal);
93
+ }
61
94
  // GET https://clob.polymarket.com/fee-rate/{tokenId}
62
- // Docs: https://docs.polymarket.com/api-reference/clob/get-fee-rate
95
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-fee-rate-by-path-parameter.md
63
96
  async function clobFeeRate(tokenId, signal) {
64
97
  return makeGetRequest(`${baseURL}/fee-rate/${encodeURIComponent(tokenId)}`, signal);
65
98
  }
99
+ // sig-ok: query-form alias kept distinct from path-form feeRate
100
+ // GET https://clob.polymarket.com/fee-rate{query}
101
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-fee-rate.md
102
+ async function clobFeeRateByQuery(params, signal) {
103
+ const query = tokenQuery(params);
104
+ return makeGetRequest(`${baseURL}/fee-rate${query}`, signal);
105
+ }
106
+ // OpenAPI-only negative-risk read endpoint.
107
+ // GET https://clob.polymarket.com/neg-risk/{tokenId}
108
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
109
+ async function clobNegRisk(tokenId, signal) {
110
+ return makeGetRequest(`${baseURL}/neg-risk/${encodeURIComponent(tokenId)}`, signal);
111
+ }
112
+ // OpenAPI-only negative-risk read endpoint.
113
+ // sig-ok: query-form alias kept distinct from path-form negRisk
114
+ // GET https://clob.polymarket.com/neg-risk{query}
115
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
116
+ async function clobNegRiskByQuery(params, signal) {
117
+ const query = tokenQuery(params);
118
+ return makeGetRequest(`${baseURL}/neg-risk${query}`, signal);
119
+ }
66
120
  function paginationQuery(params) {
67
121
  if (!params?.next_cursor)
68
122
  return "";
69
123
  return `?next_cursor=${encodeURIComponent(params.next_cursor)}`;
70
124
  }
125
+ function tokenQuery(params) {
126
+ return `?token_id=${encodeURIComponent(params.token_id)}`;
127
+ }
128
+ function tokenIdsQuery(params) {
129
+ return `?token_ids=${encodeURIComponent(params.token_ids.join(","))}`;
130
+ }
71
131
  // The CLOB `/balance-allowance` endpoints resolve *which* wallet's balance to
72
132
  // return from `signature_type`: omit it and the server assumes type 0 (the EOA
73
133
  // signer in POLY_ADDRESS), which for proxy/funder setups (types 1/2/3) reads an
@@ -104,8 +164,9 @@ export function createClobProvider(opts) {
104
164
  }
105
165
  return { headers: headersOrSignal, signal };
106
166
  }
167
+ // Legacy compatibility: current public market listings are documented on Gamma.
107
168
  // GET https://clob.polymarket.com/markets/{paramsOrConditionIdOrSignal}
108
- // Docs: https://docs.polymarket.com/api-reference/clob/get-markets
169
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
109
170
  async function clobMarkets(paramsOrConditionIdOrSignal, signal) {
110
171
  if (typeof paramsOrConditionIdOrSignal === "string") {
111
172
  return makeGetRequest(`${baseURL}/markets/${encodeURIComponent(paramsOrConditionIdOrSignal)}`, signal);
@@ -124,35 +185,42 @@ export function createClobProvider(opts) {
124
185
  return makeGetRequest(`${baseURL}/markets${query}`, effectiveSignal);
125
186
  }
126
187
  // GET https://clob.polymarket.com/sampling-markets{query}
127
- // Docs: https://docs.polymarket.com/api-reference/clob/get-sampling-markets
188
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-sampling-markets.md
128
189
  async function clobSamplingMarkets(params, signal) {
129
190
  const query = paginationQuery(params);
130
191
  return makeGetRequest(`${baseURL}/sampling-markets${query}`, signal);
131
192
  }
132
193
  // GET https://clob.polymarket.com/simplified-markets{query}
133
- // Docs: https://docs.polymarket.com/api-reference/clob/get-simplified-markets
194
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-simplified-markets.md
134
195
  async function clobSimplifiedMarkets(params, signal) {
135
196
  const query = paginationQuery(params);
136
197
  return makeGetRequest(`${baseURL}/simplified-markets${query}`, signal);
137
198
  }
138
199
  // GET https://clob.polymarket.com/sampling-simplified-markets{query}
139
- // Docs: https://docs.polymarket.com/api-reference/clob/get-sampling-simplified-markets
200
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-sampling-simplified-markets.md
140
201
  async function clobSamplingSimplifiedMarkets(params, signal) {
141
202
  const query = paginationQuery(params);
142
203
  return makeGetRequest(`${baseURL}/sampling-simplified-markets${query}`, signal);
143
204
  }
144
205
  // GET https://clob.polymarket.com/markets-by-token/{tokenId}
145
- // Docs: https://docs.polymarket.com/api-reference/clob/get-market-by-token
206
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-market-by-token.md
146
207
  async function clobMarketsByToken(tokenId, signal) {
147
208
  return makeGetRequest(`${baseURL}/markets-by-token/${encodeURIComponent(tokenId)}`, signal);
148
209
  }
149
210
  // GET https://clob.polymarket.com/clob-markets/{conditionId}
150
- // Docs: https://docs.polymarket.com/api-reference/clob/get-clob-market-info
211
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-clob-market-info.md
151
212
  async function clobMarketsCompact(conditionId, signal) {
152
213
  return makeGetRequest(`${baseURL}/clob-markets/${encodeURIComponent(conditionId)}`, signal);
153
214
  }
215
+ // OpenAPI-only live-activity read endpoint.
216
+ // sig-ok: singular convenience name for markets/live-activity lookup
217
+ // GET https://clob.polymarket.com/markets/live-activity/{conditionId}
218
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
219
+ async function clobMarketLiveActivity(conditionId, signal) {
220
+ return makeGetRequest(`${baseURL}/markets/live-activity/${encodeURIComponent(conditionId)}`, signal);
221
+ }
154
222
  // GET https://clob.polymarket.com/prices-history{query}
155
- // Docs: https://docs.polymarket.com/api-reference/clob/get-prices-history
223
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-prices-history.md
156
224
  async function clobPricesHistory(params, signal) {
157
225
  const usp = new URLSearchParams();
158
226
  usp.set("market", params.market);
@@ -168,48 +236,66 @@ export function createClobProvider(opts) {
168
236
  return makeGetRequest(`${baseURL}/prices-history${query}`, signal);
169
237
  }
170
238
  // POST https://clob.polymarket.com/auth/api-key
171
- // Docs: https://docs.polymarket.com/api-reference/authentication
239
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
172
240
  async function clobAuthApiKey(headersOrSignal, signal) {
173
241
  const args = resolveL1Args(headersOrSignal, signal);
174
242
  return makeL1Request("POST", `${baseURL}/auth/api-key`, args.headers, args.signal);
175
243
  }
176
244
  // GET https://clob.polymarket.com/auth/api-keys
177
- // Docs: https://docs.polymarket.com/api-reference/authentication
245
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
178
246
  async function clobAuthApiKeys(headersOrSignal, signal) {
179
247
  const args = resolveL1Args(headersOrSignal, signal);
180
248
  return makeL1Request("GET", `${baseURL}/auth/api-keys`, args.headers, args.signal);
181
249
  }
182
250
  // GET https://clob.polymarket.com/auth/derive-api-key
183
- // Docs: https://docs.polymarket.com/api-reference/authentication
251
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
184
252
  async function clobAuthDeriveApiKey(headersOrSignal, signal) {
185
253
  const args = resolveL1Args(headersOrSignal, signal);
186
254
  return makeL1Request("GET", `${baseURL}/auth/derive-api-key`, args.headers, args.signal);
187
255
  }
188
256
  // DELETE https://clob.polymarket.com/auth/api-key
189
- // Docs: https://docs.polymarket.com/api-reference/authentication
257
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
190
258
  async function clobAuthDeleteApiKey(signal) {
191
259
  return makeAuthenticatedRequest("DELETE", `${baseURL}/auth/api-key`, undefined, signal);
192
260
  }
193
261
  // GET https://clob.polymarket.com/auth/ban-status/closed-only
194
- // Docs: https://docs.polymarket.com/api-reference/authentication
262
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
195
263
  async function clobAuthClosedOnly(signal) {
196
264
  return makeAuthenticatedRequest("GET", `${baseURL}/auth/ban-status/closed-only`, undefined, signal);
197
265
  }
266
+ // GET https://clob.polymarket.com/auth/builder-api-key
267
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
268
+ async function clobAuthBuilderApiKeyGet(signal) {
269
+ return makeAuthenticatedRequest("GET", `${baseURL}/auth/builder-api-key`, undefined, signal);
270
+ }
271
+ // POST https://clob.polymarket.com/auth/builder-api-key
272
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
273
+ async function clobAuthBuilderApiKeyPost(signal) {
274
+ return makeAuthenticatedRequest("POST", `${baseURL}/auth/builder-api-key`, undefined, signal);
275
+ }
276
+ // DELETE https://clob.polymarket.com/auth/builder-api-key
277
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
278
+ async function clobAuthBuilderApiKeyDelete(signal) {
279
+ return makeAuthenticatedRequest("DELETE", `${baseURL}/auth/builder-api-key`, undefined, signal);
280
+ }
198
281
  const authGet = {
199
282
  apiKeys: clobAuthApiKeys,
200
283
  deriveApiKey: clobAuthDeriveApiKey,
284
+ builderApiKey: clobAuthBuilderApiKeyGet,
201
285
  banStatus: {
202
286
  closedOnly: clobAuthClosedOnly,
203
287
  },
204
288
  };
205
289
  const authPost = {
206
290
  apiKey: clobAuthApiKey,
291
+ builderApiKey: clobAuthBuilderApiKeyPost,
207
292
  };
208
293
  const authDelete = {
209
294
  apiKey: clobAuthDeleteApiKey,
295
+ builderApiKey: clobAuthBuilderApiKeyDelete,
210
296
  };
211
297
  // POST https://clob.polymarket.com/order
212
- // Docs: https://docs.polymarket.com/api-reference/trade/post-a-new-order
298
+ // Docs: https://docs.polymarket.com/api-reference/trade/post-a-new-order.md
213
299
  const clobPostOrder = Object.assign(async (req, signal) => {
214
300
  return makeAuthenticatedRequest("POST", `${baseURL}/order`, req, signal);
215
301
  }, { schema: PolymarketClobPostOrderRequestSchema });
@@ -221,43 +307,43 @@ export function createClobProvider(opts) {
221
307
  return trader.placeOrder(req, clobPostOrder, signal);
222
308
  }, { schema: PolymarketClobPlaceOrderRequestSchema });
223
309
  // POST https://clob.polymarket.com/orders
224
- // Docs: https://docs.polymarket.com/api-reference/trade/post-multiple-orders
310
+ // Docs: https://docs.polymarket.com/api-reference/trade/post-multiple-orders.md
225
311
  const clobPostOrders = Object.assign(async (req, signal) => {
226
312
  return makeAuthenticatedRequest("POST", `${baseURL}/orders`, req, signal);
227
313
  }, { schema: PolymarketClobPostOrdersRequestSchema });
228
314
  // DELETE https://clob.polymarket.com/order
229
- // Docs: https://docs.polymarket.com/api-reference/trade/cancel-single-order
315
+ // Docs: https://docs.polymarket.com/api-reference/trade/cancel-single-order.md
230
316
  const clobCancelOrder = Object.assign(async (req, signal) => {
231
317
  return makeAuthenticatedRequest("DELETE", `${baseURL}/order`, req, signal);
232
318
  }, { schema: PolymarketClobCancelOrderRequestSchema });
233
319
  // DELETE https://clob.polymarket.com/orders
234
- // Docs: https://docs.polymarket.com/api-reference/trade/cancel-multiple-orders
320
+ // Docs: https://docs.polymarket.com/api-reference/trade/cancel-multiple-orders.md
235
321
  const clobCancelOrders = Object.assign(async (req, signal) => {
236
322
  return makeAuthenticatedRequest("DELETE", `${baseURL}/orders`, req, signal);
237
323
  }, { schema: PolymarketClobCancelOrdersRequestSchema });
238
324
  // DELETE https://clob.polymarket.com/cancel-all
239
- // Docs: https://docs.polymarket.com/api-reference/trade/cancel-all-orders
325
+ // Docs: https://docs.polymarket.com/api-reference/trade/cancel-all-orders.md
240
326
  async function clobCancelAll(signal) {
241
327
  return makeAuthenticatedRequest("DELETE", `${baseURL}/cancel-all`, undefined, signal);
242
328
  }
243
329
  // DELETE https://clob.polymarket.com/cancel-market-orders
244
- // Docs: https://docs.polymarket.com/api-reference/trade/cancel-orders-for-a-market
330
+ // Docs: https://docs.polymarket.com/api-reference/trade/cancel-orders-for-a-market.md
245
331
  const clobCancelMarketOrders = Object.assign(async (req, signal) => {
246
332
  return makeAuthenticatedRequest("DELETE", `${baseURL}/cancel-market-orders`, req, signal);
247
333
  }, { schema: PolymarketClobCancelMarketOrdersRequestSchema });
248
334
  // GET https://clob.polymarket.com/data/orders{query}
249
- // Docs: https://docs.polymarket.com/api-reference/trade/get-user-orders
335
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-user-orders.md
250
336
  async function clobDataOrders(params, signal) {
251
337
  const query = buildQuery(params);
252
338
  return makeAuthenticatedRequest("GET", `${baseURL}/data/orders${query}`, undefined, signal);
253
339
  }
254
340
  // GET https://clob.polymarket.com/data/order/{orderID}
255
- // Docs: https://docs.polymarket.com/api-reference/trade/get-single-order-by-id
341
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-single-order-by-id.md
256
342
  async function clobDataOrder(orderID, signal) {
257
343
  return makeAuthenticatedRequest("GET", `${baseURL}/data/order/${encodeURIComponent(orderID)}`, undefined, signal);
258
344
  }
259
345
  // GET https://clob.polymarket.com/data/trades{query}
260
- // Docs: https://docs.polymarket.com/api-reference/trade/get-trades
346
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-trades.md
261
347
  async function clobDataTrades(params, signal) {
262
348
  const query = buildQuery(params);
263
349
  return makeAuthenticatedRequest("GET", `${baseURL}/data/trades${query}`, undefined, signal);
@@ -267,14 +353,87 @@ export function createClobProvider(opts) {
267
353
  order: clobDataOrder,
268
354
  trades: clobDataTrades,
269
355
  };
356
+ // GET https://clob.polymarket.com/rewards/user{query}
357
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-earnings-for-user-by-date.md
358
+ async function clobRewardsUser(params, signal) {
359
+ const query = buildQuery(params);
360
+ return makeAuthenticatedRequest("GET", `${baseURL}/rewards/user${query}`, undefined, signal);
361
+ }
362
+ // sig-ok: flat userTotal name avoids making rewards.user both callable and nested
363
+ // GET https://clob.polymarket.com/rewards/user/total{query}
364
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-total-earnings-for-user-by-date.md
365
+ async function clobRewardsUserTotal(params, signal) {
366
+ const query = buildQuery(params);
367
+ return makeAuthenticatedRequest("GET", `${baseURL}/rewards/user/total${query}`, undefined, signal);
368
+ }
369
+ // sig-ok: flat userPercentages name avoids making rewards.user both callable and nested
370
+ // GET https://clob.polymarket.com/rewards/user/percentages{query}
371
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-reward-percentages-for-user.md
372
+ async function clobRewardsUserPercentages(params, signal) {
373
+ const query = buildQuery(params);
374
+ return makeAuthenticatedRequest("GET", `${baseURL}/rewards/user/percentages${query}`, undefined, signal);
375
+ }
376
+ // sig-ok: flat userMarkets name avoids making rewards.user both callable and nested
377
+ // GET https://clob.polymarket.com/rewards/user/markets{query}
378
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-user-earnings-and-markets-configuration.md
379
+ async function clobRewardsUserMarkets(params, signal) {
380
+ const query = buildQuery(params);
381
+ return makeAuthenticatedRequest("GET", `${baseURL}/rewards/user/markets${query}`, undefined, signal);
382
+ }
383
+ // GET https://clob.polymarket.com/rewards/markets/current{query}
384
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-current-active-rewards-configurations.md
385
+ async function clobRewardsMarketsCurrent(params, signal) {
386
+ const query = buildQuery(params);
387
+ return makeGetRequest(`${baseURL}/rewards/markets/current${query}`, signal);
388
+ }
389
+ // sig-ok: byCondition disambiguates the path-param market rewards lookup
390
+ // GET https://clob.polymarket.com/rewards/markets/{conditionId}{query}
391
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-raw-rewards-for-a-specific-market.md
392
+ async function clobRewardsMarketsByCondition(conditionId, params, signal) {
393
+ const query = buildQuery(params);
394
+ return makeGetRequest(`${baseURL}/rewards/markets/${encodeURIComponent(conditionId)}${query}`, signal);
395
+ }
396
+ // GET https://clob.polymarket.com/rewards/markets/multi{query}
397
+ // Docs: https://docs.polymarket.com/api-reference/rewards/get-multiple-markets-with-rewards.md
398
+ async function clobRewardsMarketsMulti(params, signal) {
399
+ const query = buildQuery(params);
400
+ return makeGetRequest(`${baseURL}/rewards/markets/multi${query}`, signal);
401
+ }
402
+ const rewardsGet = {
403
+ user: clobRewardsUser,
404
+ userTotal: clobRewardsUserTotal,
405
+ userPercentages: clobRewardsUserPercentages,
406
+ userMarkets: clobRewardsUserMarkets,
407
+ markets: {
408
+ current: clobRewardsMarketsCurrent,
409
+ byCondition: clobRewardsMarketsByCondition,
410
+ multi: clobRewardsMarketsMulti,
411
+ },
412
+ };
413
+ // GET https://clob.polymarket.com/rebates/current{query}
414
+ // Docs: https://docs.polymarket.com/api-reference/rebates/get-current-rebated-fees-for-a-maker.md
415
+ async function clobRebatesCurrent(params, signal) {
416
+ const query = buildQuery(params);
417
+ return makeGetRequest(`${baseURL}/rebates/current${query}`, signal);
418
+ }
419
+ const rebatesGet = {
420
+ current: clobRebatesCurrent,
421
+ };
422
+ // sig-ok: builderTrades keeps CLOB builder reads in one flat namespace
423
+ // GET https://clob.polymarket.com/builder/trades{query}
424
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-builder-trades.md
425
+ async function clobBuilderTrades(params, signal) {
426
+ const query = buildQuery(params);
427
+ return makeGetRequest(`${baseURL}/builder/trades${query}`, signal);
428
+ }
270
429
  // GET https://clob.polymarket.com/balance-allowance{query}
271
- // Docs: https://docs.polymarket.com/api-reference/authentication
430
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
272
431
  async function clobBalanceAllowanceGet(params, signal) {
273
432
  const query = buildQuery(withDefaultSignatureType(params));
274
433
  return makeAuthenticatedRequest("GET", `${baseURL}/balance-allowance${query}`, undefined, signal);
275
434
  }
276
435
  // GET https://clob.polymarket.com/balance-allowance/update{query}
277
- // Docs: https://docs.polymarket.com/api-reference/authentication
436
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
278
437
  async function clobBalanceAllowanceUpdateGet(params, signal) {
279
438
  const query = buildQuery(withDefaultSignatureType(params));
280
439
  return makeAuthenticatedRequest("GET", `${baseURL}/balance-allowance/update${query}`, undefined, signal);
@@ -283,80 +442,87 @@ export function createClobProvider(opts) {
283
442
  update: clobBalanceAllowanceUpdateGet,
284
443
  });
285
444
  // PUT https://clob.polymarket.com/balance-allowance{query}
286
- // Docs: https://docs.polymarket.com/api-reference/authentication
445
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
287
446
  async function clobBalanceAllowancePut(params, signal) {
288
447
  const query = buildQuery(withDefaultSignatureType(params));
289
448
  return makeAuthenticatedRequest("PUT", `${baseURL}/balance-allowance${query}`, undefined, signal);
290
449
  }
291
450
  // GET https://clob.polymarket.com/notifications{query}
292
- // Docs: https://docs.polymarket.com/api-reference/authentication
451
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
293
452
  async function clobNotifications(params, signal) {
294
453
  const query = buildQuery(params);
295
454
  return makeAuthenticatedRequest("GET", `${baseURL}/notifications${query}`, undefined, signal);
296
455
  }
297
456
  // DELETE https://clob.polymarket.com/notifications{query}
298
- // Docs: https://docs.polymarket.com/api-reference/authentication
457
+ // Docs: https://docs.polymarket.com/api-reference/authentication.md
299
458
  async function clobDropNotifications(params, signal) {
300
459
  const query = `?ids=${encodeURIComponent(params.ids.join(","))}`;
301
460
  return makeAuthenticatedRequest("DELETE", `${baseURL}/notifications${query}`, undefined, signal);
302
461
  }
303
462
  // POST https://clob.polymarket.com/heartbeats
304
- // Docs: https://docs.polymarket.com/api-reference/trade/send-heartbeat
463
+ // Docs: https://docs.polymarket.com/api-reference/trade/send-heartbeat.md
305
464
  async function clobHeartbeats(signal) {
306
465
  return makeAuthenticatedRequest("POST", `${baseURL}/heartbeats`, undefined, signal);
307
466
  }
308
467
  // POST https://clob.polymarket.com/v1/heartbeats
309
- // Docs: https://docs.polymarket.com/api-reference/trade/send-heartbeat
468
+ // Docs: https://docs.polymarket.com/api-reference/trade/send-heartbeat.md
310
469
  const clobHeartbeatsV1 = Object.assign(async (req, signal) => {
311
470
  return makeAuthenticatedRequest("POST", `${baseURL}/v1/heartbeats`, req, signal);
312
471
  }, { schema: PolymarketClobHeartbeatRequestSchema });
313
472
  // GET https://clob.polymarket.com/order-scoring{query}
314
- // Docs: https://docs.polymarket.com/api-reference/trade/get-order-scoring-status
473
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-order-scoring-status.md
315
474
  async function clobOrderScoring(params, signal) {
316
475
  const query = buildQuery(params);
317
476
  return makeAuthenticatedRequest("GET", `${baseURL}/order-scoring${query}`, undefined, signal);
318
477
  }
319
478
  // GET https://clob.polymarket.com/orders-scoring{query}
320
- // Docs: https://docs.polymarket.com/api-reference/trade/get-order-scoring-status
479
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-order-scoring-status.md
321
480
  async function clobOrdersScoring(params, signal) {
322
481
  const query = buildQuery(params);
323
482
  return makeAuthenticatedRequest("GET", `${baseURL}/orders-scoring${query}`, undefined, signal);
324
483
  }
325
484
  // POST https://clob.polymarket.com/orders-scoring
326
- // Docs: https://docs.polymarket.com/api-reference/trade/get-order-scoring-status
485
+ // Docs: https://docs.polymarket.com/api-reference/trade/get-order-scoring-status.md
327
486
  const clobOrdersScoringPost = Object.assign(async (req, signal) => {
328
487
  return makeAuthenticatedRequest("POST", `${baseURL}/orders-scoring`, req, signal);
329
488
  }, { schema: PolymarketClobOrdersScoringRequestSchema });
330
489
  // POST https://clob.polymarket.com/books
331
- // Docs: https://docs.polymarket.com/api-reference/clob/get-order-books
490
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-order-books-request-body.md
332
491
  const clobBooksBatch = Object.assign(async (req, signal) => {
333
492
  return makeJsonRequest(`${baseURL}/books`, req, signal);
334
493
  }, { schema: PolymarketClobTokenBatchRequestSchema });
335
494
  // POST https://clob.polymarket.com/prices
336
- // Docs: https://docs.polymarket.com/api-reference/clob/get-market-prices
495
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-market-prices-request-body.md
337
496
  const clobPricesBatch = Object.assign(async (req, signal) => {
338
497
  return makeJsonRequest(`${baseURL}/prices`, req, signal);
339
498
  }, { schema: PolymarketClobPricesBatchRequestSchema });
340
499
  // POST https://clob.polymarket.com/midpoints
341
- // Docs: https://docs.polymarket.com/api-reference/clob/get-midpoints
500
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-midpoint-prices-request-body.md
342
501
  const clobMidpointsBatch = Object.assign(async (req, signal) => {
343
502
  return makeJsonRequest(`${baseURL}/midpoints`, req, signal);
344
503
  }, { schema: PolymarketClobTokenBatchRequestSchema });
345
504
  // POST https://clob.polymarket.com/spreads
346
- // Docs: https://docs.polymarket.com/api-reference/clob/get-spreads
505
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-spreads.md
347
506
  const clobSpreadsBatch = Object.assign(async (req, signal) => {
348
507
  return makeJsonRequest(`${baseURL}/spreads`, req, signal);
349
508
  }, { schema: PolymarketClobTokenBatchRequestSchema });
350
509
  // POST https://clob.polymarket.com/last-trades-prices
351
- // Docs: https://docs.polymarket.com/api-reference/clob/get-last-trades-prices
510
+ // Docs: https://docs.polymarket.com/api-reference/market-data/get-last-trade-prices-request-body.md
352
511
  const clobLastTradesPricesBatch = Object.assign(async (req, signal) => {
353
512
  return makeJsonRequest(`${baseURL}/last-trades-prices`, req, signal);
354
513
  }, { schema: PolymarketClobTokenBatchRequestSchema });
355
514
  // POST https://clob.polymarket.com/batch-prices-history
356
- // Docs: https://docs.polymarket.com/api-reference/clob/get-batch-prices-history
515
+ // Docs: https://docs.polymarket.com/api-reference/markets/get-batch-prices-history.md
357
516
  const clobBatchPricesHistory = Object.assign(async (req, signal) => {
358
517
  return makeJsonRequest(`${baseURL}/batch-prices-history`, req, signal);
359
518
  }, { schema: PolymarketClobBatchPricesHistoryRequestSchema });
519
+ // OpenAPI-only live-activity read endpoint.
520
+ // sig-ok: plural POST counterpart to marketLiveActivity
521
+ // POST https://clob.polymarket.com/markets/live-activity
522
+ // Docs: https://docs.polymarket.com/api-spec/clob-openapi.yaml
523
+ const clobMarketsLiveActivity = Object.assign(async (req, signal) => {
524
+ return makeJsonRequest(`${baseURL}/markets/live-activity`, req, signal);
525
+ }, { schema: PolymarketClobLiveActivityRequestSchema });
360
526
  return {
361
527
  get: {
362
528
  clob: {
@@ -367,8 +533,16 @@ export function createClobProvider(opts) {
367
533
  midpoint: clobMidpoint,
368
534
  spread: clobSpread,
369
535
  lastTradePrice: clobLastTradePrice,
536
+ books: clobBooks,
537
+ prices: clobPrices,
538
+ midpoints: clobMidpoints,
539
+ lastTradesPrices: clobLastTradesPrices,
370
540
  tickSize: clobTickSize,
541
+ tickSizeByQuery: clobTickSizeByQuery,
371
542
  feeRate: clobFeeRate,
543
+ feeRateByQuery: clobFeeRateByQuery,
544
+ negRisk: clobNegRisk,
545
+ negRiskByQuery: clobNegRiskByQuery,
372
546
  pricesHistory: clobPricesHistory,
373
547
  markets: clobMarkets,
374
548
  samplingMarkets: clobSamplingMarkets,
@@ -376,6 +550,10 @@ export function createClobProvider(opts) {
376
550
  samplingSimplifiedMarkets: clobSamplingSimplifiedMarkets,
377
551
  marketsByToken: clobMarketsByToken,
378
552
  clobMarkets: clobMarketsCompact,
553
+ marketLiveActivity: clobMarketLiveActivity,
554
+ rewards: rewardsGet,
555
+ rebates: rebatesGet,
556
+ builderTrades: clobBuilderTrades,
379
557
  data: dataGet,
380
558
  balanceAllowance: clobBalanceAllowance,
381
559
  notifications: clobNotifications,
@@ -395,6 +573,7 @@ export function createClobProvider(opts) {
395
573
  spreads: clobSpreadsBatch,
396
574
  lastTradesPrices: clobLastTradesPricesBatch,
397
575
  batchPricesHistory: clobBatchPricesHistory,
576
+ marketsLiveActivity: clobMarketsLiveActivity,
398
577
  heartbeats: clobHeartbeats,
399
578
  v1: {
400
579
  heartbeats: clobHeartbeatsV1,
@@ -1 +1 @@
1
- {"version":3,"file":"clob.js","sourceRoot":"","sources":["../../src/clob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clob.js","sourceRoot":"","sources":["../../src/clob.ts"],"names":[],"mappings":"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"}