@catalyst-team/poly-sdk 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +354 -78
  3. package/docs/00-design.md +1 -1
  4. package/docs/02-API.md +21 -21
  5. package/docs/arbitrage.md +754 -0
  6. package/docs/reports/smart-money-analysis-2025-12-23-cn.md +840 -0
  7. package/examples/13-arbitrage-service.ts +211 -0
  8. package/examples/README.md +1 -1
  9. package/package.json +19 -19
  10. package/scripts/arb/faze-bo3-arb.ts +385 -0
  11. package/scripts/arb/settle-position.ts +190 -0
  12. package/scripts/arb/token-rebalancer.ts +420 -0
  13. package/scripts/verify/verify-all-apis.ts +1 -1
  14. package/src/clients/clob-api.ts +1 -1
  15. package/src/clients/gamma-api.ts +1 -1
  16. package/src/core/cache-adapter-bridge.ts +1 -1
  17. package/src/core/types.ts +3 -3
  18. package/src/core/unified-cache.ts +1 -1
  19. package/src/index.ts +25 -19
  20. package/src/services/arbitrage-service.ts +1807 -0
  21. package/.env +0 -0
  22. package/dist/__tests__/clob-api.test.d.ts +0 -5
  23. package/dist/__tests__/clob-api.test.d.ts.map +0 -1
  24. package/dist/__tests__/clob-api.test.js +0 -240
  25. package/dist/__tests__/clob-api.test.js.map +0 -1
  26. package/dist/__tests__/integration/bridge-client.integration.test.d.ts +0 -11
  27. package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +0 -1
  28. package/dist/__tests__/integration/bridge-client.integration.test.js +0 -260
  29. package/dist/__tests__/integration/bridge-client.integration.test.js.map +0 -1
  30. package/dist/__tests__/integration/clob-api.integration.test.d.ts +0 -13
  31. package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +0 -1
  32. package/dist/__tests__/integration/clob-api.integration.test.js +0 -170
  33. package/dist/__tests__/integration/clob-api.integration.test.js.map +0 -1
  34. package/dist/__tests__/integration/ctf-client.integration.test.d.ts +0 -17
  35. package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +0 -1
  36. package/dist/__tests__/integration/ctf-client.integration.test.js +0 -234
  37. package/dist/__tests__/integration/ctf-client.integration.test.js.map +0 -1
  38. package/dist/__tests__/integration/data-api.integration.test.d.ts +0 -9
  39. package/dist/__tests__/integration/data-api.integration.test.d.ts.map +0 -1
  40. package/dist/__tests__/integration/data-api.integration.test.js +0 -161
  41. package/dist/__tests__/integration/data-api.integration.test.js.map +0 -1
  42. package/dist/__tests__/integration/gamma-api.integration.test.d.ts +0 -9
  43. package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +0 -1
  44. package/dist/__tests__/integration/gamma-api.integration.test.js +0 -170
  45. package/dist/__tests__/integration/gamma-api.integration.test.js.map +0 -1
  46. package/dist/__tests__/test-utils.d.ts +0 -92
  47. package/dist/__tests__/test-utils.d.ts.map +0 -1
  48. package/dist/__tests__/test-utils.js +0 -143
  49. package/dist/__tests__/test-utils.js.map +0 -1
  50. package/dist/clients/bridge-client.d.ts +0 -388
  51. package/dist/clients/bridge-client.d.ts.map +0 -1
  52. package/dist/clients/bridge-client.js +0 -587
  53. package/dist/clients/bridge-client.js.map +0 -1
  54. package/dist/clients/clob-api.d.ts +0 -318
  55. package/dist/clients/clob-api.d.ts.map +0 -1
  56. package/dist/clients/clob-api.js +0 -388
  57. package/dist/clients/clob-api.js.map +0 -1
  58. package/dist/clients/ctf-client.d.ts +0 -473
  59. package/dist/clients/ctf-client.d.ts.map +0 -1
  60. package/dist/clients/ctf-client.js +0 -915
  61. package/dist/clients/ctf-client.js.map +0 -1
  62. package/dist/clients/data-api.d.ts +0 -134
  63. package/dist/clients/data-api.d.ts.map +0 -1
  64. package/dist/clients/data-api.js +0 -265
  65. package/dist/clients/data-api.js.map +0 -1
  66. package/dist/clients/gamma-api.d.ts +0 -401
  67. package/dist/clients/gamma-api.d.ts.map +0 -1
  68. package/dist/clients/gamma-api.js +0 -352
  69. package/dist/clients/gamma-api.js.map +0 -1
  70. package/dist/clients/trading-client.d.ts +0 -252
  71. package/dist/clients/trading-client.d.ts.map +0 -1
  72. package/dist/clients/trading-client.js +0 -543
  73. package/dist/clients/trading-client.js.map +0 -1
  74. package/dist/clients/websocket-manager.d.ts +0 -100
  75. package/dist/clients/websocket-manager.d.ts.map +0 -1
  76. package/dist/clients/websocket-manager.js +0 -193
  77. package/dist/clients/websocket-manager.js.map +0 -1
  78. package/dist/core/cache-adapter-bridge.d.ts +0 -36
  79. package/dist/core/cache-adapter-bridge.d.ts.map +0 -1
  80. package/dist/core/cache-adapter-bridge.js +0 -81
  81. package/dist/core/cache-adapter-bridge.js.map +0 -1
  82. package/dist/core/cache.d.ts +0 -40
  83. package/dist/core/cache.d.ts.map +0 -1
  84. package/dist/core/cache.js +0 -71
  85. package/dist/core/cache.js.map +0 -1
  86. package/dist/core/errors.d.ts +0 -38
  87. package/dist/core/errors.d.ts.map +0 -1
  88. package/dist/core/errors.js +0 -84
  89. package/dist/core/errors.js.map +0 -1
  90. package/dist/core/rate-limiter.d.ts +0 -31
  91. package/dist/core/rate-limiter.d.ts.map +0 -1
  92. package/dist/core/rate-limiter.js +0 -70
  93. package/dist/core/rate-limiter.js.map +0 -1
  94. package/dist/core/types.d.ts +0 -314
  95. package/dist/core/types.d.ts.map +0 -1
  96. package/dist/core/types.js +0 -19
  97. package/dist/core/types.js.map +0 -1
  98. package/dist/core/unified-cache.d.ts +0 -63
  99. package/dist/core/unified-cache.d.ts.map +0 -1
  100. package/dist/core/unified-cache.js +0 -114
  101. package/dist/core/unified-cache.js.map +0 -1
  102. package/dist/index.d.ts +0 -94
  103. package/dist/index.d.ts.map +0 -1
  104. package/dist/index.js +0 -258
  105. package/dist/index.js.map +0 -1
  106. package/dist/mcp/errors.d.ts +0 -33
  107. package/dist/mcp/errors.d.ts.map +0 -1
  108. package/dist/mcp/errors.js +0 -86
  109. package/dist/mcp/errors.js.map +0 -1
  110. package/dist/mcp/index.d.ts +0 -62
  111. package/dist/mcp/index.d.ts.map +0 -1
  112. package/dist/mcp/index.js +0 -173
  113. package/dist/mcp/index.js.map +0 -1
  114. package/dist/mcp/server.d.ts +0 -17
  115. package/dist/mcp/server.d.ts.map +0 -1
  116. package/dist/mcp/server.js +0 -155
  117. package/dist/mcp/server.js.map +0 -1
  118. package/dist/mcp/tools/guide.d.ts +0 -12
  119. package/dist/mcp/tools/guide.d.ts.map +0 -1
  120. package/dist/mcp/tools/guide.js +0 -801
  121. package/dist/mcp/tools/guide.js.map +0 -1
  122. package/dist/mcp/tools/index.d.ts +0 -11
  123. package/dist/mcp/tools/index.d.ts.map +0 -1
  124. package/dist/mcp/tools/index.js +0 -27
  125. package/dist/mcp/tools/index.js.map +0 -1
  126. package/dist/mcp/tools/market.d.ts +0 -11
  127. package/dist/mcp/tools/market.d.ts.map +0 -1
  128. package/dist/mcp/tools/market.js +0 -314
  129. package/dist/mcp/tools/market.js.map +0 -1
  130. package/dist/mcp/tools/order.d.ts +0 -10
  131. package/dist/mcp/tools/order.d.ts.map +0 -1
  132. package/dist/mcp/tools/order.js +0 -258
  133. package/dist/mcp/tools/order.js.map +0 -1
  134. package/dist/mcp/tools/trade.d.ts +0 -38
  135. package/dist/mcp/tools/trade.d.ts.map +0 -1
  136. package/dist/mcp/tools/trade.js +0 -314
  137. package/dist/mcp/tools/trade.js.map +0 -1
  138. package/dist/mcp/tools/trader.d.ts +0 -11
  139. package/dist/mcp/tools/trader.d.ts.map +0 -1
  140. package/dist/mcp/tools/trader.js +0 -277
  141. package/dist/mcp/tools/trader.js.map +0 -1
  142. package/dist/mcp/tools/wallet.d.ts +0 -274
  143. package/dist/mcp/tools/wallet.d.ts.map +0 -1
  144. package/dist/mcp/tools/wallet.js +0 -579
  145. package/dist/mcp/tools/wallet.js.map +0 -1
  146. package/dist/mcp/types.d.ts +0 -413
  147. package/dist/mcp/types.d.ts.map +0 -1
  148. package/dist/mcp/types.js +0 -5
  149. package/dist/mcp/types.js.map +0 -1
  150. package/dist/services/authorization-service.d.ts +0 -97
  151. package/dist/services/authorization-service.d.ts.map +0 -1
  152. package/dist/services/authorization-service.js +0 -279
  153. package/dist/services/authorization-service.js.map +0 -1
  154. package/dist/services/market-service.d.ts +0 -108
  155. package/dist/services/market-service.d.ts.map +0 -1
  156. package/dist/services/market-service.js +0 -458
  157. package/dist/services/market-service.js.map +0 -1
  158. package/dist/services/realtime-service.d.ts +0 -82
  159. package/dist/services/realtime-service.d.ts.map +0 -1
  160. package/dist/services/realtime-service.js +0 -150
  161. package/dist/services/realtime-service.js.map +0 -1
  162. package/dist/services/swap-service.d.ts +0 -217
  163. package/dist/services/swap-service.d.ts.map +0 -1
  164. package/dist/services/swap-service.js +0 -695
  165. package/dist/services/swap-service.js.map +0 -1
  166. package/dist/services/wallet-service.d.ts +0 -94
  167. package/dist/services/wallet-service.d.ts.map +0 -1
  168. package/dist/services/wallet-service.js +0 -173
  169. package/dist/services/wallet-service.js.map +0 -1
  170. package/dist/utils/price-utils.d.ts +0 -153
  171. package/dist/utils/price-utils.d.ts.map +0 -1
  172. package/dist/utils/price-utils.js +0 -236
  173. package/dist/utils/price-utils.js.map +0 -1
  174. package/docs/01-mcp.md +0 -2041
  175. package/docs/e2e/01-trader-tools.md +0 -159
  176. package/docs/e2e/02-market-tools.md +0 -180
  177. package/docs/e2e/03-order-tools.md +0 -166
  178. package/docs/e2e/04-wallet-tools.md +0 -224
  179. package/docs/e2e/05-trading-tools.md +0 -327
  180. package/docs/e2e/06-integration-scenarios.md +0 -481
  181. package/docs/e2e/coordinator.md +0 -376
  182. package/scripts/truth.md +0 -440
  183. package/src/mcp/README.md +0 -380
  184. package/src/mcp/errors.ts +0 -124
  185. package/src/mcp/index.ts +0 -309
  186. package/src/mcp/server.ts +0 -183
  187. package/src/mcp/tools/guide.ts +0 -821
  188. package/src/mcp/tools/index.ts +0 -73
  189. package/src/mcp/tools/market.ts +0 -363
  190. package/src/mcp/tools/order.ts +0 -326
  191. package/src/mcp/tools/trade.ts +0 -417
  192. package/src/mcp/tools/trader.ts +0 -322
  193. package/src/mcp/tools/wallet.ts +0 -683
  194. package/src/mcp/types.ts +0 -472
package/dist/index.d.ts DELETED
@@ -1,94 +0,0 @@
1
- /**
2
- * @prediction-router/poly-sdk
3
- *
4
- * Unified SDK for Polymarket APIs
5
- * - Data API (positions, activity, trades, leaderboard)
6
- * - Gamma API (markets, events, trending)
7
- * - CLOB API (orderbook, market info, trading)
8
- * - Services (WalletService, MarketService)
9
- */
10
- export { RateLimiter, ApiType } from './core/rate-limiter.js';
11
- export { Cache, CACHE_TTL } from './core/cache.js';
12
- export { PolymarketError, ErrorCode, withRetry } from './core/errors.js';
13
- export * from './core/types.js';
14
- export type { UnifiedCache } from './core/unified-cache.js';
15
- export { createUnifiedCache } from './core/unified-cache.js';
16
- export { DataApiClient } from './clients/data-api.js';
17
- export type { Position, Activity, Trade, LeaderboardEntry, LeaderboardPage, } from './clients/data-api.js';
18
- export { GammaApiClient } from './clients/gamma-api.js';
19
- export type { GammaMarket, GammaEvent, MarketSearchParams, } from './clients/gamma-api.js';
20
- export { ClobApiClient } from './clients/clob-api.js';
21
- export type { ClobMarket, ClobToken, Orderbook, OrderbookLevel, } from './clients/clob-api.js';
22
- export { WalletService } from './services/wallet-service.js';
23
- export type { WalletProfile, WalletActivitySummary, SellActivityResult, } from './services/wallet-service.js';
24
- export { MarketService, getIntervalMs as getIntervalMsService } from './services/market-service.js';
25
- export { WebSocketManager } from './clients/websocket-manager.js';
26
- export type { WebSocketManagerConfig, WebSocketManagerEvents } from './clients/websocket-manager.js';
27
- export { RealtimeService } from './services/realtime-service.js';
28
- export type { Subscription, MarketSubscriptionHandlers } from './services/realtime-service.js';
29
- export { TradingClient, POLYGON_MAINNET, POLYGON_AMOY } from './clients/trading-client.js';
30
- export type { Side, OrderType, ApiCredentials, OrderParams, MarketOrderParams, Order, OrderResult, TradeInfo, TradingClientConfig, UserEarning, MarketReward, OrderScoring, } from './clients/trading-client.js';
31
- export { CTFClient, CTF_CONTRACT, USDC_CONTRACT, // USDC.e (0x2791...) - Required for CTF
32
- NATIVE_USDC_CONTRACT, // Native USDC (0x3c49...) - NOT for CTF
33
- NEG_RISK_CTF_EXCHANGE, NEG_RISK_ADAPTER, USDC_DECIMALS, calculateConditionId, parseUsdc, formatUsdc, } from './clients/ctf-client.js';
34
- export type { CTFConfig, SplitResult, MergeResult, RedeemResult, PositionBalance, MarketResolution, GasEstimate, TransactionStatus, TokenIds, } from './clients/ctf-client.js';
35
- export { RevertReason } from './clients/ctf-client.js';
36
- export { BridgeClient, SUPPORTED_CHAINS, BRIDGE_TOKENS, estimateBridgeOutput, getExplorerUrl, depositUsdc, swapAndDeposit, getSupportedDepositTokens, } from './clients/bridge-client.js';
37
- export type { BridgeSupportedAsset, DepositAddress, CreateDepositResponse, DepositStatus, BridgeConfig, DepositResult, DepositOptions, SwapAndDepositOptions, SwapAndDepositResult, } from './clients/bridge-client.js';
38
- export { SwapService, QUICKSWAP_ROUTER, POLYGON_TOKENS, TOKEN_DECIMALS, } from './services/swap-service.js';
39
- export type { SupportedToken, SwapQuote, SwapResult, TokenBalance, TransferResult, } from './services/swap-service.js';
40
- export { AuthorizationService } from './services/authorization-service.js';
41
- export type { AllowanceInfo, AllowancesResult, ApprovalTxResult, ApprovalsResult, AuthorizationServiceConfig, } from './services/authorization-service.js';
42
- export { roundPrice, roundSize, validatePrice, validateSize, calculateBuyAmount, calculateSellPayout, calculateSharesForAmount, calculateSpread, calculateMidpoint, formatPrice, formatUSDC, calculatePnL, checkArbitrage, getEffectivePrices, ROUNDING_CONFIG, } from './utils/price-utils.js';
43
- export type { TickSize } from './utils/price-utils.js';
44
- export { createMcpHandler, registerMcpTools, getToolDefinitions, allToolDefinitions, } from './mcp/index.js';
45
- export type { ToolHandler, ToolDefinition, McpErrorResponse, } from './mcp/index.js';
46
- export { McpToolError, ErrorCode as McpErrorCode } from './mcp/errors.js';
47
- import { DataApiClient } from './clients/data-api.js';
48
- import { GammaApiClient } from './clients/gamma-api.js';
49
- import { ClobApiClient } from './clients/clob-api.js';
50
- import { WalletService } from './services/wallet-service.js';
51
- import { MarketService } from './services/market-service.js';
52
- import type { UnifiedMarket, ProcessedOrderbook, ArbitrageOpportunity, PolySDKOptions } from './core/types.js';
53
- export interface PolymarketSDKConfig extends PolySDKOptions {
54
- }
55
- export declare class PolymarketSDK {
56
- private rateLimiter;
57
- private cache;
58
- readonly dataApi: DataApiClient;
59
- readonly gammaApi: GammaApiClient;
60
- readonly clobApi: ClobApiClient;
61
- readonly wallets: WalletService;
62
- readonly markets: MarketService;
63
- constructor(config?: PolymarketSDKConfig);
64
- /**
65
- * Get market by slug or condition ID
66
- * Uses Gamma for slug, CLOB for conditionId
67
- */
68
- getMarket(identifier: string): Promise<UnifiedMarket>;
69
- private getMarketBySlug;
70
- private getMarketByConditionId;
71
- /**
72
- * Get processed orderbook with analytics
73
- */
74
- getOrderbook(conditionId: string): Promise<ProcessedOrderbook>;
75
- /**
76
- * Detect arbitrage opportunity
77
- *
78
- * 使用有效价格计算套利机会(正确考虑镜像订单)
79
- * 详细文档见: docs/01-polymarket-orderbook-arbitrage.md
80
- */
81
- detectArbitrage(conditionId: string, threshold?: number): Promise<ArbitrageOpportunity | null>;
82
- private mergeMarkets;
83
- private fromGammaMarket;
84
- private fromClobMarket;
85
- /**
86
- * Clear all cached data
87
- */
88
- clearCache(): void;
89
- /**
90
- * Invalidate cache for a specific market
91
- */
92
- invalidateMarketCache(conditionId: string): void;
93
- }
94
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js DELETED
@@ -1,258 +0,0 @@
1
- /**
2
- * @prediction-router/poly-sdk
3
- *
4
- * Unified SDK for Polymarket APIs
5
- * - Data API (positions, activity, trades, leaderboard)
6
- * - Gamma API (markets, events, trending)
7
- * - CLOB API (orderbook, market info, trading)
8
- * - Services (WalletService, MarketService)
9
- */
10
- // Core infrastructure
11
- export { RateLimiter, ApiType } from './core/rate-limiter.js';
12
- export { Cache, CACHE_TTL } from './core/cache.js';
13
- export { PolymarketError, ErrorCode, withRetry } from './core/errors.js';
14
- export * from './core/types.js';
15
- export { createUnifiedCache } from './core/unified-cache.js';
16
- // API Clients
17
- export { DataApiClient } from './clients/data-api.js';
18
- export { GammaApiClient } from './clients/gamma-api.js';
19
- export { ClobApiClient } from './clients/clob-api.js';
20
- // Services
21
- export { WalletService } from './services/wallet-service.js';
22
- export { MarketService, getIntervalMs as getIntervalMsService } from './services/market-service.js';
23
- // Real-time
24
- export { WebSocketManager } from './clients/websocket-manager.js';
25
- export { RealtimeService } from './services/realtime-service.js';
26
- // NOTE: ArbitrageService has been moved to @prediction-router/arb package
27
- // See packages/arb/src/services/arbitrage-service.ts
28
- // Trading
29
- export { TradingClient, POLYGON_MAINNET, POLYGON_AMOY } from './clients/trading-client.js';
30
- // CTF (Conditional Token Framework)
31
- // NOTE: USDC_CONTRACT is USDC.e (bridged), required for Polymarket CTF
32
- // NATIVE_USDC_CONTRACT is native USDC, NOT compatible with CTF
33
- export { CTFClient, CTF_CONTRACT, USDC_CONTRACT, // USDC.e (0x2791...) - Required for CTF
34
- NATIVE_USDC_CONTRACT, // Native USDC (0x3c49...) - NOT for CTF
35
- NEG_RISK_CTF_EXCHANGE, NEG_RISK_ADAPTER, USDC_DECIMALS, calculateConditionId, parseUsdc, formatUsdc, } from './clients/ctf-client.js';
36
- export { RevertReason } from './clients/ctf-client.js';
37
- // Bridge (Cross-chain Deposits)
38
- export { BridgeClient, SUPPORTED_CHAINS, BRIDGE_TOKENS, estimateBridgeOutput, getExplorerUrl, depositUsdc, swapAndDeposit, getSupportedDepositTokens, } from './clients/bridge-client.js';
39
- // Swap Service (DEX swaps on Polygon)
40
- export { SwapService, QUICKSWAP_ROUTER, POLYGON_TOKENS, TOKEN_DECIMALS, } from './services/swap-service.js';
41
- // Authorization (ERC20/ERC1155 Approvals)
42
- export { AuthorizationService } from './services/authorization-service.js';
43
- // Price Utilities
44
- export { roundPrice, roundSize, validatePrice, validateSize, calculateBuyAmount, calculateSellPayout, calculateSharesForAmount, calculateSpread, calculateMidpoint, formatPrice, formatUSDC, calculatePnL, checkArbitrage, getEffectivePrices, ROUNDING_CONFIG, } from './utils/price-utils.js';
45
- // NOTE: ArbitrageService has been moved to @prediction-router/arb package
46
- // See packages/arb/src/services/arbitrage-service.ts
47
- // MCP (Model Context Protocol) Tools
48
- export { createMcpHandler, registerMcpTools, getToolDefinitions, allToolDefinitions, } from './mcp/index.js';
49
- export { McpToolError, ErrorCode as McpErrorCode } from './mcp/errors.js';
50
- // ===== Main SDK Class =====
51
- import { RateLimiter } from './core/rate-limiter.js';
52
- import { DataApiClient } from './clients/data-api.js';
53
- import { GammaApiClient } from './clients/gamma-api.js';
54
- import { ClobApiClient } from './clients/clob-api.js';
55
- import { WalletService } from './services/wallet-service.js';
56
- import { MarketService } from './services/market-service.js';
57
- import { PolymarketError, ErrorCode } from './core/errors.js';
58
- import { createUnifiedCache } from './core/unified-cache.js';
59
- export class PolymarketSDK {
60
- // Infrastructure
61
- rateLimiter;
62
- cache;
63
- // API Clients
64
- dataApi;
65
- gammaApi;
66
- clobApi;
67
- // Services
68
- wallets;
69
- markets;
70
- constructor(config = {}) {
71
- // Initialize infrastructure
72
- this.rateLimiter = new RateLimiter();
73
- // Create unified cache (supports both legacy Cache and CacheAdapter)
74
- this.cache = createUnifiedCache(config.cache);
75
- // Initialize API clients
76
- this.dataApi = new DataApiClient(this.rateLimiter, this.cache);
77
- this.gammaApi = new GammaApiClient(this.rateLimiter, this.cache);
78
- this.clobApi = new ClobApiClient(this.rateLimiter, this.cache, {
79
- chainId: config.chainId,
80
- signer: config.signer,
81
- creds: config.creds,
82
- });
83
- // Initialize services
84
- this.wallets = new WalletService(this.dataApi, this.cache);
85
- this.markets = new MarketService(this.gammaApi, this.clobApi, this.dataApi, this.cache);
86
- }
87
- // ===== Unified Market Access =====
88
- /**
89
- * Get market by slug or condition ID
90
- * Uses Gamma for slug, CLOB for conditionId
91
- */
92
- async getMarket(identifier) {
93
- const isConditionId = identifier.startsWith('0x') || /^\d+$/.test(identifier);
94
- if (isConditionId) {
95
- return this.getMarketByConditionId(identifier);
96
- }
97
- else {
98
- return this.getMarketBySlug(identifier);
99
- }
100
- }
101
- async getMarketBySlug(slug) {
102
- // Gamma as primary source for slug
103
- const gammaMarket = await this.gammaApi.getMarketBySlug(slug);
104
- if (!gammaMarket) {
105
- throw new PolymarketError(ErrorCode.MARKET_NOT_FOUND, `Market not found: ${slug}`);
106
- }
107
- // Enrich with CLOB data
108
- try {
109
- const clobMarket = await this.clobApi.getMarket(gammaMarket.conditionId);
110
- return this.mergeMarkets(gammaMarket, clobMarket);
111
- }
112
- catch {
113
- return this.fromGammaMarket(gammaMarket);
114
- }
115
- }
116
- async getMarketByConditionId(conditionId) {
117
- // CLOB as primary source for conditionId (more reliable)
118
- try {
119
- const clobMarket = await this.clobApi.getMarket(conditionId);
120
- // Try to enrich with Gamma data
121
- try {
122
- const gammaMarket = await this.gammaApi.getMarketByConditionId(conditionId);
123
- if (gammaMarket) {
124
- return this.mergeMarkets(gammaMarket, clobMarket);
125
- }
126
- }
127
- catch {
128
- // Gamma enrichment failed, use CLOB only
129
- }
130
- return this.fromClobMarket(clobMarket);
131
- }
132
- catch {
133
- throw new PolymarketError(ErrorCode.MARKET_NOT_FOUND, `Market not found: ${conditionId}`);
134
- }
135
- }
136
- // ===== Orderbook Analysis =====
137
- /**
138
- * Get processed orderbook with analytics
139
- */
140
- async getOrderbook(conditionId) {
141
- return this.clobApi.getProcessedOrderbook(conditionId);
142
- }
143
- /**
144
- * Detect arbitrage opportunity
145
- *
146
- * 使用有效价格计算套利机会(正确考虑镜像订单)
147
- * 详细文档见: docs/01-polymarket-orderbook-arbitrage.md
148
- */
149
- async detectArbitrage(conditionId, threshold = 0.005) {
150
- const orderbook = await this.getOrderbook(conditionId);
151
- const { effectivePrices, longArbProfit, shortArbProfit } = orderbook.summary;
152
- if (longArbProfit > threshold) {
153
- return {
154
- type: 'long',
155
- profit: longArbProfit,
156
- action: `Buy YES @ ${effectivePrices.effectiveBuyYes.toFixed(4)} + Buy NO @ ${effectivePrices.effectiveBuyNo.toFixed(4)}, merge for 1 USDC`,
157
- expectedProfit: longArbProfit,
158
- };
159
- }
160
- if (shortArbProfit > threshold) {
161
- return {
162
- type: 'short',
163
- profit: shortArbProfit,
164
- action: `Split 1 USDC, Sell YES @ ${effectivePrices.effectiveSellYes.toFixed(4)} + Sell NO @ ${effectivePrices.effectiveSellNo.toFixed(4)}`,
165
- expectedProfit: shortArbProfit,
166
- };
167
- }
168
- return null;
169
- }
170
- // ===== Helper Methods =====
171
- mergeMarkets(gamma, clob) {
172
- const yesToken = clob.tokens.find((t) => t.outcome === 'Yes');
173
- const noToken = clob.tokens.find((t) => t.outcome === 'No');
174
- return {
175
- conditionId: clob.conditionId,
176
- slug: gamma.slug,
177
- question: clob.question,
178
- description: clob.description || gamma.description,
179
- tokens: {
180
- yes: {
181
- tokenId: yesToken?.tokenId || '',
182
- price: yesToken?.price || gamma.outcomePrices[0] || 0.5,
183
- },
184
- no: {
185
- tokenId: noToken?.tokenId || '',
186
- price: noToken?.price || gamma.outcomePrices[1] || 0.5,
187
- },
188
- },
189
- volume: gamma.volume,
190
- volume24hr: gamma.volume24hr,
191
- liquidity: gamma.liquidity,
192
- spread: gamma.spread,
193
- active: clob.active,
194
- closed: clob.closed,
195
- acceptingOrders: clob.acceptingOrders,
196
- endDate: clob.endDateIso ? new Date(clob.endDateIso) : new Date(),
197
- source: 'merged',
198
- };
199
- }
200
- fromGammaMarket(gamma) {
201
- return {
202
- conditionId: gamma.conditionId,
203
- slug: gamma.slug,
204
- question: gamma.question,
205
- description: gamma.description,
206
- tokens: {
207
- yes: { tokenId: '', price: gamma.outcomePrices[0] || 0.5 },
208
- no: { tokenId: '', price: gamma.outcomePrices[1] || 0.5 },
209
- },
210
- volume: gamma.volume,
211
- volume24hr: gamma.volume24hr,
212
- liquidity: gamma.liquidity,
213
- spread: gamma.spread,
214
- active: gamma.active,
215
- closed: gamma.closed,
216
- acceptingOrders: !gamma.closed,
217
- endDate: gamma.endDate,
218
- source: 'gamma',
219
- };
220
- }
221
- fromClobMarket(clob) {
222
- const yesToken = clob.tokens.find((t) => t.outcome === 'Yes');
223
- const noToken = clob.tokens.find((t) => t.outcome === 'No');
224
- return {
225
- conditionId: clob.conditionId,
226
- slug: clob.marketSlug,
227
- question: clob.question,
228
- description: clob.description,
229
- tokens: {
230
- yes: { tokenId: yesToken?.tokenId || '', price: yesToken?.price || 0.5 },
231
- no: { tokenId: noToken?.tokenId || '', price: noToken?.price || 0.5 },
232
- },
233
- volume: 0, // CLOB doesn't have volume
234
- volume24hr: undefined,
235
- liquidity: 0,
236
- spread: undefined,
237
- active: clob.active,
238
- closed: clob.closed,
239
- acceptingOrders: clob.acceptingOrders,
240
- endDate: clob.endDateIso ? new Date(clob.endDateIso) : new Date(),
241
- source: 'clob',
242
- };
243
- }
244
- // ===== Cache Management =====
245
- /**
246
- * Clear all cached data
247
- */
248
- clearCache() {
249
- this.cache.clear();
250
- }
251
- /**
252
- * Invalidate cache for a specific market
253
- */
254
- invalidateMarketCache(conditionId) {
255
- this.cache.invalidate(conditionId);
256
- }
257
- }
258
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /**
2
- * MCP Error Handling for Polymarket Tools
3
- */
4
- export declare enum ErrorCode {
5
- INVALID_ADDRESS = "INVALID_ADDRESS",
6
- MARKET_NOT_FOUND = "MARKET_NOT_FOUND",
7
- INSUFFICIENT_BALANCE = "INSUFFICIENT_BALANCE",
8
- ORDER_REJECTED = "ORDER_REJECTED",
9
- RATE_LIMITED = "RATE_LIMITED",
10
- AUTH_REQUIRED = "AUTH_REQUIRED",
11
- INVALID_INPUT = "INVALID_INPUT",
12
- INTERNAL_ERROR = "INTERNAL_ERROR"
13
- }
14
- export declare class McpToolError extends Error {
15
- code: ErrorCode;
16
- details?: Record<string, unknown> | undefined;
17
- constructor(code: ErrorCode, message: string, details?: Record<string, unknown> | undefined);
18
- toResponse(): {
19
- error: {
20
- code: ErrorCode;
21
- message: string;
22
- details: Record<string, unknown> | undefined;
23
- };
24
- };
25
- }
26
- export declare function validateAddress(address: string): void;
27
- export declare function validateConditionId(conditionId: string): void;
28
- export declare function validateOutcome(outcome: string): void;
29
- export declare function validateSide(side: string): void;
30
- export declare function validatePrice(price: number): void;
31
- export declare function validatePositiveNumber(value: number, name: string): void;
32
- export declare function wrapError(err: unknown): McpToolError;
33
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,qBAAa,YAAa,SAAQ,KAAK;IAE5B,IAAI,EAAE,SAAS;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAM1C,UAAU;;;;;;;CASX;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQxE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAepD"}
@@ -1,86 +0,0 @@
1
- /**
2
- * MCP Error Handling for Polymarket Tools
3
- */
4
- export var ErrorCode;
5
- (function (ErrorCode) {
6
- ErrorCode["INVALID_ADDRESS"] = "INVALID_ADDRESS";
7
- ErrorCode["MARKET_NOT_FOUND"] = "MARKET_NOT_FOUND";
8
- ErrorCode["INSUFFICIENT_BALANCE"] = "INSUFFICIENT_BALANCE";
9
- ErrorCode["ORDER_REJECTED"] = "ORDER_REJECTED";
10
- ErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
11
- ErrorCode["AUTH_REQUIRED"] = "AUTH_REQUIRED";
12
- ErrorCode["INVALID_INPUT"] = "INVALID_INPUT";
13
- ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
14
- })(ErrorCode || (ErrorCode = {}));
15
- export class McpToolError extends Error {
16
- code;
17
- details;
18
- constructor(code, message, details) {
19
- super(message);
20
- this.code = code;
21
- this.details = details;
22
- this.name = 'McpToolError';
23
- }
24
- toResponse() {
25
- return {
26
- error: {
27
- code: this.code,
28
- message: this.message,
29
- details: this.details,
30
- },
31
- };
32
- }
33
- }
34
- export function validateAddress(address) {
35
- if (!address || typeof address !== 'string') {
36
- throw new McpToolError(ErrorCode.INVALID_ADDRESS, 'Address is required');
37
- }
38
- if (!address.startsWith('0x') || address.length !== 42) {
39
- throw new McpToolError(ErrorCode.INVALID_ADDRESS, 'Address must be a valid Ethereum address (0x...)', { address });
40
- }
41
- }
42
- export function validateConditionId(conditionId) {
43
- if (!conditionId || typeof conditionId !== 'string') {
44
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Condition ID is required');
45
- }
46
- if (!conditionId.startsWith('0x')) {
47
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Condition ID must start with 0x', { conditionId });
48
- }
49
- }
50
- export function validateOutcome(outcome) {
51
- if (!['Yes', 'No'].includes(outcome)) {
52
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Outcome must be "Yes" or "No"', { outcome });
53
- }
54
- }
55
- export function validateSide(side) {
56
- if (!['BUY', 'SELL'].includes(side)) {
57
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Side must be "BUY" or "SELL"', { side });
58
- }
59
- }
60
- export function validatePrice(price) {
61
- if (typeof price !== 'number' || price < 0.001 || price > 0.999) {
62
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Price must be between 0.001 and 0.999', { price });
63
- }
64
- }
65
- export function validatePositiveNumber(value, name) {
66
- if (typeof value !== 'number' || value <= 0) {
67
- throw new McpToolError(ErrorCode.INVALID_INPUT, `${name} must be a positive number`, { [name]: value });
68
- }
69
- }
70
- export function wrapError(err) {
71
- if (err instanceof McpToolError) {
72
- return err;
73
- }
74
- if (err instanceof Error) {
75
- // Check for known error types
76
- if (err.message.includes('rate limit')) {
77
- return new McpToolError(ErrorCode.RATE_LIMITED, 'Rate limit exceeded');
78
- }
79
- if (err.message.includes('not found')) {
80
- return new McpToolError(ErrorCode.MARKET_NOT_FOUND, err.message);
81
- }
82
- return new McpToolError(ErrorCode.INTERNAL_ERROR, err.message);
83
- }
84
- return new McpToolError(ErrorCode.INTERNAL_ERROR, 'An unexpected error occurred');
85
- }
86
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Polymarket MCP Tools
3
- *
4
- * This module provides MCP (Model Context Protocol) tools for interacting with Polymarket.
5
- * It can be used to build an MCP server that exposes Polymarket functionality to AI agents.
6
- *
7
- * Tool Categories:
8
- * - Trader Tools: Analyze traders/wallets (positions, trades, profiles, leaderboard)
9
- * - Market Tools: Discover and analyze markets (get, search, trending, trades)
10
- * - Order Tools: Analyze orderbooks (depth, best prices, execution estimates)
11
- * - Trade Tools: Execute trades (limit orders, market orders) - requires API credentials
12
- * - Wallet Tools: Deposits and authorization management
13
- *
14
- * Usage:
15
- * ```typescript
16
- * import { PolymarketSDK } from '@prediction-router/poly-sdk';
17
- * import { createMcpHandler, allToolDefinitions } from '@prediction-router/poly-sdk/mcp';
18
- *
19
- * const sdk = new PolymarketSDK();
20
- * const handler = createMcpHandler(sdk);
21
- *
22
- * // Use with MCP server
23
- * const result = await handler('get_trader_positions', { address: '0x...' });
24
- * ```
25
- */
26
- import { PolymarketSDK } from '../index.js';
27
- export * from './types.js';
28
- export * from './errors.js';
29
- export { allToolDefinitions } from './tools/index.js';
30
- export type ToolHandler = (toolName: string, args: Record<string, unknown>) => Promise<unknown>;
31
- /**
32
- * Create an MCP tool handler for the given SDK instance
33
- */
34
- export declare function createMcpHandler(sdk: PolymarketSDK): ToolHandler;
35
- /**
36
- * Get all tool definitions for MCP registration
37
- */
38
- export declare function getToolDefinitions(): import("./types.js").ToolDefinition[];
39
- /**
40
- * MCP Server factory (for use with @modelcontextprotocol/sdk)
41
- *
42
- * Example usage with MCP SDK:
43
- * ```typescript
44
- * import { Server } from '@modelcontextprotocol/sdk/server/index.js';
45
- * import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
46
- * import { PolymarketSDK } from '@prediction-router/poly-sdk';
47
- * import { registerMcpTools } from '@prediction-router/poly-sdk/mcp';
48
- *
49
- * const server = new Server(
50
- * { name: 'poly-mcp', version: '1.0.0' },
51
- * { capabilities: { tools: {} } }
52
- * );
53
- *
54
- * const sdk = new PolymarketSDK();
55
- * registerMcpTools(server, sdk);
56
- *
57
- * const transport = new StdioServerTransport();
58
- * await server.connect(transport);
59
- * ```
60
- */
61
- export declare function registerMcpTools(server: any, sdk: PolymarketSDK): void;
62
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,WAAW,GAAG,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAwKhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,0CAEjC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAE9B,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,aAAa,GACjB,IAAI,CA0BN"}