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
package/API_REFERENCE.md DELETED
@@ -1,483 +0,0 @@
1
- # Prediction Market API Reference
2
-
3
- A unified interface for interacting with multiple prediction market exchanges (Kalshi, Polymarket) identically.
4
-
5
- ## Installation & Usage
6
-
7
- ```bash
8
- npm install pmxtjs
9
- ```
10
-
11
- ```typescript
12
- import pmxt from 'pmxtjs';
13
-
14
- const polymarket = new pmxt.polymarket();
15
- const kalshi = new pmxt.kalshi();
16
- ```
17
-
18
- ---
19
-
20
- ## Core Methods
21
-
22
- ### `fetchMarkets(params?)`
23
- Get active markets from an exchange.
24
-
25
- ```typescript
26
- const markets = await polymarket.fetchMarkets({
27
- limit: 20,
28
- offset: 0,
29
- sort: 'volume' // 'volume' | 'liquidity' | 'newest'
30
- });
31
- ```
32
-
33
- ### `searchMarkets(query, params?)`
34
- Search markets by keyword. By default, searches only in titles.
35
-
36
- ```typescript
37
- const results = await kalshi.searchMarkets('Fed rates', {
38
- limit: 10,
39
- searchIn: 'title' // 'title' (default) | 'description' | 'both'
40
- });
41
- ```
42
-
43
- ### `getMarketsBySlug(slug)`
44
- Fetch markets by URL slug/ticker.
45
-
46
- ```typescript
47
- // Polymarket: use URL slug
48
- const polyMarkets = await polymarket.getMarketsBySlug('who-will-trump-nominate-as-fed-chair');
49
-
50
- // Kalshi: use event ticker (auto-uppercased)
51
- const kalshiMarkets = await kalshi.getMarketsBySlug('FED-25JAN');
52
- ```
53
-
54
- ---
55
-
56
- ## Deep-Dive Methods
57
-
58
- ### `fetchOHLCV(outcomeId, params)`
59
- Get historical price candles.
60
-
61
- **CRITICAL**: Use `outcome.id`, not `market.id`.
62
- - **Polymarket**: `outcome.id` is the CLOB Token ID
63
- - **Kalshi**: `outcome.id` is the Market Ticker
64
-
65
- ```typescript
66
- const markets = await polymarket.searchMarkets('Trump');
67
- const outcomeId = markets[0].outcomes[0].id; // Get the outcome ID
68
-
69
- const candles = await polymarket.fetchOHLCV(outcomeId, {
70
- resolution: '1h', // '1m' | '5m' | '15m' | '1h' | '6h' | '1d'
71
- start: new Date('2024-01-01'),
72
- end: new Date('2024-01-31'),
73
- limit: 100
74
- });
75
- ```
76
-
77
- ### `fetchOrderBook(outcomeId)`
78
- Get current bids/asks.
79
-
80
- ```typescript
81
- const orderBook = await kalshi.fetchOrderBook('FED-25JAN');
82
- console.log('Best bid:', orderBook.bids[0].price);
83
- console.log('Best ask:', orderBook.asks[0].price);
84
- ```
85
-
86
- ### `fetchTrades(outcomeId, params)`
87
- Get trade history.
88
-
89
- **Note**: Polymarket requires API key. Use `fetchOHLCV` for public historical data.
90
-
91
- ```typescript
92
- const trades = await kalshi.fetchTrades('FED-25JAN', {
93
- resolution: '1h',
94
- limit: 100
95
- });
96
- ```
97
-
98
- ---
99
-
100
- ## Data Models
101
-
102
- ### `UnifiedMarket`
103
- ```typescript
104
- {
105
- id: string; // Market ID
106
- title: string;
107
- description: string;
108
- outcomes: MarketOutcome[]; // All tradeable outcomes
109
-
110
- resolutionDate: Date;
111
- volume24h: number; // USD
112
- volume?: number; // Total volume (USD)
113
- liquidity: number; // USD
114
- openInterest?: number; // USD
115
-
116
- url: string;
117
- image?: string;
118
- category?: string;
119
- tags?: string[];
120
- }
121
- ```
122
-
123
- ### `MarketOutcome`
124
- ```typescript
125
- {
126
- id: string; // Use this for fetchOHLCV/fetchOrderBook/fetchTrades
127
- // Polymarket: CLOB Token ID
128
- // Kalshi: Market Ticker
129
- label: string; // "Trump", "Yes", etc.
130
- price: number; // 0.0 to 1.0 (probability)
131
- priceChange24h?: number;
132
- metadata?: {
133
- clobTokenId?: string; // Polymarket only
134
- }
135
- }
136
- ```
137
-
138
- ### Other Types
139
- ```typescript
140
- interface PriceCandle {
141
- timestamp: number; // Unix ms
142
- open: number; // 0.0 to 1.0
143
- high: number;
144
- low: number;
145
- close: number;
146
- volume?: number;
147
- }
148
-
149
- interface OrderBook {
150
- bids: OrderLevel[]; // Sorted high to low
151
- asks: OrderLevel[]; // Sorted low to high
152
- timestamp?: number;
153
- }
154
-
155
- interface OrderLevel {
156
- price: number; // 0.0 to 1.0
157
- size: number; // Contracts
158
- }
159
-
160
- interface Trade {
161
- id: string;
162
- timestamp: number; // Unix ms
163
- price: number; // 0.0 to 1.0
164
- amount: number;
165
- side: 'buy' | 'sell' | 'unknown';
166
- }
167
- ```
168
-
169
- ---
170
-
171
- ## Complete Workflow Example
172
-
173
- ```typescript
174
- // 1. Search for markets
175
- const markets = await polymarket.searchMarkets('Fed Chair');
176
- const market = markets[0];
177
-
178
- // 2. Get outcome details
179
- const outcome = market.outcomes[0];
180
- console.log(`${outcome.label}: ${(outcome.price * 100).toFixed(1)}%`);
181
-
182
- // 3. Fetch historical data (use outcome.id!)
183
- const candles = await polymarket.fetchOHLCV(outcome.id, {
184
- resolution: '1d',
185
- limit: 30
186
- });
187
-
188
- // 4. Get current order book
189
- const orderBook = await polymarket.fetchOrderBook(outcome.id);
190
- const spread = orderBook.asks[0].price - orderBook.bids[0].price;
191
- console.log(`Spread: ${(spread * 100).toFixed(2)}%`);
192
- ```
193
-
194
- ---
195
-
196
- ## Exchange Differences
197
-
198
- | Feature | Polymarket | Kalshi |
199
- |---------|-----------|--------|
200
- | **Sorting** | Server-side | Client-side (slower for large sets) |
201
- | **Market ID** | UUID | Event Ticker (e.g., "PRES-2024") |
202
- | **Outcome ID** | CLOB Token ID | Market Ticker (e.g., "FED-25JAN") |
203
- | **OHLCV Quality** | Synthetic (O=H=L=C) | Native (distinct values) |
204
- | **Auth Required** | Only for `fetchTrades()` | No (all public) |
205
- | **Slug Format** | lowercase-with-hyphens | UPPERCASE (auto-normalized) |
206
-
207
- ---
208
-
209
- ## Error Handling
210
-
211
- ```typescript
212
- try {
213
- const markets = await kalshi.getMarketsBySlug('INVALID-TICKER');
214
- } catch (error) {
215
- // Kalshi: "Event not found: INVALID-TICKER"
216
- // Polymarket: Returns empty array []
217
- console.error(error.message);
218
- }
219
- ```
220
-
221
- **Common Errors**:
222
- - `404`: Market/event doesn't exist
223
- - `401`: Missing API key (Polymarket `fetchTrades`)
224
- - `429`: Rate limited
225
- - `500`: Exchange API issue
226
-
227
- ---
228
-
229
- ## Type Exports
230
-
231
- ```typescript
232
- import pmxt, {
233
- UnifiedMarket,
234
- MarketOutcome,
235
- PriceCandle,
236
- OrderBook,
237
- Trade,
238
- CandleInterval,
239
- MarketFilterParams,
240
- HistoryFilterParams
241
- } from 'pmxtjs';
242
- ```
243
-
244
- ---
245
-
246
- ## Authentication & Trading
247
-
248
- Both Polymarket and Kalshi support authenticated trading operations. You must provide credentials when initializing the exchange.
249
-
250
- ### Polymarket Authentication
251
-
252
- Requires your **Polygon Private Key**. See [Setup Guide](https://github.com/qoery-com/pmxt/blob/main/docs/SETUP_POLYMARKET.md) for details.
253
-
254
- ```typescript
255
- import pmxt from 'pmxtjs';
256
-
257
- const polymarket = new pmxt.Polymarket({
258
- privateKey: process.env.POLYMARKET_PRIVATE_KEY
259
- });
260
- ```
261
-
262
- ### Kalshi Authentication
263
-
264
- Requires **API Key** and **Private Key**.
265
-
266
- ```typescript
267
- import pmxt from 'pmxtjs';
268
-
269
- const kalshi = new pmxt.Kalshi({
270
- apiKey: process.env.KALSHI_API_KEY,
271
- privateKey: process.env.KALSHI_PRIVATE_KEY
272
- });
273
- ```
274
-
275
- ---
276
-
277
- ## Account Methods
278
-
279
- ### `fetchBalance()`
280
- Get your account balance.
281
-
282
- ```typescript
283
- const balances = await polymarket.fetchBalance();
284
- console.log(balances);
285
- // [{ currency: 'USDC', total: 1000, available: 950, locked: 50 }]
286
- ```
287
-
288
- **Returns**: `Balance[]`
289
- ```typescript
290
- interface Balance {
291
- currency: string; // e.g., 'USDC'
292
- total: number; // Total balance
293
- available: number; // Available for trading
294
- locked: number; // Locked in open orders
295
- }
296
- ```
297
-
298
- ### `fetchPositions()`
299
- Get your current positions across all markets.
300
-
301
- ```typescript
302
- const positions = await kalshi.fetchPositions();
303
- positions.forEach(pos => {
304
- console.log(`${pos.outcomeLabel}: ${pos.size} @ $${pos.entryPrice}`);
305
- console.log(`Unrealized P&L: $${pos.unrealizedPnL}`);
306
- });
307
- ```
308
-
309
- **Returns**: `Position[]`
310
- ```typescript
311
- interface Position {
312
- marketId: string;
313
- outcomeId: string;
314
- outcomeLabel: string;
315
- size: number; // Positive for long, negative for short
316
- entryPrice: number;
317
- currentPrice: number;
318
- unrealizedPnL: number;
319
- realizedPnL?: number;
320
- }
321
- ```
322
-
323
- ---
324
-
325
- ## Trading Methods
326
-
327
- ### `createOrder(params)`
328
- Place a new order (market or limit).
329
-
330
- **Limit Order Example**:
331
- ```typescript
332
- const order = await polymarket.createOrder({
333
- marketId: '663583',
334
- outcomeId: '10991849228756847439673778874175365458450913336396982752046655649803657501964',
335
- side: 'buy',
336
- type: 'limit',
337
- amount: 10, // Number of contracts
338
- price: 0.55 // Required for limit orders (0.0-1.0)
339
- });
340
-
341
- console.log(`Order ${order.id}: ${order.status}`);
342
- ```
343
-
344
- **Market Order Example**:
345
- ```typescript
346
- const order = await kalshi.createOrder({
347
- marketId: 'FED-25JAN',
348
- outcomeId: 'FED-25JAN-YES',
349
- side: 'sell',
350
- type: 'market',
351
- amount: 5 // Price not needed for market orders
352
- });
353
- ```
354
-
355
- **Parameters**: `CreateOrderParams`
356
- ```typescript
357
- interface CreateOrderParams {
358
- marketId: string;
359
- outcomeId: string; // Use outcome.id from market data
360
- side: 'buy' | 'sell';
361
- type: 'market' | 'limit';
362
- amount: number; // Number of contracts/shares
363
- price?: number; // Required for limit orders (0.0-1.0)
364
- }
365
- ```
366
-
367
- **Returns**: `Order`
368
- ```typescript
369
- interface Order {
370
- id: string;
371
- marketId: string;
372
- outcomeId: string;
373
- side: 'buy' | 'sell';
374
- type: 'market' | 'limit';
375
- price?: number;
376
- amount: number;
377
- status: 'pending' | 'open' | 'filled' | 'cancelled' | 'rejected';
378
- filled: number; // Amount filled so far
379
- remaining: number; // Amount remaining
380
- timestamp: number;
381
- fee?: number;
382
- }
383
- ```
384
-
385
- ### `cancelOrder(orderId)`
386
- Cancel an open order.
387
-
388
- ```typescript
389
- const cancelledOrder = await polymarket.cancelOrder('order-123');
390
- console.log(cancelledOrder.status); // 'cancelled'
391
- ```
392
-
393
- **Returns**: `Order` (with updated status)
394
-
395
- ### `fetchOrder(orderId)`
396
- Get details of a specific order.
397
-
398
- ```typescript
399
- const order = await kalshi.fetchOrder('order-456');
400
- console.log(`Filled: ${order.filled}/${order.amount}`);
401
- ```
402
-
403
- **Returns**: `Order`
404
-
405
- ### `fetchOpenOrders(marketId?)`
406
- Get all open orders, optionally filtered by market.
407
-
408
- ```typescript
409
- // All open orders
410
- const allOrders = await polymarket.fetchOpenOrders();
411
-
412
- // Open orders for specific market
413
- const marketOrders = await kalshi.fetchOpenOrders('FED-25JAN');
414
-
415
- allOrders.forEach(order => {
416
- console.log(`${order.side} ${order.amount} @ ${order.price}`);
417
- });
418
- ```
419
-
420
- **Returns**: `Order[]`
421
-
422
- ---
423
-
424
- ## Complete Trading Workflow
425
-
426
- ```typescript
427
- import pmxt from 'pmxtjs';
428
-
429
- const exchange = new pmxt.Polymarket({
430
- privateKey: process.env.POLYMARKET_PRIVATE_KEY
431
- });
432
-
433
- // 1. Check balance
434
- const [balance] = await exchange.fetchBalance();
435
- console.log(`Available: $${balance.available}`);
436
-
437
- // 2. Search for a market
438
- const markets = await exchange.searchMarkets('Trump');
439
- const market = markets[0];
440
- const outcome = market.outcomes[0];
441
-
442
- // 3. Place a limit order
443
- const order = await exchange.createOrder({
444
- marketId: market.id,
445
- outcomeId: outcome.id,
446
- side: 'buy',
447
- type: 'limit',
448
- amount: 10,
449
- price: 0.50
450
- });
451
-
452
- console.log(`Order placed: ${order.id}`);
453
-
454
- // 4. Check order status
455
- const updatedOrder = await exchange.fetchOrder(order.id);
456
- console.log(`Status: ${updatedOrder.status}`);
457
- console.log(`Filled: ${updatedOrder.filled}/${updatedOrder.amount}`);
458
-
459
- // 5. Cancel if needed
460
- if (updatedOrder.status === 'open') {
461
- await exchange.cancelOrder(order.id);
462
- console.log('Order cancelled');
463
- }
464
-
465
- // 6. Check positions
466
- const positions = await exchange.fetchPositions();
467
- positions.forEach(pos => {
468
- console.log(`${pos.outcomeLabel}: ${pos.unrealizedPnL > 0 ? '+' : ''}$${pos.unrealizedPnL.toFixed(2)}`);
469
- });
470
- ```
471
-
472
- ---
473
-
474
- ## Quick Reference
475
-
476
- - **Prices**: Always 0.0-1.0 (multiply by 100 for %)
477
- - **Timestamps**: Unix milliseconds
478
- - **Volumes**: USD
479
- - **IDs**: Use `outcome.id` for deep-dive methods, not `market.id`
480
- - **Authentication**: Required for all trading and account methods
481
-
482
- For more examples, see [`examples/`](examples/).
483
-
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 qoery.com
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,74 +0,0 @@
1
- import { UnifiedMarket, PriceCandle, CandleInterval, OrderBook, Trade, Order, Position, Balance, CreateOrderParams } from './types';
2
- export interface MarketFilterParams {
3
- limit?: number;
4
- offset?: number;
5
- sort?: 'volume' | 'liquidity' | 'newest';
6
- searchIn?: 'title' | 'description' | 'both';
7
- }
8
- export interface HistoryFilterParams {
9
- resolution: CandleInterval;
10
- start?: Date;
11
- end?: Date;
12
- limit?: number;
13
- }
14
- export interface ExchangeCredentials {
15
- apiKey?: string;
16
- apiSecret?: string;
17
- passphrase?: string;
18
- privateKey?: string;
19
- signatureType?: number;
20
- funderAddress?: string;
21
- }
22
- export declare abstract class PredictionMarketExchange {
23
- protected credentials?: ExchangeCredentials;
24
- constructor(credentials?: ExchangeCredentials);
25
- abstract get name(): string;
26
- /**
27
- * Fetch all relevant markets from the source.
28
- */
29
- abstract fetchMarkets(params?: MarketFilterParams): Promise<UnifiedMarket[]>;
30
- /**
31
- * Search for markets matching a keyword query.
32
- * By default, searches only in market titles. Use params.searchIn to search descriptions or both.
33
- */
34
- abstract searchMarkets(query: string, params?: MarketFilterParams): Promise<UnifiedMarket[]>;
35
- /**
36
- * Fetch historical price data for a specific market outcome.
37
- * @param id - The Outcome ID (MarketOutcome.id). This should be the ID of the specific tradeable asset.
38
- */
39
- fetchOHLCV(id: string, params: HistoryFilterParams): Promise<PriceCandle[]>;
40
- /**
41
- * Fetch the current order book (bids/asks) for a specific outcome.
42
- * Essential for calculating localized spread and depth.
43
- */
44
- fetchOrderBook(id: string): Promise<OrderBook>;
45
- /**
46
- * Fetch raw trade history.
47
- */
48
- fetchTrades(id: string, params: HistoryFilterParams): Promise<Trade[]>;
49
- /**
50
- * Place a new order.
51
- */
52
- createOrder(params: CreateOrderParams): Promise<Order>;
53
- /**
54
- * Cancel an existing order.
55
- */
56
- cancelOrder(orderId: string): Promise<Order>;
57
- /**
58
- * Fetch a specific order by ID.
59
- */
60
- fetchOrder(orderId: string): Promise<Order>;
61
- /**
62
- * Fetch all open orders.
63
- * @param marketId - Optional filter by market.
64
- */
65
- fetchOpenOrders(marketId?: string): Promise<Order[]>;
66
- /**
67
- * Fetch current user positions.
68
- */
69
- fetchPositions(): Promise<Position[]>;
70
- /**
71
- * Fetch account balances.
72
- */
73
- fetchBalance(): Promise<Balance[]>;
74
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PredictionMarketExchange = void 0;
4
- // ----------------------------------------------------------------------------
5
- // Base Exchange Class
6
- // ----------------------------------------------------------------------------
7
- class PredictionMarketExchange {
8
- constructor(credentials) {
9
- this.credentials = credentials;
10
- }
11
- /**
12
- * Fetch historical price data for a specific market outcome.
13
- * @param id - The Outcome ID (MarketOutcome.id). This should be the ID of the specific tradeable asset.
14
- */
15
- async fetchOHLCV(id, params) {
16
- throw new Error("Method fetchOHLCV not implemented.");
17
- }
18
- /**
19
- * Fetch the current order book (bids/asks) for a specific outcome.
20
- * Essential for calculating localized spread and depth.
21
- */
22
- async fetchOrderBook(id) {
23
- throw new Error("Method fetchOrderBook not implemented.");
24
- }
25
- /**
26
- * Fetch raw trade history.
27
- */
28
- async fetchTrades(id, params) {
29
- throw new Error("Method fetchTrades not implemented.");
30
- }
31
- // ----------------------------------------------------------------------------
32
- // Trading Methods
33
- // ----------------------------------------------------------------------------
34
- /**
35
- * Place a new order.
36
- */
37
- async createOrder(params) {
38
- throw new Error("Method createOrder not implemented.");
39
- }
40
- /**
41
- * Cancel an existing order.
42
- */
43
- async cancelOrder(orderId) {
44
- throw new Error("Method cancelOrder not implemented.");
45
- }
46
- /**
47
- * Fetch a specific order by ID.
48
- */
49
- async fetchOrder(orderId) {
50
- throw new Error("Method fetchOrder not implemented.");
51
- }
52
- /**
53
- * Fetch all open orders.
54
- * @param marketId - Optional filter by market.
55
- */
56
- async fetchOpenOrders(marketId) {
57
- throw new Error("Method fetchOpenOrders not implemented.");
58
- }
59
- /**
60
- * Fetch current user positions.
61
- */
62
- async fetchPositions() {
63
- throw new Error("Method fetchPositions not implemented.");
64
- }
65
- /**
66
- * Fetch account balances.
67
- */
68
- async fetchBalance() {
69
- throw new Error("Method fetchBalance not implemented.");
70
- }
71
- }
72
- exports.PredictionMarketExchange = PredictionMarketExchange;
@@ -1,23 +0,0 @@
1
- import { ExchangeCredentials } from '../../BaseExchange';
2
- /**
3
- * Manages Kalshi authentication using RSA-PSS signatures.
4
- * Reference: https://docs.kalshi.com/getting_started/quick_start_authenticated_requests
5
- */
6
- export declare class KalshiAuth {
7
- private credentials;
8
- constructor(credentials: ExchangeCredentials);
9
- private validateCredentials;
10
- /**
11
- * Generates the required headers for an authenticated request.
12
- *
13
- * @param method The HTTP method (e.g., "GET", "POST").
14
- * @param path The request path (e.g., "/trade-api/v2/portfolio/orders").
15
- * @returns An object containing the authentication headers.
16
- */
17
- getHeaders(method: string, path: string): Record<string, string>;
18
- /**
19
- * Signs the request using RSA-PSS.
20
- * The message to sign is: timestamp + method + path
21
- */
22
- private signRequest;
23
- }