pmxt-core 2.33.2 → 2.33.4
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.
- package/dist/BaseExchange.d.ts +5 -5
- package/dist/BaseExchange.js +5 -5
- package/dist/exchanges/kalshi/api.d.ts +1 -1
- package/dist/exchanges/kalshi/api.js +1 -1
- package/dist/exchanges/limitless/api.d.ts +1 -1
- package/dist/exchanges/limitless/api.js +1 -1
- package/dist/exchanges/myriad/api.d.ts +1 -1
- package/dist/exchanges/myriad/api.js +1 -1
- package/dist/exchanges/opinion/api.d.ts +1 -1
- package/dist/exchanges/opinion/api.js +1 -1
- package/dist/exchanges/polymarket/api-clob.d.ts +1 -1
- package/dist/exchanges/polymarket/api-clob.js +1 -1
- package/dist/exchanges/polymarket/api-data.d.ts +1 -1
- package/dist/exchanges/polymarket/api-data.js +1 -1
- package/dist/exchanges/polymarket/api-gamma.d.ts +1 -1
- package/dist/exchanges/polymarket/api-gamma.js +1 -1
- package/dist/exchanges/probable/api.d.ts +1 -1
- package/dist/exchanges/probable/api.js +1 -1
- package/dist/server/app.js +10 -3
- package/dist/server/openapi.yaml +28 -17
- package/package.json +3 -3
package/dist/BaseExchange.d.ts
CHANGED
|
@@ -571,35 +571,35 @@ export declare abstract class PredictionMarketExchange {
|
|
|
571
571
|
*/
|
|
572
572
|
close(): Promise<void>;
|
|
573
573
|
/**
|
|
574
|
-
*
|
|
574
|
+
* Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
|
|
575
575
|
*
|
|
576
576
|
* @param params - Match filter parameters (marketId, relation, minConfidence, etc.)
|
|
577
577
|
* @returns Array of matched markets with relation and confidence
|
|
578
578
|
*/
|
|
579
579
|
fetchMatches(params: FetchMatchesParams): Promise<MatchResult[]>;
|
|
580
580
|
/**
|
|
581
|
-
*
|
|
581
|
+
* Find the same or related event on other venues. Given an event on one venue, discover semantically equivalent events across every other venue PMXT ingests — including market-level match details for each child market.
|
|
582
582
|
*
|
|
583
583
|
* @param params - Event match filter parameters (eventId, relation, etc.)
|
|
584
584
|
* @returns Array of matched events with market-level match details
|
|
585
585
|
*/
|
|
586
586
|
fetchEventMatches(params: FetchEventMatchesParams): Promise<EventMatchResult[]>;
|
|
587
587
|
/**
|
|
588
|
-
* Compare prices across venues
|
|
588
|
+
* Compare live prices for the same market across venues. Finds identity matches and returns side-by-side best bid/ask prices so you can spot price differences at a glance.
|
|
589
589
|
*
|
|
590
590
|
* @param params - Match filter parameters (uses relation: 'identity' internally)
|
|
591
591
|
* @returns Array of price comparisons across venues
|
|
592
592
|
*/
|
|
593
593
|
compareMarketPrices(params: FetchMatchesParams): Promise<PriceComparison[]>;
|
|
594
594
|
/**
|
|
595
|
-
* Find hedging opportunities
|
|
595
|
+
* Find hedging opportunities across venues. Discovers subset/superset market relationships where one market's outcome implies another, enabling cross-venue hedging strategies with live prices.
|
|
596
596
|
*
|
|
597
597
|
* @param params - Match filter parameters
|
|
598
598
|
* @returns Array of subset/superset matches with live prices
|
|
599
599
|
*/
|
|
600
600
|
fetchHedges(params: FetchMatchesParams): Promise<PriceComparison[]>;
|
|
601
601
|
/**
|
|
602
|
-
* Scan for arbitrage opportunities across identity matches.
|
|
602
|
+
* Scan for arbitrage opportunities across venues. Finds identity matches where the same market is priced differently on different venues, returning opportunities sorted by spread size.
|
|
603
603
|
*
|
|
604
604
|
* @param params - Arbitrage scan parameters (minSpread, category, limit)
|
|
605
605
|
* @returns Array of arbitrage opportunities sorted by spread
|
package/dist/BaseExchange.js
CHANGED
|
@@ -764,7 +764,7 @@ class PredictionMarketExchange {
|
|
|
764
764
|
// Matching Methods (Router-only; stubs throw for standard exchanges)
|
|
765
765
|
// ----------------------------------------------------------------------------
|
|
766
766
|
/**
|
|
767
|
-
*
|
|
767
|
+
* Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
|
|
768
768
|
*
|
|
769
769
|
* @param params - Match filter parameters (marketId, relation, minConfidence, etc.)
|
|
770
770
|
* @returns Array of matched markets with relation and confidence
|
|
@@ -773,7 +773,7 @@ class PredictionMarketExchange {
|
|
|
773
773
|
throw new Error("Method fetchMatches not implemented.");
|
|
774
774
|
}
|
|
775
775
|
/**
|
|
776
|
-
*
|
|
776
|
+
* Find the same or related event on other venues. Given an event on one venue, discover semantically equivalent events across every other venue PMXT ingests — including market-level match details for each child market.
|
|
777
777
|
*
|
|
778
778
|
* @param params - Event match filter parameters (eventId, relation, etc.)
|
|
779
779
|
* @returns Array of matched events with market-level match details
|
|
@@ -782,7 +782,7 @@ class PredictionMarketExchange {
|
|
|
782
782
|
throw new Error("Method fetchEventMatches not implemented.");
|
|
783
783
|
}
|
|
784
784
|
/**
|
|
785
|
-
* Compare prices across venues
|
|
785
|
+
* Compare live prices for the same market across venues. Finds identity matches and returns side-by-side best bid/ask prices so you can spot price differences at a glance.
|
|
786
786
|
*
|
|
787
787
|
* @param params - Match filter parameters (uses relation: 'identity' internally)
|
|
788
788
|
* @returns Array of price comparisons across venues
|
|
@@ -791,7 +791,7 @@ class PredictionMarketExchange {
|
|
|
791
791
|
throw new Error("Method compareMarketPrices not implemented.");
|
|
792
792
|
}
|
|
793
793
|
/**
|
|
794
|
-
* Find hedging opportunities
|
|
794
|
+
* Find hedging opportunities across venues. Discovers subset/superset market relationships where one market's outcome implies another, enabling cross-venue hedging strategies with live prices.
|
|
795
795
|
*
|
|
796
796
|
* @param params - Match filter parameters
|
|
797
797
|
* @returns Array of subset/superset matches with live prices
|
|
@@ -800,7 +800,7 @@ class PredictionMarketExchange {
|
|
|
800
800
|
throw new Error("Method fetchHedges not implemented.");
|
|
801
801
|
}
|
|
802
802
|
/**
|
|
803
|
-
* Scan for arbitrage opportunities across identity matches.
|
|
803
|
+
* Scan for arbitrage opportunities across venues. Finds identity matches where the same market is priced differently on different venues, returning opportunities sorted by spread size.
|
|
804
804
|
*
|
|
805
805
|
* @param params - Arbitrage scan parameters (minSpread, category, limit)
|
|
806
806
|
* @returns Array of arbitrage opportunities sorted by spread
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/kalshi/Kalshi.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:08.985Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const kalshiApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.kalshiApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/kalshi/Kalshi.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:08.985Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.kalshiApiSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/limitless/Limitless.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:09.032Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const limitlessApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.limitlessApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/limitless/Limitless.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:09.032Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.limitlessApiSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/myriad/myriad.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:09.045Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const myriadApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.myriadApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/myriad/myriad.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:09.045Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.myriadApiSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/opinion/opinion-openapi.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:09.051Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const opinionApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.opinionApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/opinion/opinion-openapi.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:09.051Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.opinionApiSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketClobAPI.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:08.994Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const polymarketClobSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.polymarketClobSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketClobAPI.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:08.994Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.polymarketClobSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/Polymarket_Data_API.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:09.010Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const polymarketDataSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.polymarketDataSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/Polymarket_Data_API.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:09.010Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.polymarketDataSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketGammaAPI.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:09.007Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const polymarketGammaSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.polymarketGammaSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketGammaAPI.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:09.007Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.polymarketGammaSpec = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/probable/probable.yaml
|
|
3
|
-
* Generated at: 2026-04-
|
|
3
|
+
* Generated at: 2026-04-23T08:37:09.039Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const probableApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.probableApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/probable/probable.yaml
|
|
6
|
-
* Generated at: 2026-04-
|
|
6
|
+
* Generated at: 2026-04-23T08:37:09.039Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.probableApiSpec = {
|
package/dist/server/app.js
CHANGED
|
@@ -215,7 +215,14 @@ function createApp(options = {}) {
|
|
|
215
215
|
try {
|
|
216
216
|
const exchangeName = req.params.exchange.toLowerCase();
|
|
217
217
|
let exchange;
|
|
218
|
-
if (
|
|
218
|
+
if (exchangeName === "router") {
|
|
219
|
+
// Router uses the caller's Bearer token for its internal /v0/
|
|
220
|
+
// calls — not a server-side env var. Each request may carry a
|
|
221
|
+
// different key, so Router is never cached as a singleton.
|
|
222
|
+
const bearer = req.headers.authorization?.replace(/^Bearer\s+/i, "") || "";
|
|
223
|
+
exchange = createExchange(exchangeName, undefined, bearer);
|
|
224
|
+
}
|
|
225
|
+
else if (credentials &&
|
|
219
226
|
(credentials.privateKey ||
|
|
220
227
|
credentials.apiKey ||
|
|
221
228
|
credentials.apiToken)) {
|
|
@@ -334,7 +341,7 @@ async function startServer(port, accessToken) {
|
|
|
334
341
|
const app = createApp({ accessToken });
|
|
335
342
|
return app.listen(port, "127.0.0.1");
|
|
336
343
|
}
|
|
337
|
-
function createExchange(name, credentials) {
|
|
344
|
+
function createExchange(name, credentials, bearerToken) {
|
|
338
345
|
switch (name) {
|
|
339
346
|
case "polymarket":
|
|
340
347
|
return new polymarket_1.PolymarketExchange({
|
|
@@ -413,7 +420,7 @@ function createExchange(name, credentials) {
|
|
|
413
420
|
});
|
|
414
421
|
case "router":
|
|
415
422
|
return new router_1.Router({
|
|
416
|
-
apiKey:
|
|
423
|
+
apiKey: bearerToken,
|
|
417
424
|
});
|
|
418
425
|
default:
|
|
419
426
|
throw new Error(`Unknown exchange: ${name}`);
|
package/dist/server/openapi.yaml
CHANGED
|
@@ -530,7 +530,7 @@ paths:
|
|
|
530
530
|
or throws EventNotFound.
|
|
531
531
|
'/api/{exchange}/fetchOHLCV':
|
|
532
532
|
get:
|
|
533
|
-
summary: Fetch
|
|
533
|
+
summary: Fetch OHLCV
|
|
534
534
|
operationId: fetchOHLCV
|
|
535
535
|
parameters:
|
|
536
536
|
- $ref: '#/components/parameters/ExchangeParam'
|
|
@@ -574,7 +574,7 @@ paths:
|
|
|
574
574
|
description: Maximum number of results to return
|
|
575
575
|
responses:
|
|
576
576
|
'200':
|
|
577
|
-
description: Fetch
|
|
577
|
+
description: Fetch OHLCV response
|
|
578
578
|
content:
|
|
579
579
|
application/json:
|
|
580
580
|
schema:
|
|
@@ -1466,7 +1466,7 @@ paths:
|
|
|
1466
1466
|
connections.
|
|
1467
1467
|
'/api/{exchange}/fetchMatches':
|
|
1468
1468
|
get:
|
|
1469
|
-
summary:
|
|
1469
|
+
summary: Find Similar Markets
|
|
1470
1470
|
operationId: fetchMatches
|
|
1471
1471
|
parameters:
|
|
1472
1472
|
- $ref: '#/components/parameters/ExchangeParam'
|
|
@@ -1513,7 +1513,7 @@ paths:
|
|
|
1513
1513
|
type: boolean
|
|
1514
1514
|
responses:
|
|
1515
1515
|
'200':
|
|
1516
|
-
description:
|
|
1516
|
+
description: Find Similar Markets response
|
|
1517
1517
|
content:
|
|
1518
1518
|
application/json:
|
|
1519
1519
|
schema:
|
|
@@ -1525,10 +1525,13 @@ paths:
|
|
|
1525
1525
|
type: array
|
|
1526
1526
|
items:
|
|
1527
1527
|
$ref: '#/components/schemas/MatchResult'
|
|
1528
|
-
description:
|
|
1528
|
+
description: >-
|
|
1529
|
+
Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent
|
|
1530
|
+
markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap,
|
|
1531
|
+
disjoint), confidence score, and reasoning.
|
|
1529
1532
|
'/api/{exchange}/fetchEventMatches':
|
|
1530
1533
|
get:
|
|
1531
|
-
summary:
|
|
1534
|
+
summary: Find Similar Events
|
|
1532
1535
|
operationId: fetchEventMatches
|
|
1533
1536
|
parameters:
|
|
1534
1537
|
- $ref: '#/components/parameters/ExchangeParam'
|
|
@@ -1570,7 +1573,7 @@ paths:
|
|
|
1570
1573
|
type: boolean
|
|
1571
1574
|
responses:
|
|
1572
1575
|
'200':
|
|
1573
|
-
description:
|
|
1576
|
+
description: Find Similar Events response
|
|
1574
1577
|
content:
|
|
1575
1578
|
application/json:
|
|
1576
1579
|
schema:
|
|
@@ -1582,10 +1585,12 @@ paths:
|
|
|
1582
1585
|
type: array
|
|
1583
1586
|
items:
|
|
1584
1587
|
$ref: '#/components/schemas/EventMatchResult'
|
|
1585
|
-
description:
|
|
1588
|
+
description: >-
|
|
1589
|
+
Find the same or related event on other venues. Given an event on one venue, discover semantically equivalent
|
|
1590
|
+
events across every other venue PMXT ingests — including market-level match details for each child market.
|
|
1586
1591
|
'/api/{exchange}/compareMarketPrices':
|
|
1587
1592
|
post:
|
|
1588
|
-
summary: Compare
|
|
1593
|
+
summary: Compare Prices Across Venues
|
|
1589
1594
|
operationId: compareMarketPrices
|
|
1590
1595
|
parameters:
|
|
1591
1596
|
- $ref: '#/components/parameters/ExchangeParam'
|
|
@@ -1608,7 +1613,7 @@ paths:
|
|
|
1608
1613
|
- args
|
|
1609
1614
|
responses:
|
|
1610
1615
|
'200':
|
|
1611
|
-
description: Compare
|
|
1616
|
+
description: Compare Prices Across Venues response
|
|
1612
1617
|
content:
|
|
1613
1618
|
application/json:
|
|
1614
1619
|
schema:
|
|
@@ -1620,10 +1625,12 @@ paths:
|
|
|
1620
1625
|
type: array
|
|
1621
1626
|
items:
|
|
1622
1627
|
$ref: '#/components/schemas/PriceComparison'
|
|
1623
|
-
description:
|
|
1628
|
+
description: >-
|
|
1629
|
+
Compare live prices for the same market across venues. Finds identity matches and returns side-by-side best
|
|
1630
|
+
bid/ask prices so you can spot price differences at a glance.
|
|
1624
1631
|
'/api/{exchange}/fetchHedges':
|
|
1625
1632
|
get:
|
|
1626
|
-
summary:
|
|
1633
|
+
summary: Find Hedging Opportunities
|
|
1627
1634
|
operationId: fetchHedges
|
|
1628
1635
|
parameters:
|
|
1629
1636
|
- $ref: '#/components/parameters/ExchangeParam'
|
|
@@ -1670,7 +1677,7 @@ paths:
|
|
|
1670
1677
|
type: boolean
|
|
1671
1678
|
responses:
|
|
1672
1679
|
'200':
|
|
1673
|
-
description:
|
|
1680
|
+
description: Find Hedging Opportunities response
|
|
1674
1681
|
content:
|
|
1675
1682
|
application/json:
|
|
1676
1683
|
schema:
|
|
@@ -1682,10 +1689,12 @@ paths:
|
|
|
1682
1689
|
type: array
|
|
1683
1690
|
items:
|
|
1684
1691
|
$ref: '#/components/schemas/PriceComparison'
|
|
1685
|
-
description:
|
|
1692
|
+
description: >-
|
|
1693
|
+
Find hedging opportunities across venues. Discovers subset/superset market relationships where one market's
|
|
1694
|
+
outcome implies another, enabling cross-venue hedging strategies with live prices.
|
|
1686
1695
|
'/api/{exchange}/fetchArbitrage':
|
|
1687
1696
|
get:
|
|
1688
|
-
summary:
|
|
1697
|
+
summary: Find Arbitrage Opportunities
|
|
1689
1698
|
operationId: fetchArbitrage
|
|
1690
1699
|
parameters:
|
|
1691
1700
|
- $ref: '#/components/parameters/ExchangeParam'
|
|
@@ -1706,7 +1715,7 @@ paths:
|
|
|
1706
1715
|
type: number
|
|
1707
1716
|
responses:
|
|
1708
1717
|
'200':
|
|
1709
|
-
description:
|
|
1718
|
+
description: Find Arbitrage Opportunities response
|
|
1710
1719
|
content:
|
|
1711
1720
|
application/json:
|
|
1712
1721
|
schema:
|
|
@@ -1718,7 +1727,9 @@ paths:
|
|
|
1718
1727
|
type: array
|
|
1719
1728
|
items:
|
|
1720
1729
|
$ref: '#/components/schemas/ArbitrageOpportunity'
|
|
1721
|
-
description:
|
|
1730
|
+
description: >-
|
|
1731
|
+
Scan for arbitrage opportunities across venues. Finds identity matches where the same market is priced
|
|
1732
|
+
differently on different venues, returning opportunities sorted by spread size.
|
|
1722
1733
|
components:
|
|
1723
1734
|
parameters:
|
|
1724
1735
|
ExchangeParam:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pmxt-core",
|
|
3
|
-
"version": "2.33.
|
|
3
|
+
"version": "2.33.4",
|
|
4
4
|
"description": "pmxt is a unified prediction market data API. The ccxt for prediction markets.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"test": "jest -c jest.config.js",
|
|
30
30
|
"server": "tsx watch src/server/index.ts",
|
|
31
31
|
"server:prod": "node dist/server/index.js",
|
|
32
|
-
"generate:sdk:python": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g python -o ../sdks/python/generated --package-name pmxt_internal --additional-properties=projectName=pmxt-internal,packageVersion=2.33.
|
|
33
|
-
"generate:sdk:typescript": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g typescript-fetch -o ../sdks/typescript/generated --additional-properties=npmName=pmxtjs,npmVersion=2.33.
|
|
32
|
+
"generate:sdk:python": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g python -o ../sdks/python/generated --package-name pmxt_internal --additional-properties=projectName=pmxt-internal,packageVersion=2.33.4,library=urllib3",
|
|
33
|
+
"generate:sdk:typescript": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g typescript-fetch -o ../sdks/typescript/generated --additional-properties=npmName=pmxtjs,npmVersion=2.33.4,supportsES6=true,typescriptThreePlus=true && node ../sdks/typescript/scripts/fix-generated.js",
|
|
34
34
|
"fetch:openapi": "node scripts/fetch-openapi-specs.js",
|
|
35
35
|
"extract:jsdoc": "node ../scripts/extract-jsdoc.js",
|
|
36
36
|
"generate:docs": "npm run extract:jsdoc && node ../scripts/generate-api-docs.js",
|