@catalyst-team/poly-sdk 0.4.6 → 0.5.0

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 (59) hide show
  1. package/README.md +18 -9
  2. package/README.zh-CN.md +18 -9
  3. package/dist/src/clients/data-api.d.ts +26 -0
  4. package/dist/src/clients/data-api.d.ts.map +1 -1
  5. package/dist/src/clients/data-api.js +58 -0
  6. package/dist/src/clients/data-api.js.map +1 -1
  7. package/dist/src/core/types.d.ts +56 -1
  8. package/dist/src/core/types.d.ts.map +1 -1
  9. package/dist/src/index.d.ts +6 -5
  10. package/dist/src/index.d.ts.map +1 -1
  11. package/dist/src/index.js +6 -4
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/realtime/index.d.ts +18 -0
  14. package/dist/src/realtime/index.d.ts.map +1 -0
  15. package/dist/src/realtime/index.js +14 -0
  16. package/dist/src/realtime/index.js.map +1 -0
  17. package/dist/src/realtime/realtime-data-client.d.ts +274 -0
  18. package/dist/src/realtime/realtime-data-client.d.ts.map +1 -0
  19. package/dist/src/realtime/realtime-data-client.js +771 -0
  20. package/dist/src/realtime/realtime-data-client.js.map +1 -0
  21. package/dist/src/realtime/types.d.ts +485 -0
  22. package/dist/src/realtime/types.d.ts.map +1 -0
  23. package/dist/src/realtime/types.js +36 -0
  24. package/dist/src/realtime/types.js.map +1 -0
  25. package/dist/src/services/arbitrage-service.d.ts.map +1 -1
  26. package/dist/src/services/arbitrage-service.js +2 -1
  27. package/dist/src/services/arbitrage-service.js.map +1 -1
  28. package/dist/src/services/dip-arb-service.d.ts.map +1 -1
  29. package/dist/src/services/dip-arb-service.js +3 -19
  30. package/dist/src/services/dip-arb-service.js.map +1 -1
  31. package/dist/src/services/market-service.d.ts +93 -11
  32. package/dist/src/services/market-service.d.ts.map +1 -1
  33. package/dist/src/services/market-service.js +189 -22
  34. package/dist/src/services/market-service.js.map +1 -1
  35. package/dist/src/services/order-handle.test.d.ts +15 -0
  36. package/dist/src/services/order-handle.test.d.ts.map +1 -0
  37. package/dist/src/services/order-handle.test.js +333 -0
  38. package/dist/src/services/order-handle.test.js.map +1 -0
  39. package/dist/src/services/order-manager.d.ts +162 -6
  40. package/dist/src/services/order-manager.d.ts.map +1 -1
  41. package/dist/src/services/order-manager.js +419 -30
  42. package/dist/src/services/order-manager.js.map +1 -1
  43. package/dist/src/services/realtime-service-v2.d.ts +122 -68
  44. package/dist/src/services/realtime-service-v2.d.ts.map +1 -1
  45. package/dist/src/services/realtime-service-v2.js +475 -144
  46. package/dist/src/services/realtime-service-v2.js.map +1 -1
  47. package/dist/src/services/smart-money-service.d.ts +33 -10
  48. package/dist/src/services/smart-money-service.d.ts.map +1 -1
  49. package/dist/src/services/smart-money-service.js +180 -73
  50. package/dist/src/services/smart-money-service.js.map +1 -1
  51. package/dist/src/services/trading-service.d.ts +129 -1
  52. package/dist/src/services/trading-service.d.ts.map +1 -1
  53. package/dist/src/services/trading-service.js +198 -5
  54. package/dist/src/services/trading-service.js.map +1 -1
  55. package/package.json +1 -2
  56. package/dist/src/services/ctf-detector.d.ts +0 -215
  57. package/dist/src/services/ctf-detector.d.ts.map +0 -1
  58. package/dist/src/services/ctf-detector.js +0 -420
  59. package/dist/src/services/ctf-detector.js.map +0 -1
@@ -34,11 +34,17 @@ const CLOB_HOST = 'https://clob.polymarket.com';
34
34
  // - "invalid amount for a marketable BUY order ($X), min size: $1"
35
35
  // - "Size (X) lower than the minimum: 5"
36
36
  //
37
+ // NOTE: minimum_order_size is MARKET-SPECIFIC (retrieved via CLOB API):
38
+ // - SOL/BTC/ETH 15-minute markets: 5 shares
39
+ // - Sports markets: 15 shares
40
+ // - Some markets: 0 shares
41
+ // Use LimitOrderParams.minimumOrderSize to pass the market-specific value.
42
+ //
37
43
  // Strategies should ensure orders meet these requirements BEFORE sending.
38
44
  // ============================================================================
39
45
  /** Minimum order value in USDC (price * size >= MIN_ORDER_VALUE) */
40
46
  export const MIN_ORDER_VALUE_USDC = 1;
41
- /** Minimum order size in shares */
47
+ /** Default minimum order size in shares (fallback if market-specific value not provided) */
42
48
  export const MIN_ORDER_SIZE_SHARES = 5;
43
49
  // ============================================================================
44
50
  // TradingService Implementation
@@ -154,10 +160,12 @@ export class TradingService {
154
160
  */
155
161
  async createLimitOrder(params) {
156
162
  // Validate minimum order requirements before sending to API
157
- if (params.size < MIN_ORDER_SIZE_SHARES) {
163
+ // Use market-specific minimum if provided, otherwise fall back to global default
164
+ const minOrderSize = params.minimumOrderSize ?? MIN_ORDER_SIZE_SHARES;
165
+ if (params.size < minOrderSize) {
158
166
  return {
159
167
  success: false,
160
- errorMsg: `Order size (${params.size}) is below Polymarket minimum (${MIN_ORDER_SIZE_SHARES} shares)`,
168
+ errorMsg: `Order size (${params.size}) is below Polymarket minimum (${minOrderSize} shares)`,
161
169
  };
162
170
  }
163
171
  const orderValue = params.price * params.size;
@@ -283,8 +291,10 @@ export class TradingService {
283
291
  const validationErrors = [];
284
292
  for (let i = 0; i < orders.length; i++) {
285
293
  const order = orders[i];
286
- if (order.size < MIN_ORDER_SIZE_SHARES) {
287
- validationErrors.push(`Order ${i}: size (${order.size}) below minimum (${MIN_ORDER_SIZE_SHARES} shares)`);
294
+ // Use market-specific minimum if provided, otherwise fall back to global default
295
+ const minOrderSize = order.minimumOrderSize ?? MIN_ORDER_SIZE_SHARES;
296
+ if (order.size < minOrderSize) {
297
+ validationErrors.push(`Order ${i}: size (${order.size}) below minimum (${minOrderSize} shares)`);
288
298
  }
289
299
  const orderValue = order.price * order.size;
290
300
  if (orderValue < MIN_ORDER_VALUE_USDC) {
@@ -383,6 +393,11 @@ export class TradingService {
383
393
  const order = await client.getOrder(orderId);
384
394
  if (!order)
385
395
  return null;
396
+ // Validate required fields to prevent runtime errors
397
+ if (!order.side) {
398
+ console.warn(`[TradingService] Order ${orderId} missing side field, returning null`);
399
+ return null;
400
+ }
386
401
  const originalSize = Number(order.original_size) || 0;
387
402
  const filledSize = Number(order.size_matched) || 0;
388
403
  return {
@@ -609,6 +624,184 @@ export class TradingService {
609
624
  }));
610
625
  });
611
626
  }
627
+ /**
628
+ * Get reward configuration for a specific market
629
+ *
630
+ * Returns maxSpread, minSize, dailyRate for Q-Score calculation.
631
+ * Returns null if market has no active rewards.
632
+ */
633
+ async getMarketRewardConfig(conditionId) {
634
+ const rewards = await this.getCurrentRewards();
635
+ const market = rewards.find(r => r.conditionId === conditionId);
636
+ if (!market) {
637
+ return null;
638
+ }
639
+ // Find active reward config
640
+ const now = new Date();
641
+ const activeConfig = market.rewardsConfig.find(c => {
642
+ const start = new Date(c.startDate);
643
+ const end = new Date(c.endDate);
644
+ return now >= start && now <= end;
645
+ });
646
+ return {
647
+ conditionId: market.conditionId,
648
+ question: market.question,
649
+ maxSpread: market.rewardsMaxSpread,
650
+ minSize: market.rewardsMinSize,
651
+ dailyRate: activeConfig?.ratePerDay ?? 0,
652
+ totalPool: activeConfig?.totalRewards ?? 0,
653
+ startDate: activeConfig?.startDate ?? '',
654
+ endDate: activeConfig?.endDate ?? '',
655
+ isActive: !!activeConfig,
656
+ };
657
+ }
658
+ /**
659
+ * Estimate Q-Score for given parameters
660
+ *
661
+ * Q-Score = ((maxSpread - yourSpread) / maxSpread)² × orderSize
662
+ *
663
+ * Two-sided quotes get full score, one-sided gets 1/3.
664
+ */
665
+ estimateQScore(params) {
666
+ const { spread, maxSpread, orderSize, isTwoSided = true } = params;
667
+ // If spread exceeds max, no score
668
+ if (spread >= maxSpread || maxSpread <= 0) {
669
+ return {
670
+ score: 0,
671
+ effectiveScore: 0,
672
+ spread,
673
+ maxSpread,
674
+ orderSize,
675
+ isTwoSided,
676
+ percentile: 'below_threshold',
677
+ suggestions: ['Your spread exceeds the maximum qualifying spread'],
678
+ };
679
+ }
680
+ const ratio = (maxSpread - spread) / maxSpread;
681
+ const baseScore = Math.pow(ratio, 2) * orderSize;
682
+ // Two-sided gets full score, one-sided gets 1/3
683
+ const multiplier = isTwoSided ? 1.0 : 1 / 3;
684
+ const effectiveScore = baseScore * multiplier;
685
+ // Estimate percentile based on typical spread distributions
686
+ let percentile;
687
+ const spreadRatio = spread / maxSpread;
688
+ if (spreadRatio <= 0.2)
689
+ percentile = 'top10';
690
+ else if (spreadRatio <= 0.4)
691
+ percentile = 'top25';
692
+ else if (spreadRatio <= 0.6)
693
+ percentile = 'top50';
694
+ else if (spreadRatio <= 0.8)
695
+ percentile = 'average';
696
+ else
697
+ percentile = 'below_average';
698
+ // Generate suggestions
699
+ const suggestions = [];
700
+ if (!isTwoSided) {
701
+ suggestions.push('Enable two-sided quoting for 3x reward multiplier');
702
+ }
703
+ if (spreadRatio > 0.5) {
704
+ const tighterSpread = maxSpread * 0.4;
705
+ suggestions.push(`Tightening spread to ${(tighterSpread * 100).toFixed(1)}% would significantly increase rewards`);
706
+ }
707
+ if (orderSize < 50) {
708
+ suggestions.push('Increasing order size improves Q-Score proportionally');
709
+ }
710
+ return {
711
+ score: baseScore,
712
+ effectiveScore,
713
+ spread,
714
+ maxSpread,
715
+ orderSize,
716
+ isTwoSided,
717
+ percentile,
718
+ suggestions,
719
+ };
720
+ }
721
+ /**
722
+ * Get rewards summary for a date range
723
+ *
724
+ * Aggregates daily earnings into a summary.
725
+ */
726
+ async getRewardsSummary(startDate, endDate) {
727
+ // Default to last 7 days
728
+ const end = endDate ? new Date(endDate) : new Date();
729
+ const start = startDate ? new Date(startDate) : new Date(end.getTime() - 7 * 24 * 60 * 60 * 1000);
730
+ const earnings = [];
731
+ const currentDate = new Date(start);
732
+ // Fetch earnings for each day
733
+ while (currentDate <= end) {
734
+ const dateStr = currentDate.toISOString().split('T')[0];
735
+ try {
736
+ const dayEarnings = await this.getEarningsForDay(dateStr);
737
+ earnings.push(...dayEarnings);
738
+ }
739
+ catch {
740
+ // Skip days with no data
741
+ }
742
+ currentDate.setDate(currentDate.getDate() + 1);
743
+ }
744
+ // Aggregate by market
745
+ const marketEarnings = new Map();
746
+ let totalEarnings = 0;
747
+ for (const e of earnings) {
748
+ totalEarnings += e.earnings;
749
+ const current = marketEarnings.get(e.conditionId) || 0;
750
+ marketEarnings.set(e.conditionId, current + e.earnings);
751
+ }
752
+ // Find best market
753
+ let bestMarket = { conditionId: '', earnings: 0 };
754
+ for (const [conditionId, amount] of marketEarnings) {
755
+ if (amount > bestMarket.earnings) {
756
+ bestMarket = { conditionId, earnings: amount };
757
+ }
758
+ }
759
+ const days = Math.max(1, Math.ceil((end.getTime() - start.getTime()) / (24 * 60 * 60 * 1000)));
760
+ return {
761
+ startDate: start.toISOString().split('T')[0],
762
+ endDate: end.toISOString().split('T')[0],
763
+ totalEarnings,
764
+ averageDailyEarnings: totalEarnings / days,
765
+ marketCount: marketEarnings.size,
766
+ bestMarket,
767
+ totalDays: days,
768
+ };
769
+ }
770
+ /**
771
+ * Get top reward markets ranked by daily rate
772
+ *
773
+ * Useful for finding the most profitable markets to make.
774
+ */
775
+ async getTopRewardMarkets(limit = 10) {
776
+ const rewards = await this.getCurrentRewards();
777
+ return rewards
778
+ .filter(r => r.rewardsConfig.some(c => {
779
+ const now = new Date();
780
+ const start = new Date(c.startDate);
781
+ const end = new Date(c.endDate);
782
+ return now >= start && now <= end;
783
+ }))
784
+ .map(r => {
785
+ const activeConfig = r.rewardsConfig.find(c => {
786
+ const now = new Date();
787
+ return now >= new Date(c.startDate) && now <= new Date(c.endDate);
788
+ });
789
+ return {
790
+ conditionId: r.conditionId,
791
+ question: r.question,
792
+ marketSlug: r.marketSlug,
793
+ dailyRate: activeConfig?.ratePerDay ?? 0,
794
+ totalPool: activeConfig?.totalRewards ?? 0,
795
+ maxSpread: r.rewardsMaxSpread,
796
+ minSize: r.rewardsMinSize,
797
+ // Recommend spread at 40% of max for good Q-Score
798
+ recommendedSpread: r.rewardsMaxSpread * 0.4,
799
+ tokens: r.tokens,
800
+ };
801
+ })
802
+ .sort((a, b) => b.dailyRate - a.dailyRate)
803
+ .slice(0, limit);
804
+ }
612
805
  // ============================================================================
613
806
  // Balance & Allowance
614
807
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"trading-service.js","sourceRoot":"","sources":["../../../src/services/trading-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trading-service.js","sourceRoot":"","sources":["../../../src/services/trading-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@catalyst-team/poly-sdk",
3
- "version": "0.4.6",
3
+ "version": "0.5.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "TypeScript SDK for Polymarket - prediction markets trading, smart money analysis, and market data",
@@ -32,7 +32,6 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@polymarket/clob-client": "^5.1.3",
35
- "@polymarket/real-time-data-client": "^1.4.0",
36
35
  "@catalyst-team/cache": "^0.2.0",
37
36
  "@types/ws": "^8.18.1",
38
37
  "bottleneck": "^2.19.5",
@@ -1,215 +0,0 @@
1
- /**
2
- * CTF Detector
3
- *
4
- * Monitors Conditional Token Framework (CTF) operations:
5
- * - Split: USDC → YES + NO tokens
6
- * - Merge: YES + NO tokens → USDC
7
- * - Redeem: Winning token → USDC (after market resolution)
8
- *
9
- * Detection Methods:
10
- * - WebSocket: ERC1155 Transfer events (primary, low-latency)
11
- * - Polling: Balance changes (backup, reliable)
12
- *
13
- * ERC1155 Transfer Event Patterns:
14
- * - Split: Transfer(from=0x0, to=user, tokenId=YES/NO, amount)
15
- * - Merge: Transfer(from=user, to=0x0, tokenId=YES/NO, amount)
16
- * - Redeem: Transfer(from=user, to=0x0, tokenId=winningToken, amount)
17
- *
18
- * Usage:
19
- * ```ts
20
- * const detector = new CTFDetector({
21
- * privateKey: '0x...',
22
- * market: { conditionId, primaryTokenId, secondaryTokenId },
23
- * mode: 'hybrid',
24
- * });
25
- *
26
- * detector.on('split', (operation) => console.log('Split detected:', operation));
27
- * detector.on('merge', (operation) => console.log('Merge detected:', operation));
28
- * detector.on('redeem', (operation) => console.log('Redeem detected:', operation));
29
- *
30
- * await detector.start();
31
- * ```
32
- */
33
- import { EventEmitter } from 'events';
34
- /**
35
- * Detection mode
36
- */
37
- export type DetectionMode = 'websocket' | 'polling' | 'hybrid';
38
- /**
39
- * CTF operation types
40
- */
41
- export type CTFOperationType = 'split' | 'merge' | 'redeem';
42
- /**
43
- * CTF operation event base
44
- */
45
- interface CTFOperationBase {
46
- /** Operation type */
47
- type: CTFOperationType;
48
- /** User address */
49
- userAddress: string;
50
- /** Market condition ID */
51
- conditionId: string;
52
- /** Amount of tokens involved */
53
- amount: string;
54
- /** Timestamp */
55
- timestamp: number;
56
- /** Transaction hash (if available) */
57
- transactionHash?: string;
58
- /** Block number (if available) */
59
- blockNumber?: number;
60
- }
61
- /**
62
- * Split operation event
63
- * USDC → YES + NO tokens
64
- */
65
- export interface SplitOperation extends CTFOperationBase {
66
- type: 'split';
67
- /** Primary (YES) token ID */
68
- primaryTokenId: string;
69
- /** Secondary (NO) token ID */
70
- secondaryTokenId: string;
71
- }
72
- /**
73
- * Merge operation event
74
- * YES + NO tokens → USDC
75
- */
76
- export interface MergeOperation extends CTFOperationBase {
77
- type: 'merge';
78
- /** Primary (YES) token ID */
79
- primaryTokenId: string;
80
- /** Secondary (NO) token ID */
81
- secondaryTokenId: string;
82
- }
83
- /**
84
- * Redeem operation event
85
- * Winning token → USDC (after market resolution)
86
- */
87
- export interface RedeemOperation extends CTFOperationBase {
88
- type: 'redeem';
89
- /** Winning token ID */
90
- winningTokenId: string;
91
- }
92
- /**
93
- * CTF operation union type
94
- */
95
- export type CTFOperation = SplitOperation | MergeOperation | RedeemOperation;
96
- /**
97
- * CTF detector configuration
98
- */
99
- export interface CTFDetectorConfig {
100
- /** Private key for wallet */
101
- privateKey: string;
102
- /** Market info (conditionId, token IDs) */
103
- market: {
104
- conditionId: string;
105
- primaryTokenId: string;
106
- secondaryTokenId: string;
107
- };
108
- /** RPC URL for Polygon network (optional) */
109
- rpcUrl?: string;
110
- /** Detection mode (default: 'hybrid') */
111
- mode?: 'websocket' | 'polling' | 'hybrid';
112
- /** Polling interval in ms (default: 10000) */
113
- pollInterval?: number;
114
- /** Polling fallback delay in ms (default: 60000) */
115
- pollFallbackDelay?: number;
116
- /** Chain ID (default: 137 Polygon mainnet) */
117
- chainId?: number;
118
- /** Enable debug logging (default: false) */
119
- debug?: boolean;
120
- }
121
- /**
122
- * CTF Detector
123
- *
124
- * Features:
125
- * - WebSocket for low-latency detection (ERC1155 Transfer events)
126
- * - Polling for reliability (balance changes)
127
- * - Deduplication to prevent duplicate events
128
- * - Hybrid mode for best reliability
129
- */
130
- export declare class CTFDetector extends EventEmitter {
131
- private config;
132
- private tradingService;
133
- private ctfClient;
134
- private realtimeService;
135
- private rateLimiter;
136
- private subscription;
137
- private pollTimer;
138
- private fallbackTimer;
139
- private running;
140
- private lastBalanceSnapshot;
141
- private processedOperations;
142
- private lastWebSocketUpdate;
143
- private websocketConnected;
144
- constructor(config: CTFDetectorConfig);
145
- /**
146
- * Start CTF operation detection
147
- */
148
- start(): Promise<void>;
149
- /**
150
- * Stop CTF operation detection
151
- */
152
- stop(): void;
153
- /**
154
- * Start WebSocket subscription
155
- *
156
- * Note: Currently poly-sdk RealtimeServiceV2 supports user_order and user_trade events.
157
- * ERC1155 Transfer events would require additional WebSocket channel support.
158
- * For now, this is a placeholder for future implementation.
159
- */
160
- private startWebSocket;
161
- /**
162
- * Wait for WebSocket connection
163
- */
164
- private waitForConnection;
165
- /**
166
- * Start polling
167
- */
168
- private startPolling;
169
- /**
170
- * Schedule fallback polling
171
- *
172
- * In hybrid mode, start polling after a delay if WebSocket hasn't received updates
173
- */
174
- private scheduleFallbackPolling;
175
- /**
176
- * Poll for CTF operations by checking balance changes
177
- */
178
- private pollForCTFOperations;
179
- /**
180
- * Update balance snapshot
181
- */
182
- private updateBalanceSnapshot;
183
- /**
184
- * Detect split operation
185
- */
186
- private detectSplit;
187
- /**
188
- * Detect merge operation
189
- */
190
- private detectMerge;
191
- /**
192
- * Detect redeem operation
193
- */
194
- private detectRedeem;
195
- /**
196
- * Get statistics
197
- */
198
- getStats(): {
199
- websocketConnected: boolean;
200
- lastWebSocketUpdate: number;
201
- lastBalanceCheck: number | null;
202
- mode: DetectionMode;
203
- processedOperations: number;
204
- };
205
- /**
206
- * Log message (if debug enabled)
207
- */
208
- private log;
209
- }
210
- /**
211
- * Factory function to create CTFDetector
212
- */
213
- export declare function createCTFDetector(config: CTFDetectorConfig): CTFDetector;
214
- export {};
215
- //# sourceMappingURL=ctf-detector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ctf-detector.d.ts","sourceRoot":"","sources":["../../../src/services/ctf-detector.ts"],"names":[],"mappings":"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"}