@catalyst-team/poly-sdk 0.4.6 → 0.4.7

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 (55) 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 +25 -0
  4. package/dist/src/clients/data-api.d.ts.map +1 -1
  5. package/dist/src/clients/data-api.js +57 -0
  6. package/dist/src/clients/data-api.js.map +1 -1
  7. package/dist/src/core/types.d.ts +55 -0
  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 +4 -2
  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 -6
  44. package/dist/src/services/realtime-service-v2.d.ts.map +1 -1
  45. package/dist/src/services/realtime-service-v2.js +475 -70
  46. package/dist/src/services/realtime-service-v2.js.map +1 -1
  47. package/dist/src/services/trading-service.d.ts +129 -1
  48. package/dist/src/services/trading-service.d.ts.map +1 -1
  49. package/dist/src/services/trading-service.js +198 -5
  50. package/dist/src/services/trading-service.js.map +1 -1
  51. package/package.json +1 -2
  52. package/dist/src/services/ctf-detector.d.ts +0 -215
  53. package/dist/src/services/ctf-detector.d.ts.map +0 -1
  54. package/dist/src/services/ctf-detector.js +0 -420
  55. package/dist/src/services/ctf-detector.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-service-v2.js","sourceRoot":"","sources":["../../../src/services/realtime-service-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime-service-v2.js","sourceRoot":"","sources":["../../../src/services/realtime-service-v2.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export declare const POLYGON_MAINNET = 137;
26
26
  export declare const POLYGON_AMOY = 80002;
27
27
  /** Minimum order value in USDC (price * size >= MIN_ORDER_VALUE) */
28
28
  export declare const MIN_ORDER_VALUE_USDC = 1;
29
- /** Minimum order size in shares */
29
+ /** Default minimum order size in shares (fallback if market-specific value not provided) */
30
30
  export declare const MIN_ORDER_SIZE_SHARES = 5;
31
31
  export type { Side, OrderType } from '../core/types.js';
32
32
  export interface ApiCredentials {
@@ -49,6 +49,8 @@ export interface LimitOrderParams {
49
49
  size: number;
50
50
  orderType?: 'GTC' | 'GTD';
51
51
  expiration?: number;
52
+ /** Market-specific minimum order size (from CLOB API). Falls back to MIN_ORDER_SIZE_SHARES if not provided. */
53
+ minimumOrderSize?: number;
52
54
  }
53
55
  export interface MarketOrderParams {
54
56
  tokenId: string;
@@ -134,6 +136,105 @@ export interface MarketReward {
134
136
  totalRewards: number;
135
137
  }>;
136
138
  }
139
+ /**
140
+ * Market reward configuration for a specific market
141
+ */
142
+ export interface MarketRewardConfig {
143
+ conditionId: string;
144
+ question: string;
145
+ /** Maximum qualifying spread for rewards */
146
+ maxSpread: number;
147
+ /** Minimum order size for rewards */
148
+ minSize: number;
149
+ /** Daily reward rate in USDC */
150
+ dailyRate: number;
151
+ /** Total reward pool in USDC */
152
+ totalPool: number;
153
+ /** Reward period start date */
154
+ startDate: string;
155
+ /** Reward period end date */
156
+ endDate: string;
157
+ /** Whether rewards are currently active */
158
+ isActive: boolean;
159
+ }
160
+ /**
161
+ * Parameters for Q-Score estimation
162
+ */
163
+ export interface QScoreParams {
164
+ /** Your bid-ask spread */
165
+ spread: number;
166
+ /** Maximum qualifying spread (from market rewards) */
167
+ maxSpread: number;
168
+ /** Order size in shares */
169
+ orderSize: number;
170
+ /** Whether quoting both sides (YES and NO) */
171
+ isTwoSided?: boolean;
172
+ }
173
+ /**
174
+ * Q-Score estimation result
175
+ */
176
+ export interface QScoreEstimate {
177
+ /** Raw Q-Score before two-sided multiplier */
178
+ score: number;
179
+ /** Effective score after multiplier */
180
+ effectiveScore: number;
181
+ /** Your spread */
182
+ spread: number;
183
+ /** Maximum qualifying spread */
184
+ maxSpread: number;
185
+ /** Order size */
186
+ orderSize: number;
187
+ /** Whether two-sided */
188
+ isTwoSided: boolean;
189
+ /** Estimated percentile ranking */
190
+ percentile: 'top10' | 'top25' | 'top50' | 'average' | 'below_average' | 'below_threshold';
191
+ /** Optimization suggestions */
192
+ suggestions: string[];
193
+ }
194
+ /**
195
+ * Rewards summary for a date range
196
+ */
197
+ export interface RewardsSummary {
198
+ startDate: string;
199
+ endDate: string;
200
+ /** Total earnings in USDC */
201
+ totalEarnings: number;
202
+ /** Average daily earnings */
203
+ averageDailyEarnings: number;
204
+ /** Number of markets earned from */
205
+ marketCount: number;
206
+ /** Best performing market */
207
+ bestMarket: {
208
+ conditionId: string;
209
+ earnings: number;
210
+ };
211
+ /** Number of days in range */
212
+ totalDays: number;
213
+ }
214
+ /**
215
+ * Top reward market information
216
+ */
217
+ export interface TopRewardMarket {
218
+ conditionId: string;
219
+ question: string;
220
+ marketSlug: string;
221
+ /** Daily reward rate */
222
+ dailyRate: number;
223
+ /** Total reward pool */
224
+ totalPool: number;
225
+ /** Maximum qualifying spread */
226
+ maxSpread: number;
227
+ /** Minimum order size */
228
+ minSize: number;
229
+ /** Recommended spread for good Q-Score (40% of max) */
230
+ recommendedSpread: number;
231
+ /** Token information */
232
+ tokens: Array<{
233
+ tokenId: string;
234
+ outcome: string;
235
+ price: number;
236
+ }>;
237
+ }
137
238
  export declare class TradingService {
138
239
  private rateLimiter;
139
240
  private cache;
@@ -256,6 +357,33 @@ export declare class TradingService {
256
357
  areOrdersScoring(orderIds: string[]): Promise<Record<string, boolean>>;
257
358
  getEarningsForDay(date: string): Promise<UserEarning[]>;
258
359
  getCurrentRewards(): Promise<MarketReward[]>;
360
+ /**
361
+ * Get reward configuration for a specific market
362
+ *
363
+ * Returns maxSpread, minSize, dailyRate for Q-Score calculation.
364
+ * Returns null if market has no active rewards.
365
+ */
366
+ getMarketRewardConfig(conditionId: string): Promise<MarketRewardConfig | null>;
367
+ /**
368
+ * Estimate Q-Score for given parameters
369
+ *
370
+ * Q-Score = ((maxSpread - yourSpread) / maxSpread)² × orderSize
371
+ *
372
+ * Two-sided quotes get full score, one-sided gets 1/3.
373
+ */
374
+ estimateQScore(params: QScoreParams): QScoreEstimate;
375
+ /**
376
+ * Get rewards summary for a date range
377
+ *
378
+ * Aggregates daily earnings into a summary.
379
+ */
380
+ getRewardsSummary(startDate?: string, endDate?: string): Promise<RewardsSummary>;
381
+ /**
382
+ * Get top reward markets ranked by daily rate
383
+ *
384
+ * Useful for finding the most profitable markets to make.
385
+ */
386
+ getTopRewardMarkets(limit?: number): Promise<TopRewardMarket[]>;
259
387
  getBalanceAllowance(assetType: 'COLLATERAL' | 'CONDITIONAL', tokenId?: string): Promise<{
260
388
  balance: string;
261
389
  allowance: string;
@@ -1 +1 @@
1
- {"version":3,"file":"trading-service.d.ts","sourceRoot":"","sources":["../../../src/services/trading-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trading-service.d.ts","sourceRoot":"","sources":["../../../src/services/trading-service.ts"],"names":[],"mappings":"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"}
@@ -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
  // ============================================================================