pmxtjs 0.4.3 → 1.0.0-b2

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 (317) hide show
  1. package/README.md +161 -0
  2. package/dist/esm/generated/src/apis/DefaultApi.d.ts +268 -0
  3. package/dist/esm/generated/src/apis/DefaultApi.js +501 -0
  4. package/dist/esm/generated/src/apis/index.d.ts +1 -0
  5. package/dist/esm/generated/src/apis/index.js +19 -0
  6. package/dist/esm/generated/src/index.d.ts +3 -0
  7. package/dist/esm/generated/src/index.js +21 -0
  8. package/dist/esm/generated/src/models/Balance.d.ts +50 -0
  9. package/dist/esm/generated/src/models/Balance.js +54 -0
  10. package/dist/esm/generated/src/models/BaseResponse.d.ts +39 -0
  11. package/dist/esm/generated/src/models/BaseResponse.js +51 -0
  12. package/dist/esm/generated/src/models/CancelOrderRequest.d.ts +32 -0
  13. package/dist/esm/generated/src/models/CancelOrderRequest.js +50 -0
  14. package/dist/esm/generated/src/models/CreateOrder200Response.d.ts +46 -0
  15. package/dist/esm/generated/src/models/CreateOrder200Response.js +54 -0
  16. package/dist/esm/generated/src/models/CreateOrderParams.d.ts +78 -0
  17. package/dist/esm/generated/src/models/CreateOrderParams.js +83 -0
  18. package/dist/esm/generated/src/models/CreateOrderRequest.d.ts +33 -0
  19. package/dist/esm/generated/src/models/CreateOrderRequest.js +51 -0
  20. package/dist/esm/generated/src/models/ErrorDetail.d.ts +32 -0
  21. package/dist/esm/generated/src/models/ErrorDetail.js +48 -0
  22. package/dist/esm/generated/src/models/ErrorResponse.d.ts +39 -0
  23. package/dist/esm/generated/src/models/ErrorResponse.js +51 -0
  24. package/dist/esm/generated/src/models/FetchBalance200Response.d.ts +46 -0
  25. package/dist/esm/generated/src/models/FetchBalance200Response.js +54 -0
  26. package/dist/esm/generated/src/models/FetchMarkets200Response.d.ts +46 -0
  27. package/dist/esm/generated/src/models/FetchMarkets200Response.js +54 -0
  28. package/dist/esm/generated/src/models/FetchMarketsRequest.d.ts +33 -0
  29. package/dist/esm/generated/src/models/FetchMarketsRequest.js +49 -0
  30. package/dist/esm/generated/src/models/FetchOHLCV200Response.d.ts +46 -0
  31. package/dist/esm/generated/src/models/FetchOHLCV200Response.js +54 -0
  32. package/dist/esm/generated/src/models/FetchOHLCVRequest.d.ts +33 -0
  33. package/dist/esm/generated/src/models/FetchOHLCVRequest.js +51 -0
  34. package/dist/esm/generated/src/models/FetchOHLCVRequestArgsInner.d.ts +22 -0
  35. package/dist/esm/generated/src/models/FetchOHLCVRequestArgsInner.js +56 -0
  36. package/dist/esm/generated/src/models/FetchOpenOrders200Response.d.ts +46 -0
  37. package/dist/esm/generated/src/models/FetchOpenOrders200Response.js +54 -0
  38. package/dist/esm/generated/src/models/FetchOpenOrdersRequest.d.ts +32 -0
  39. package/dist/esm/generated/src/models/FetchOpenOrdersRequest.js +48 -0
  40. package/dist/esm/generated/src/models/FetchOrderBook200Response.d.ts +46 -0
  41. package/dist/esm/generated/src/models/FetchOrderBook200Response.js +54 -0
  42. package/dist/esm/generated/src/models/FetchOrderBookRequest.d.ts +32 -0
  43. package/dist/esm/generated/src/models/FetchOrderBookRequest.js +50 -0
  44. package/dist/esm/generated/src/models/FetchPositions200Response.d.ts +46 -0
  45. package/dist/esm/generated/src/models/FetchPositions200Response.js +54 -0
  46. package/dist/esm/generated/src/models/FetchPositionsRequest.d.ts +32 -0
  47. package/dist/esm/generated/src/models/FetchPositionsRequest.js +48 -0
  48. package/dist/esm/generated/src/models/FetchTrades200Response.d.ts +46 -0
  49. package/dist/esm/generated/src/models/FetchTrades200Response.js +54 -0
  50. package/dist/esm/generated/src/models/FetchTradesRequest.d.ts +33 -0
  51. package/dist/esm/generated/src/models/FetchTradesRequest.js +51 -0
  52. package/dist/esm/generated/src/models/GetMarketsBySlugRequest.d.ts +32 -0
  53. package/dist/esm/generated/src/models/GetMarketsBySlugRequest.js +50 -0
  54. package/dist/esm/generated/src/models/HealthCheck200Response.d.ts +38 -0
  55. package/dist/esm/generated/src/models/HealthCheck200Response.js +50 -0
  56. package/dist/esm/generated/src/models/HistoryFilterParams.d.ts +62 -0
  57. package/dist/esm/generated/src/models/HistoryFilterParams.js +68 -0
  58. package/dist/esm/generated/src/models/MarketFilterParams.d.ts +68 -0
  59. package/dist/esm/generated/src/models/MarketFilterParams.js +71 -0
  60. package/dist/esm/generated/src/models/MarketOutcome.d.ts +44 -0
  61. package/dist/esm/generated/src/models/MarketOutcome.js +52 -0
  62. package/dist/esm/generated/src/models/Order.d.ts +108 -0
  63. package/dist/esm/generated/src/models/Order.js +83 -0
  64. package/dist/esm/generated/src/models/OrderBook.d.ts +39 -0
  65. package/dist/esm/generated/src/models/OrderBook.js +51 -0
  66. package/dist/esm/generated/src/models/OrderLevel.d.ts +38 -0
  67. package/dist/esm/generated/src/models/OrderLevel.js +50 -0
  68. package/dist/esm/generated/src/models/Position.d.ts +74 -0
  69. package/dist/esm/generated/src/models/Position.js +62 -0
  70. package/dist/esm/generated/src/models/PriceCandle.d.ts +62 -0
  71. package/dist/esm/generated/src/models/PriceCandle.js +58 -0
  72. package/dist/esm/generated/src/models/SearchMarketsRequest.d.ts +33 -0
  73. package/dist/esm/generated/src/models/SearchMarketsRequest.js +51 -0
  74. package/dist/esm/generated/src/models/SearchMarketsRequestArgsInner.d.ts +22 -0
  75. package/dist/esm/generated/src/models/SearchMarketsRequestArgsInner.js +56 -0
  76. package/dist/esm/generated/src/models/Trade.d.ts +65 -0
  77. package/dist/esm/generated/src/models/Trade.js +65 -0
  78. package/dist/esm/generated/src/models/UnifiedMarket.d.ts +63 -0
  79. package/dist/esm/generated/src/models/UnifiedMarket.js +59 -0
  80. package/dist/esm/generated/src/models/index.d.ts +36 -0
  81. package/dist/esm/generated/src/models/index.js +54 -0
  82. package/dist/esm/generated/src/runtime.d.ts +184 -0
  83. package/dist/esm/generated/src/runtime.js +349 -0
  84. package/dist/esm/index.d.ts +32 -0
  85. package/dist/esm/index.js +33 -0
  86. package/dist/esm/pmxt/client.d.ts +213 -0
  87. package/dist/esm/pmxt/client.js +518 -0
  88. package/dist/esm/pmxt/models.d.ts +218 -0
  89. package/dist/esm/pmxt/models.js +6 -0
  90. package/dist/esm/pmxt/server-manager.d.ts +29 -0
  91. package/dist/esm/pmxt/server-manager.js +68 -0
  92. package/dist/generated/src/apis/DefaultApi.d.ts +268 -0
  93. package/dist/generated/src/apis/DefaultApi.js +501 -0
  94. package/dist/generated/src/apis/index.d.ts +1 -0
  95. package/dist/generated/src/apis/index.js +19 -0
  96. package/dist/generated/src/index.d.ts +3 -0
  97. package/dist/generated/src/index.js +21 -0
  98. package/dist/generated/src/models/Balance.d.ts +50 -0
  99. package/dist/generated/src/models/Balance.js +54 -0
  100. package/dist/generated/src/models/BaseResponse.d.ts +39 -0
  101. package/dist/generated/src/models/BaseResponse.js +51 -0
  102. package/dist/generated/src/models/CancelOrderRequest.d.ts +32 -0
  103. package/dist/generated/src/models/CancelOrderRequest.js +50 -0
  104. package/dist/generated/src/models/CreateOrder200Response.d.ts +46 -0
  105. package/dist/generated/src/models/CreateOrder200Response.js +54 -0
  106. package/dist/generated/src/models/CreateOrderParams.d.ts +78 -0
  107. package/dist/generated/src/models/CreateOrderParams.js +83 -0
  108. package/dist/generated/src/models/CreateOrderRequest.d.ts +33 -0
  109. package/dist/generated/src/models/CreateOrderRequest.js +51 -0
  110. package/dist/generated/src/models/ErrorDetail.d.ts +32 -0
  111. package/dist/generated/src/models/ErrorDetail.js +48 -0
  112. package/dist/generated/src/models/ErrorResponse.d.ts +39 -0
  113. package/dist/generated/src/models/ErrorResponse.js +51 -0
  114. package/dist/generated/src/models/FetchBalance200Response.d.ts +46 -0
  115. package/dist/generated/src/models/FetchBalance200Response.js +54 -0
  116. package/dist/generated/src/models/FetchMarkets200Response.d.ts +46 -0
  117. package/dist/generated/src/models/FetchMarkets200Response.js +54 -0
  118. package/dist/generated/src/models/FetchMarketsRequest.d.ts +33 -0
  119. package/dist/generated/src/models/FetchMarketsRequest.js +49 -0
  120. package/dist/generated/src/models/FetchOHLCV200Response.d.ts +46 -0
  121. package/dist/generated/src/models/FetchOHLCV200Response.js +54 -0
  122. package/dist/generated/src/models/FetchOHLCVRequest.d.ts +33 -0
  123. package/dist/generated/src/models/FetchOHLCVRequest.js +51 -0
  124. package/dist/generated/src/models/FetchOHLCVRequestArgsInner.d.ts +22 -0
  125. package/dist/generated/src/models/FetchOHLCVRequestArgsInner.js +56 -0
  126. package/dist/generated/src/models/FetchOpenOrders200Response.d.ts +46 -0
  127. package/dist/generated/src/models/FetchOpenOrders200Response.js +54 -0
  128. package/dist/generated/src/models/FetchOpenOrdersRequest.d.ts +32 -0
  129. package/dist/generated/src/models/FetchOpenOrdersRequest.js +48 -0
  130. package/dist/generated/src/models/FetchOrderBook200Response.d.ts +46 -0
  131. package/dist/generated/src/models/FetchOrderBook200Response.js +54 -0
  132. package/dist/generated/src/models/FetchOrderBookRequest.d.ts +32 -0
  133. package/dist/generated/src/models/FetchOrderBookRequest.js +50 -0
  134. package/dist/generated/src/models/FetchPositions200Response.d.ts +46 -0
  135. package/dist/generated/src/models/FetchPositions200Response.js +54 -0
  136. package/dist/generated/src/models/FetchPositionsRequest.d.ts +32 -0
  137. package/dist/generated/src/models/FetchPositionsRequest.js +48 -0
  138. package/dist/generated/src/models/FetchTrades200Response.d.ts +46 -0
  139. package/dist/generated/src/models/FetchTrades200Response.js +54 -0
  140. package/dist/generated/src/models/FetchTradesRequest.d.ts +33 -0
  141. package/dist/generated/src/models/FetchTradesRequest.js +51 -0
  142. package/dist/generated/src/models/GetMarketsBySlugRequest.d.ts +32 -0
  143. package/dist/generated/src/models/GetMarketsBySlugRequest.js +50 -0
  144. package/dist/generated/src/models/HealthCheck200Response.d.ts +38 -0
  145. package/dist/generated/src/models/HealthCheck200Response.js +50 -0
  146. package/dist/generated/src/models/HistoryFilterParams.d.ts +62 -0
  147. package/dist/generated/src/models/HistoryFilterParams.js +68 -0
  148. package/dist/generated/src/models/MarketFilterParams.d.ts +68 -0
  149. package/dist/generated/src/models/MarketFilterParams.js +71 -0
  150. package/dist/generated/src/models/MarketOutcome.d.ts +44 -0
  151. package/dist/generated/src/models/MarketOutcome.js +52 -0
  152. package/dist/generated/src/models/Order.d.ts +108 -0
  153. package/dist/generated/src/models/Order.js +83 -0
  154. package/dist/generated/src/models/OrderBook.d.ts +39 -0
  155. package/dist/generated/src/models/OrderBook.js +51 -0
  156. package/dist/generated/src/models/OrderLevel.d.ts +38 -0
  157. package/dist/generated/src/models/OrderLevel.js +50 -0
  158. package/dist/generated/src/models/Position.d.ts +74 -0
  159. package/dist/generated/src/models/Position.js +62 -0
  160. package/dist/generated/src/models/PriceCandle.d.ts +62 -0
  161. package/dist/generated/src/models/PriceCandle.js +58 -0
  162. package/dist/generated/src/models/SearchMarketsRequest.d.ts +33 -0
  163. package/dist/generated/src/models/SearchMarketsRequest.js +51 -0
  164. package/dist/generated/src/models/SearchMarketsRequestArgsInner.d.ts +22 -0
  165. package/dist/generated/src/models/SearchMarketsRequestArgsInner.js +56 -0
  166. package/dist/generated/src/models/Trade.d.ts +65 -0
  167. package/dist/generated/src/models/Trade.js +65 -0
  168. package/dist/generated/src/models/UnifiedMarket.d.ts +63 -0
  169. package/dist/generated/src/models/UnifiedMarket.js +59 -0
  170. package/dist/generated/src/models/index.d.ts +36 -0
  171. package/dist/generated/src/models/index.js +54 -0
  172. package/dist/generated/src/runtime.d.ts +184 -0
  173. package/dist/generated/src/runtime.js +349 -0
  174. package/dist/index.d.ts +29 -10
  175. package/dist/index.js +31 -27
  176. package/dist/pmxt/client.d.ts +213 -0
  177. package/dist/pmxt/client.js +518 -0
  178. package/dist/pmxt/models.d.ts +218 -0
  179. package/dist/pmxt/models.js +6 -0
  180. package/dist/pmxt/server-manager.d.ts +29 -0
  181. package/dist/pmxt/server-manager.js +68 -0
  182. package/generated/.openapi-generator/FILES +84 -0
  183. package/generated/.openapi-generator/VERSION +1 -0
  184. package/generated/.openapi-generator-ignore +23 -0
  185. package/generated/docs/Balance.md +40 -0
  186. package/generated/docs/BaseResponse.md +36 -0
  187. package/generated/docs/CancelOrderRequest.md +34 -0
  188. package/generated/docs/CreateOrder200Response.md +38 -0
  189. package/generated/docs/CreateOrderParams.md +44 -0
  190. package/generated/docs/CreateOrderRequest.md +34 -0
  191. package/generated/docs/DefaultApi.md +896 -0
  192. package/generated/docs/ErrorDetail.md +34 -0
  193. package/generated/docs/ErrorResponse.md +36 -0
  194. package/generated/docs/FetchBalance200Response.md +38 -0
  195. package/generated/docs/FetchMarkets200Response.md +38 -0
  196. package/generated/docs/FetchMarketsRequest.md +34 -0
  197. package/generated/docs/FetchOHLCV200Response.md +38 -0
  198. package/generated/docs/FetchOHLCVRequest.md +34 -0
  199. package/generated/docs/FetchOHLCVRequestArgsInner.md +40 -0
  200. package/generated/docs/FetchOpenOrders200Response.md +38 -0
  201. package/generated/docs/FetchOpenOrdersRequest.md +34 -0
  202. package/generated/docs/FetchOrderBook200Response.md +38 -0
  203. package/generated/docs/FetchOrderBookRequest.md +34 -0
  204. package/generated/docs/FetchPositions200Response.md +38 -0
  205. package/generated/docs/FetchPositionsRequest.md +34 -0
  206. package/generated/docs/FetchTrades200Response.md +38 -0
  207. package/generated/docs/FetchTradesRequest.md +34 -0
  208. package/generated/docs/GetMarketsBySlugRequest.md +34 -0
  209. package/generated/docs/HealthCheck200Response.md +36 -0
  210. package/generated/docs/HistoryFilterParams.md +40 -0
  211. package/generated/docs/MarketFilterParams.md +40 -0
  212. package/generated/docs/MarketOutcome.md +38 -0
  213. package/generated/docs/Order.md +54 -0
  214. package/generated/docs/OrderBook.md +36 -0
  215. package/generated/docs/OrderLevel.md +36 -0
  216. package/generated/docs/Position.md +48 -0
  217. package/generated/docs/PriceCandle.md +44 -0
  218. package/generated/docs/SearchMarketsRequest.md +34 -0
  219. package/generated/docs/SearchMarketsRequestArgsInner.md +40 -0
  220. package/generated/docs/Trade.md +42 -0
  221. package/generated/docs/UnifiedMarket.md +44 -0
  222. package/generated/package.json +21 -0
  223. package/generated/src/apis/DefaultApi.ts +752 -0
  224. package/generated/src/apis/index.ts +3 -0
  225. package/generated/src/index.ts +5 -0
  226. package/generated/src/models/Balance.ts +89 -0
  227. package/generated/src/models/BaseResponse.ts +81 -0
  228. package/generated/src/models/CancelOrderRequest.ts +66 -0
  229. package/generated/src/models/CreateOrder200Response.ts +96 -0
  230. package/generated/src/models/CreateOrderParams.ts +130 -0
  231. package/generated/src/models/CreateOrderRequest.ts +74 -0
  232. package/generated/src/models/ErrorDetail.ts +65 -0
  233. package/generated/src/models/ErrorResponse.ts +81 -0
  234. package/generated/src/models/FetchBalance200Response.ts +96 -0
  235. package/generated/src/models/FetchMarkets200Response.ts +96 -0
  236. package/generated/src/models/FetchMarketsRequest.ts +73 -0
  237. package/generated/src/models/FetchOHLCV200Response.ts +96 -0
  238. package/generated/src/models/FetchOHLCVRequest.ts +74 -0
  239. package/generated/src/models/FetchOHLCVRequestArgsInner.ts +69 -0
  240. package/generated/src/models/FetchOpenOrders200Response.ts +96 -0
  241. package/generated/src/models/FetchOpenOrdersRequest.ts +65 -0
  242. package/generated/src/models/FetchOrderBook200Response.ts +96 -0
  243. package/generated/src/models/FetchOrderBookRequest.ts +66 -0
  244. package/generated/src/models/FetchPositions200Response.ts +96 -0
  245. package/generated/src/models/FetchPositionsRequest.ts +65 -0
  246. package/generated/src/models/FetchTrades200Response.ts +96 -0
  247. package/generated/src/models/FetchTradesRequest.ts +74 -0
  248. package/generated/src/models/GetMarketsBySlugRequest.ts +66 -0
  249. package/generated/src/models/HealthCheck200Response.ts +73 -0
  250. package/generated/src/models/HistoryFilterParams.ts +105 -0
  251. package/generated/src/models/MarketFilterParams.ts +111 -0
  252. package/generated/src/models/MarketOutcome.ts +81 -0
  253. package/generated/src/models/Order.ts +165 -0
  254. package/generated/src/models/OrderBook.ts +81 -0
  255. package/generated/src/models/OrderLevel.ts +73 -0
  256. package/generated/src/models/Position.ts +121 -0
  257. package/generated/src/models/PriceCandle.ts +105 -0
  258. package/generated/src/models/SearchMarketsRequest.ts +74 -0
  259. package/generated/src/models/SearchMarketsRequestArgsInner.ts +69 -0
  260. package/generated/src/models/Trade.ts +109 -0
  261. package/generated/src/models/UnifiedMarket.ts +113 -0
  262. package/generated/src/models/index.ts +38 -0
  263. package/generated/src/runtime.ts +432 -0
  264. package/generated/tsconfig.esm.json +7 -0
  265. package/generated/tsconfig.json +16 -0
  266. package/index.ts +40 -0
  267. package/package.json +39 -27
  268. package/pmxt/client.ts +628 -0
  269. package/pmxt/models.ts +292 -0
  270. package/pmxt/server-manager.ts +86 -0
  271. package/API_REFERENCE.md +0 -483
  272. package/LICENSE +0 -21
  273. package/dist/BaseExchange.d.ts +0 -74
  274. package/dist/BaseExchange.js +0 -72
  275. package/dist/exchanges/kalshi/auth.d.ts +0 -23
  276. package/dist/exchanges/kalshi/auth.js +0 -99
  277. package/dist/exchanges/kalshi/fetchMarkets.d.ts +0 -3
  278. package/dist/exchanges/kalshi/fetchMarkets.js +0 -110
  279. package/dist/exchanges/kalshi/fetchOHLCV.d.ts +0 -3
  280. package/dist/exchanges/kalshi/fetchOHLCV.js +0 -78
  281. package/dist/exchanges/kalshi/fetchOrderBook.d.ts +0 -2
  282. package/dist/exchanges/kalshi/fetchOrderBook.js +0 -32
  283. package/dist/exchanges/kalshi/fetchTrades.d.ts +0 -3
  284. package/dist/exchanges/kalshi/fetchTrades.js +0 -31
  285. package/dist/exchanges/kalshi/getMarketsBySlug.d.ts +0 -7
  286. package/dist/exchanges/kalshi/getMarketsBySlug.js +0 -62
  287. package/dist/exchanges/kalshi/index.d.ts +0 -21
  288. package/dist/exchanges/kalshi/index.js +0 -273
  289. package/dist/exchanges/kalshi/kalshi.test.d.ts +0 -1
  290. package/dist/exchanges/kalshi/kalshi.test.js +0 -309
  291. package/dist/exchanges/kalshi/searchMarkets.d.ts +0 -3
  292. package/dist/exchanges/kalshi/searchMarkets.js +0 -28
  293. package/dist/exchanges/kalshi/utils.d.ts +0 -5
  294. package/dist/exchanges/kalshi/utils.js +0 -85
  295. package/dist/exchanges/polymarket/auth.d.ts +0 -32
  296. package/dist/exchanges/polymarket/auth.js +0 -98
  297. package/dist/exchanges/polymarket/fetchMarkets.d.ts +0 -3
  298. package/dist/exchanges/polymarket/fetchMarkets.js +0 -75
  299. package/dist/exchanges/polymarket/fetchOHLCV.d.ts +0 -7
  300. package/dist/exchanges/polymarket/fetchOHLCV.js +0 -73
  301. package/dist/exchanges/polymarket/fetchOrderBook.d.ts +0 -6
  302. package/dist/exchanges/polymarket/fetchOrderBook.js +0 -38
  303. package/dist/exchanges/polymarket/fetchPositions.d.ts +0 -2
  304. package/dist/exchanges/polymarket/fetchPositions.js +0 -27
  305. package/dist/exchanges/polymarket/fetchTrades.d.ts +0 -11
  306. package/dist/exchanges/polymarket/fetchTrades.js +0 -59
  307. package/dist/exchanges/polymarket/getMarketsBySlug.d.ts +0 -7
  308. package/dist/exchanges/polymarket/getMarketsBySlug.js +0 -39
  309. package/dist/exchanges/polymarket/index.d.ts +0 -23
  310. package/dist/exchanges/polymarket/index.js +0 -216
  311. package/dist/exchanges/polymarket/searchMarkets.d.ts +0 -3
  312. package/dist/exchanges/polymarket/searchMarkets.js +0 -35
  313. package/dist/exchanges/polymarket/utils.d.ts +0 -7
  314. package/dist/exchanges/polymarket/utils.js +0 -95
  315. package/dist/types.d.ts +0 -85
  316. package/dist/types.js +0 -5
  317. package/readme.md +0 -133
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PolymarketExchange = void 0;
4
- const BaseExchange_1 = require("../../BaseExchange");
5
- const fetchMarkets_1 = require("./fetchMarkets");
6
- const searchMarkets_1 = require("./searchMarkets");
7
- const getMarketsBySlug_1 = require("./getMarketsBySlug");
8
- const fetchOHLCV_1 = require("./fetchOHLCV");
9
- const fetchOrderBook_1 = require("./fetchOrderBook");
10
- const fetchTrades_1 = require("./fetchTrades");
11
- const fetchPositions_1 = require("./fetchPositions");
12
- const auth_1 = require("./auth");
13
- const clob_client_1 = require("@polymarket/clob-client");
14
- class PolymarketExchange extends BaseExchange_1.PredictionMarketExchange {
15
- constructor(credentials) {
16
- super(credentials);
17
- // Initialize auth if credentials are provided
18
- if (credentials?.privateKey) {
19
- this.auth = new auth_1.PolymarketAuth(credentials);
20
- }
21
- }
22
- get name() {
23
- return 'Polymarket';
24
- }
25
- async fetchMarkets(params) {
26
- return (0, fetchMarkets_1.fetchMarkets)(params);
27
- }
28
- async searchMarkets(query, params) {
29
- return (0, searchMarkets_1.searchMarkets)(query, params);
30
- }
31
- async getMarketsBySlug(slug) {
32
- return (0, getMarketsBySlug_1.getMarketsBySlug)(slug);
33
- }
34
- async fetchOHLCV(id, params) {
35
- return (0, fetchOHLCV_1.fetchOHLCV)(id, params);
36
- }
37
- async fetchOrderBook(id) {
38
- return (0, fetchOrderBook_1.fetchOrderBook)(id);
39
- }
40
- async fetchTrades(id, params) {
41
- return (0, fetchTrades_1.fetchTrades)(id, params);
42
- }
43
- // ----------------------------------------------------------------------------
44
- // Trading Methods
45
- // ----------------------------------------------------------------------------
46
- /**
47
- * Ensure authentication is initialized before trading operations.
48
- */
49
- ensureAuth() {
50
- if (!this.auth) {
51
- throw new Error('Trading operations require authentication. ' +
52
- 'Initialize PolymarketExchange with credentials: new PolymarketExchange({ privateKey: "0x..." })');
53
- }
54
- return this.auth;
55
- }
56
- async createOrder(params) {
57
- const auth = this.ensureAuth();
58
- const client = await auth.getClobClient();
59
- // Map side to Polymarket enum
60
- const side = params.side.toUpperCase() === 'BUY' ? clob_client_1.Side.BUY : clob_client_1.Side.SELL;
61
- // For limit orders, price is required
62
- if (params.type === 'limit' && !params.price) {
63
- throw new Error('Price is required for limit orders');
64
- }
65
- // For market orders, use max slippage: 0.99 for BUY (willing to pay up to 99%), 0.01 for SELL (willing to accept down to 1%)
66
- const price = params.price || (side === clob_client_1.Side.BUY ? 0.99 : 0.01);
67
- try {
68
- // We use createAndPostOrder which handles signing and posting
69
- const response = await client.createAndPostOrder({
70
- tokenID: params.outcomeId,
71
- price: price,
72
- side: side,
73
- size: params.amount,
74
- feeRateBps: 0,
75
- }, {
76
- tickSize: "0.01"
77
- });
78
- if (!response || !response.success) {
79
- throw new Error(response?.errorMsg || 'Order placement failed');
80
- }
81
- return {
82
- id: response.orderID,
83
- marketId: params.marketId,
84
- outcomeId: params.outcomeId,
85
- side: params.side,
86
- type: params.type,
87
- price: price,
88
- amount: params.amount,
89
- status: 'open',
90
- filled: 0,
91
- remaining: params.amount,
92
- timestamp: Date.now()
93
- };
94
- }
95
- catch (error) {
96
- console.error("Polymarket createOrder error:", error);
97
- throw error;
98
- }
99
- }
100
- async cancelOrder(orderId) {
101
- const auth = this.ensureAuth();
102
- const client = await auth.getClobClient();
103
- try {
104
- await client.cancelOrder({ orderID: orderId });
105
- return {
106
- id: orderId,
107
- marketId: 'unknown',
108
- outcomeId: 'unknown',
109
- side: 'buy',
110
- type: 'limit',
111
- amount: 0,
112
- status: 'cancelled',
113
- filled: 0,
114
- remaining: 0,
115
- timestamp: Date.now()
116
- };
117
- }
118
- catch (error) {
119
- console.error("Polymarket cancelOrder error:", error);
120
- throw error;
121
- }
122
- }
123
- async fetchOrder(orderId) {
124
- const auth = this.ensureAuth();
125
- const client = await auth.getClobClient();
126
- try {
127
- const order = await client.getOrder(orderId);
128
- return {
129
- id: order.id,
130
- marketId: order.market || 'unknown',
131
- outcomeId: order.asset_id,
132
- side: order.side.toLowerCase(),
133
- type: order.order_type === 'GTC' ? 'limit' : 'market',
134
- price: parseFloat(order.price),
135
- amount: parseFloat(order.original_size),
136
- status: order.status, // Needs precise mapping
137
- filled: parseFloat(order.size_matched),
138
- remaining: parseFloat(order.original_size) - parseFloat(order.size_matched),
139
- timestamp: order.created_at * 1000
140
- };
141
- }
142
- catch (error) {
143
- console.error("Polymarket fetchOrder error:", error);
144
- throw error;
145
- }
146
- }
147
- async fetchOpenOrders(marketId) {
148
- const auth = this.ensureAuth();
149
- const client = await auth.getClobClient();
150
- try {
151
- const orders = await client.getOpenOrders({
152
- market: marketId
153
- });
154
- return orders.map((o) => ({
155
- id: o.id,
156
- marketId: o.market || 'unknown',
157
- outcomeId: o.asset_id,
158
- side: o.side.toLowerCase(),
159
- type: 'limit',
160
- price: parseFloat(o.price),
161
- amount: parseFloat(o.original_size),
162
- status: 'open',
163
- filled: parseFloat(o.size_matched),
164
- remaining: parseFloat(o.size_left || (parseFloat(o.original_size) - parseFloat(o.size_matched))),
165
- timestamp: o.created_at * 1000
166
- }));
167
- }
168
- catch (error) {
169
- console.error("Polymarket fetchOpenOrders error:", error);
170
- return [];
171
- }
172
- }
173
- async fetchPositions() {
174
- const auth = this.ensureAuth();
175
- const address = auth.getAddress();
176
- return (0, fetchPositions_1.fetchPositions)(address);
177
- }
178
- async fetchBalance() {
179
- const auth = this.ensureAuth();
180
- const client = await auth.getClobClient();
181
- try {
182
- // 1. Fetch raw collateral balance (USDC)
183
- // Polymarket relies strictly on USDC (Polygon) which has 6 decimals.
184
- const USDC_DECIMALS = 6;
185
- const balRes = await client.getBalanceAllowance({
186
- asset_type: clob_client_1.AssetType.COLLATERAL
187
- });
188
- const rawBalance = parseFloat(balRes.balance);
189
- const total = rawBalance / Math.pow(10, USDC_DECIMALS);
190
- // 2. Fetch open orders to calculate locked funds
191
- // We only care about BUY orders for USDC balance locking
192
- const openOrders = await client.getOpenOrders({});
193
- let locked = 0;
194
- if (openOrders && Array.isArray(openOrders)) {
195
- for (const order of openOrders) {
196
- if (order.side === clob_client_1.Side.BUY) {
197
- const remainingSize = parseFloat(order.original_size) - parseFloat(order.size_matched);
198
- const price = parseFloat(order.price);
199
- locked += remainingSize * price;
200
- }
201
- }
202
- }
203
- return [{
204
- currency: 'USDC',
205
- total: total,
206
- available: total - locked, // Available for new trades
207
- locked: locked
208
- }];
209
- }
210
- catch (error) {
211
- console.error("Polymarket fetchBalance error:", error);
212
- throw error;
213
- }
214
- }
215
- }
216
- exports.PolymarketExchange = PolymarketExchange;
@@ -1,3 +0,0 @@
1
- import { MarketFilterParams } from '../../BaseExchange';
2
- import { UnifiedMarket } from '../../types';
3
- export declare function searchMarkets(query: string, params?: MarketFilterParams): Promise<UnifiedMarket[]>;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.searchMarkets = searchMarkets;
4
- const fetchMarkets_1 = require("./fetchMarkets");
5
- async function searchMarkets(query, params) {
6
- // Polymarket Gamma API doesn't support native search
7
- // Fetch all active markets and filter client-side
8
- const searchLimit = 100000; // Fetch all markets for comprehensive search
9
- try {
10
- // Fetch markets with a higher limit
11
- const markets = await (0, fetchMarkets_1.fetchMarkets)({
12
- ...params,
13
- limit: searchLimit
14
- });
15
- // Client-side text filtering
16
- const lowerQuery = query.toLowerCase();
17
- const searchIn = params?.searchIn || 'title'; // Default to title-only search
18
- const filtered = markets.filter(market => {
19
- const titleMatch = (market.title || '').toLowerCase().includes(lowerQuery);
20
- const descMatch = (market.description || '').toLowerCase().includes(lowerQuery);
21
- if (searchIn === 'title')
22
- return titleMatch;
23
- if (searchIn === 'description')
24
- return descMatch;
25
- return titleMatch || descMatch; // 'both'
26
- });
27
- // Apply limit to filtered results
28
- const limit = params?.limit || 20;
29
- return filtered.slice(0, limit);
30
- }
31
- catch (error) {
32
- console.error("Error searching Polymarket data:", error);
33
- return [];
34
- }
35
- }
@@ -1,7 +0,0 @@
1
- import { UnifiedMarket, CandleInterval } from '../../types';
2
- export declare const GAMMA_API_URL = "https://gamma-api.polymarket.com/events";
3
- export declare const CLOB_API_URL = "https://clob.polymarket.com";
4
- export declare function mapMarketToUnified(event: any, market: any, options?: {
5
- useQuestionAsCandidateFallback?: boolean;
6
- }): UnifiedMarket | null;
7
- export declare function mapIntervalToFidelity(interval: CandleInterval): number;
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLOB_API_URL = exports.GAMMA_API_URL = void 0;
4
- exports.mapMarketToUnified = mapMarketToUnified;
5
- exports.mapIntervalToFidelity = mapIntervalToFidelity;
6
- exports.GAMMA_API_URL = 'https://gamma-api.polymarket.com/events';
7
- exports.CLOB_API_URL = 'https://clob.polymarket.com';
8
- function mapMarketToUnified(event, market, options = {}) {
9
- if (!market)
10
- return null;
11
- const outcomes = [];
12
- // Polymarket Gamma often returns 'outcomes' and 'outcomePrices' as stringified JSON keys.
13
- let outcomeLabels = [];
14
- let outcomePrices = [];
15
- try {
16
- outcomeLabels = typeof market.outcomes === 'string' ? JSON.parse(market.outcomes) : (market.outcomes || []);
17
- outcomePrices = typeof market.outcomePrices === 'string' ? JSON.parse(market.outcomePrices) : (market.outcomePrices || []);
18
- }
19
- catch (e) {
20
- console.warn(`Error parsing outcomes for market ${market.id}:`, e);
21
- }
22
- // Extract CLOB token IDs for granular operations
23
- let clobTokenIds = [];
24
- try {
25
- clobTokenIds = typeof market.clobTokenIds === 'string' ? JSON.parse(market.clobTokenIds) : (market.clobTokenIds || []);
26
- }
27
- catch (e) {
28
- // console.warn(`Error parsing clobTokenIds for market ${market.id}`, e);
29
- }
30
- // Extract candidate/option name from market question for better outcome labels
31
- let candidateName = null;
32
- if (market.groupItemTitle) {
33
- candidateName = market.groupItemTitle;
34
- }
35
- else if (market.question && options.useQuestionAsCandidateFallback) {
36
- // Fallback or sometimes question is the candidate name in nested structures
37
- // Only used if explicitly requested (e.g. for getMarketsBySlug)
38
- candidateName = market.question;
39
- }
40
- if (outcomeLabels.length > 0) {
41
- outcomeLabels.forEach((label, index) => {
42
- const rawPrice = outcomePrices[index] || "0";
43
- // For Yes/No markets with specific candidates, use the candidate name
44
- let outcomeLabel = label;
45
- if (candidateName && label.toLowerCase() === 'yes') {
46
- outcomeLabel = candidateName;
47
- }
48
- else if (candidateName && label.toLowerCase() === 'no') {
49
- outcomeLabel = `Not ${candidateName}`;
50
- }
51
- // 24h Price Change
52
- // Polymarket API provides 'oneDayPriceChange' on the market object
53
- let priceChange = 0;
54
- if (index === 0 || label.toLowerCase() === 'yes' || (candidateName && label === candidateName)) {
55
- priceChange = Number(market.oneDayPriceChange || 0);
56
- }
57
- outcomes.push({
58
- id: clobTokenIds[index] || String(index), // Use CLOB Token ID as the primary ID
59
- label: outcomeLabel,
60
- price: parseFloat(rawPrice) || 0,
61
- priceChange24h: priceChange,
62
- metadata: {
63
- // clobTokenId is now the main ID, but keeping it in metadata for backward compat if needed
64
- clobTokenId: clobTokenIds[index]
65
- }
66
- });
67
- });
68
- }
69
- return {
70
- id: market.id,
71
- title: market.question ? `${event.title} - ${market.question}` : event.title,
72
- description: market.description || event.description,
73
- outcomes: outcomes,
74
- resolutionDate: market.endDate ? new Date(market.endDate) : (market.end_date_iso ? new Date(market.end_date_iso) : new Date()),
75
- volume24h: Number(market.volume24hr || market.volume_24h || 0),
76
- volume: Number(market.volume || 0),
77
- liquidity: Number(market.liquidity || market.rewards?.liquidity || 0),
78
- openInterest: Number(market.openInterest || market.open_interest || 0),
79
- url: `https://polymarket.com/event/${event.slug}`,
80
- image: event.image || market.image || `https://polymarket.com/api/og?slug=${event.slug}`,
81
- category: event.category || event.tags?.[0]?.label,
82
- tags: event.tags?.map((t) => t.label) || []
83
- };
84
- }
85
- function mapIntervalToFidelity(interval) {
86
- const mapping = {
87
- '1m': 1,
88
- '5m': 5,
89
- '15m': 15,
90
- '1h': 60,
91
- '6h': 360,
92
- '1d': 1440
93
- };
94
- return mapping[interval];
95
- }
package/dist/types.d.ts DELETED
@@ -1,85 +0,0 @@
1
- export interface MarketOutcome {
2
- id: string;
3
- label: string;
4
- price: number;
5
- priceChange24h?: number;
6
- metadata?: Record<string, any>;
7
- }
8
- export interface UnifiedMarket {
9
- id: string;
10
- title: string;
11
- description: string;
12
- outcomes: MarketOutcome[];
13
- resolutionDate: Date;
14
- volume24h: number;
15
- volume?: number;
16
- liquidity: number;
17
- openInterest?: number;
18
- url: string;
19
- image?: string;
20
- category?: string;
21
- tags?: string[];
22
- }
23
- export type CandleInterval = '1m' | '5m' | '15m' | '1h' | '6h' | '1d';
24
- export interface PriceCandle {
25
- timestamp: number;
26
- open: number;
27
- high: number;
28
- low: number;
29
- close: number;
30
- volume?: number;
31
- }
32
- export interface OrderLevel {
33
- price: number;
34
- size: number;
35
- }
36
- export interface OrderBook {
37
- bids: OrderLevel[];
38
- asks: OrderLevel[];
39
- timestamp?: number;
40
- }
41
- export interface Trade {
42
- id: string;
43
- timestamp: number;
44
- price: number;
45
- amount: number;
46
- side: 'buy' | 'sell' | 'unknown';
47
- }
48
- export interface Order {
49
- id: string;
50
- marketId: string;
51
- outcomeId: string;
52
- side: 'buy' | 'sell';
53
- type: 'market' | 'limit';
54
- price?: number;
55
- amount: number;
56
- status: 'pending' | 'open' | 'filled' | 'cancelled' | 'rejected';
57
- filled: number;
58
- remaining: number;
59
- timestamp: number;
60
- fee?: number;
61
- }
62
- export interface Position {
63
- marketId: string;
64
- outcomeId: string;
65
- outcomeLabel: string;
66
- size: number;
67
- entryPrice: number;
68
- currentPrice: number;
69
- unrealizedPnL: number;
70
- realizedPnL?: number;
71
- }
72
- export interface Balance {
73
- currency: string;
74
- total: number;
75
- available: number;
76
- locked: number;
77
- }
78
- export interface CreateOrderParams {
79
- marketId: string;
80
- outcomeId: string;
81
- side: 'buy' | 'sell';
82
- type: 'market' | 'limit';
83
- amount: number;
84
- price?: number;
85
- }
package/dist/types.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- // ----------------------------------------------------------------------------
3
- // Core Data Models
4
- // ----------------------------------------------------------------------------
5
- Object.defineProperty(exports, "__esModule", { value: true });
package/readme.md DELETED
@@ -1,133 +0,0 @@
1
- # pmxt [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=The%20ccxt%20for%20prediction%20markets.&url=https://github.com/qoery-com/pmxt&hashtags=predictionmarkets,trading)
2
-
3
- **The ccxt for prediction markets.** A unified API for accessing prediction market data across multiple exchanges.
4
-
5
- <img width="3840" height="2160" alt="plot" src="https://github.com/user-attachments/assets/ed77d244-c95f-4fe0-a7a7-89af713c053f" />
6
-
7
- <div align="center">
8
- <table>
9
- <tr>
10
- <td rowspan="3">
11
- <a href="https://www.producthunt.com/products/ccxt-for-prediction-markets?embed=true&amp;utm_source=badge-featured&amp;utm_medium=badge&amp;utm_campaign=badge-ccxt-for-prediction-markets" target="_blank" rel="noopener noreferrer"><img alt="CCXT for Prediction Markets - A unified API for prediction market data across exchanges. | Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1060549&amp;theme=light&amp;t=1768206672608"></a>
12
- </td>
13
- <td>
14
- <img src="https://img.shields.io/github/watchers/qoery-com/pmxt?style=social" alt="GitHub watchers">
15
- </td>
16
- <td>
17
- <a href="https://www.npmjs.com/package/pmxtjs"><img src="https://img.shields.io/npm/dt/pmxtjs" alt="Downloads"></a>
18
- </td>
19
- </tr>
20
- <tr>
21
- <td>
22
- <img src="https://img.shields.io/github/forks/qoery-com/pmxt?style=social" alt="GitHub forks">
23
- </td>
24
- <td>
25
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
26
- </td>
27
- </tr>
28
- <tr>
29
- <td>
30
- <a href="https://github.com/qoery-com/pmxt/stargazers"><img src="https://img.shields.io/github/stars/qoery-com/pmxt?refresh=1" alt="GitHub stars"></a>
31
- </td>
32
- <td>
33
- <a href="https://www.npmjs.com/package/pmxtjs">
34
- <img src="https://img.shields.io/npm/v/pmxtjs.svg" alt="npm version">
35
- </a>
36
- </td>
37
- </tr>
38
- </table>
39
- </div>
40
-
41
- <p align="center">
42
- <img src="https://polymarket.com/favicon.ico" alt="Polymarket" width="40" height="40">
43
- &nbsp;&nbsp;&nbsp;&nbsp;
44
- <img src="https://kalshi.com/favicon.ico" alt="Kalshi" width="40" height="40">
45
- &nbsp;&nbsp;&nbsp;&nbsp;
46
- <img src="https://manifold.markets/logo.svg" alt="Manifold Markets" width="40" height="40">
47
- &nbsp;&nbsp;&nbsp;&nbsp;
48
- <img src="https://metaculus.com/favicon.ico" alt="Metaculus" width="40" height="40">
49
- &nbsp;&nbsp;&nbsp;&nbsp;
50
- <img src="https://predictit.org/favicon.ico" alt="PredictIt" width="40" height="40">
51
- </p>
52
-
53
- ## Why pmxt?
54
-
55
- Different prediction market platforms have different APIs, data formats, and conventions. pmxt provides a single, consistent interface to work with all of them.
56
-
57
- ## Quick Example
58
-
59
- Get the current price for any market in seconds:
60
-
61
- ```typescript
62
- import pmxt from 'pmxtjs';
63
-
64
- async function main() {
65
- const poly = new pmxt.polymarket();
66
- const [market] = await poly.searchMarkets('Trump');
67
-
68
- console.log(`${market.title} - ${market.outcomes[0].label}: ${marketoutcomes[0].price * 100}%`);
69
- }
70
-
71
- main();
72
- ```
73
-
74
- ## Installation
75
-
76
- ```bash
77
- npm install pmxtjs
78
- ```
79
-
80
- ## Supported Exchanges
81
-
82
- - Polymarket
83
- - Kalshi
84
-
85
- ## Trading
86
- pmxt supports trading functionality (placing and cancelling orders).
87
-
88
- ### Setup
89
- To trade, you must provide your private credentials.
90
-
91
- - **Polymarket**: Requires your Polygon Private Key. [View Setup Guide](docs/SETUP_POLYMARKET.md)
92
- - **Kalshi**: Requires API Key & Private Key.
93
-
94
- ### Trading Example
95
-
96
- ```typescript
97
- import pmxt from 'pmxtjs';
98
-
99
- const exchange = new pmxt.Polymarket({
100
- privateKey: process.env.POLYMARKET_PRIVATE_KEY
101
- });
102
-
103
- // Check Balance
104
- const balance = await exchange.fetchBalance();
105
- console.log('Balance:', balance);
106
-
107
- // Place an Order
108
- const order = await exchange.createOrder({
109
- marketId: 'market-123',
110
- outcomeId: 'token-id-456',
111
- side: 'buy',
112
- type: 'limit',
113
- price: 0.50,
114
- amount: 100
115
- });
116
- console.log('Order:', order);
117
- ```
118
-
119
- ## Documentation
120
-
121
- See the [API Reference](API_REFERENCE.md) for detailed documentation and more examples.
122
-
123
- ## Examples
124
-
125
- Check out the [examples](examples/) directory for more use cases:
126
- - Market search
127
- - Order book data
128
- - Historical prices
129
- - Event price tracking
130
- - Recent trades
131
-
132
-
133
- [![Stargazers repo roster for @qoery-com/pmxt](https://reporoster.com/stars/qoery-com/pmxt)](https://github.com/qoery-com/pmxt/stargazers)