{
"openapi": "3.0.0",
"info": {
"title": "PMXT Hosted API",
"description": "One API for supported prediction markets. Hosted catalog search in under 10ms, a unified schema for supported venues, and venue-native trading where venues expose writes.",
"version": "2.54.0"
},
"servers": [
{
"url": "https://api.pmxt.dev",
"description": "Hosted PMXT (production)"
}
],
"paths": {
"/health": {
"get": {
"summary": "Server Health Check",
"operationId": "healthCheck",
"responses": {
"200": {
"description": "Server is consistent and running.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "ok"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
}
}
}
}
}
},
"security": []
}
},
"/api/{exchange}/getAuthNonce": {
"post": {
"summary": "Get Auth Nonce",
"operationId": "getAuthNonce",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "GetAuthNonceRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "string"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Get Auth Nonce response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"description": "Get a cryptographic nonce for Web3 login.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.get_auth_nonce()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.getAuthNonce();"
}
]
}
},
"/api/{exchange}/loginWithSignature": {
"post": {
"summary": "Login With Signature",
"operationId": "loginWithSignature",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "LoginWithSignatureRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Login With Signature response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object"
}
}
}
]
}
}
}
}
},
"description": "Login with a signed nonce to obtain session credentials.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.login_with_signature()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loginWithSignature();"
}
]
}
},
"/api/{exchange}/logout": {
"post": {
"summary": "Logout",
"operationId": "logout",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "LogoutRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "string"
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Logout response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
},
"description": "Logout and invalidate the current session.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.logout()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.logout();"
}
]
}
},
"/api/{exchange}/isSessionActive": {
"post": {
"summary": "Is Session Active",
"operationId": "isSessionActive",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "IsSessionActiveRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "string"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Is Session Active response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "boolean"
}
}
}
]
}
}
}
}
},
"description": "Check if a session is active for the given wallet address.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.is_session_active()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.isSessionActive();"
}
]
}
},
"/api/{exchange}/loadMarkets": {
"post": {
"summary": "Load Markets",
"operationId": "loadMarkets",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "LoadMarketsRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "boolean"
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Load Markets response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/UnifiedMarket"
}
}
}
}
]
}
}
}
}
},
"description": "Load and cache all markets from the exchange into `this.markets` and `this.marketsBySlug`. Subsequent calls return the cached result without hitting the API again. This is the correct way to paginate or iterate over markets without drift. Because `fetchMarkets()` always hits the API, repeated calls with different `offset` values may return inconsistent results if the exchange reorders or adds markets between requests. Use `loadMarkets()` once to get a stable snapshot, then paginate over `Object.values(exchange.markets)` locally.",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.load_markets()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.loadMarkets();"
}
]
}
},
"/api/{exchange}/fetchMarkets": {
"get": {
"summary": "Fetch Markets",
"operationId": "fetchMarkets",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset — number of results to skip"
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"volume",
"liquidity",
"newest"
]
},
"description": "Sort order for results"
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"type": "string",
"enum": [
"active",
"inactive",
"closed",
"all"
]
},
"description": "Filter by market status (default: 'active', 'inactive' and 'closed' are interchangeable)"
},
{
"in": "query",
"name": "searchIn",
"required": false,
"schema": {
"type": "string",
"enum": [
"title",
"description",
"both"
]
},
"description": "Where to search (default: 'title')"
},
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "For keyword search"
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
},
"description": "For slug/ticker lookup"
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "Direct lookup by market ID"
},
{
"in": "query",
"name": "outcomeId",
"required": false,
"schema": {
"type": "string"
},
"description": "Reverse lookup -- find market containing this outcome"
},
{
"in": "query",
"name": "eventId",
"required": false,
"schema": {
"type": "string"
},
"description": "Find markets belonging to an event"
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "number"
},
"description": "For pagination (used by Limitless)"
},
{
"in": "query",
"name": "similarityThreshold",
"required": false,
"schema": {
"type": "number"
},
"description": "For semantic search (used by Limitless)"
},
{
"in": "query",
"name": "sourceExchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by source venue (e.g. 'polymarket', 'kalshi', 'myriad'). `exchange` is an alias."
},
{
"in": "query",
"name": "exchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Alias for `sourceExchange`."
}
],
"responses": {
"200": {
"description": "Fetch Markets response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedMarket"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch markets with optional filtering, search, or slug lookup. Always hits the exchange API — results reflect the live state at the time of the call.",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarkets({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
}
]
}
},
"/api/{exchange}/fetchMarketsPaginated": {
"get": {
"summary": "Fetch Markets Paginated",
"operationId": "fetchMarketsPaginated",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "filter",
"required": false,
"schema": {
"$ref": "#/components/schemas/MarketFilterCriteria"
}
}
],
"responses": {
"200": {
"description": "Fetch Markets Paginated response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PaginatedMarketsResult"
}
}
}
]
}
}
}
}
},
"description": "Fetch markets with cursor-based pagination backed by a stable in-memory snapshot. On the first call (or when no cursor is supplied), fetches all markets once and caches them. Subsequent calls with a cursor returned from a previous call slice directly from the cached snapshot — no additional API calls are made. The snapshot is invalidated after `snapshotTTL` ms (configured via `ExchangeOptions` in the constructor). A request using a cursor from an expired snapshot throws `'Cursor has expired'`.",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_markets_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketsPaginated({ limit: 10, cursor: \"abc123\" });"
}
]
}
},
"/api/{exchange}/fetchEventsPaginated": {
"get": {
"summary": "Fetch Events Paginated",
"operationId": "fetchEventsPaginated",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "filter",
"required": false,
"schema": {
"$ref": "#/components/schemas/EventFilterCriteria"
}
}
],
"responses": {
"200": {
"description": "Fetch Events Paginated response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PaginatedEventsResult"
}
}
}
]
}
}
}
}
},
"description": "Paginated variant of {@link fetchEvents}. On the first call (no `cursor`), all events are fetched from the exchange and cached in an in-memory snapshot. A cursor is returned along with the first page. Subsequent calls with that cursor serve additional pages directly from the cached snapshot -- no additional API calls are made. The snapshot is invalidated after `snapshotTTL` ms (configured via `ExchangeOptions` in the constructor). A request using a cursor from an expired snapshot throws `'Cursor has expired'`.",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events_paginated(limit=10, cursor=\"abc123\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventsPaginated({ limit: 10, cursor: \"abc123\" });"
}
]
}
},
"/api/{exchange}/fetchEvents": {
"get": {
"summary": "Fetch Events",
"operationId": "fetchEvents",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "For keyword search"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque venue pagination cursor, where supported."
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset — number of results to skip"
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"volume",
"liquidity",
"newest"
]
},
"description": "Sort order for results"
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"type": "string",
"enum": [
"active",
"inactive",
"closed",
"all"
]
},
"description": "Filter by event status (default: 'active', 'inactive' and 'closed' are interchangeable)"
},
{
"in": "query",
"name": "searchIn",
"required": false,
"schema": {
"type": "string",
"enum": [
"title",
"description",
"both"
]
},
"description": "Where to search (default: 'title')"
},
{
"in": "query",
"name": "eventId",
"required": false,
"schema": {
"type": "string"
},
"description": "Direct lookup by event ID"
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
},
"description": "Lookup by event slug"
},
{
"in": "query",
"name": "series",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter events by their parent series. Accepts the venue-native series id / ticker / slug (e.g. Kalshi `\"KXATPMATCH\"`, Polymarket `\"wta\"`). Passed through to the vendor where supported, otherwise applied to `sourceMetadata` after fetch."
},
{
"in": "query",
"name": "filter",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EventFilterCriteria"
}
]
},
"description": "Optional client-side filter applied after fetching"
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by category. Each event belongs to a venue-assigned category such as \"Sports\", \"Politics\", \"Crypto\", \"Bitcoin\", \"Soccer\", \"Economic Policy\" (Polymarket) or \"Sports\", \"Mentions\" (Kalshi)."
},
{
"in": "query",
"name": "tags",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Filter by tags. Returns events matching ANY of the provided tags. Tags are more specific than categories -- for example a \"Politics\" event might carry tags [\"Politics\", \"Geopolitics\", \"Middle East\", \"Iran\"]. Common tags include \"Crypto\", \"Elections\", \"Fed Rates\", \"FIFA World Cup\", \"Trump\"."
},
{
"in": "query",
"name": "sourceExchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by source venue (e.g. 'polymarket', 'kalshi', 'myriad'). `exchange` is an alias."
},
{
"in": "query",
"name": "exchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Alias for `sourceExchange`."
}
],
"responses": {
"200": {
"description": "Fetch Events response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedEvent"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch events with optional keyword search. Events group related markets together (e.g., \"Who will be Fed Chair?\" contains multiple candidate markets).",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_events(\n query=\"election\",\n limit=10,\n status=\"active\",\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvents({\n query: \"election\",\n limit: 10,\n status: \"active\",\n});"
}
]
}
},
"/api/{exchange}/fetchSeries": {
"get": {
"summary": "Fetch Series",
"operationId": "fetchSeries",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"responses": {
"200": {
"description": "Fetch Series response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedSeries"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch the recurring series (fourth tier above Event -> Market -> Outcome) that this venue exposes. Returns an empty array on venues without a series concept (Limitless, Smarkets, Probable, Metaculus, Baozi, Hyperliquid, SuiBets, Polymarket US). - `params.id` -> a single matching series with its events populated where supported. - no params -> the full list, typically without nested events for payload size.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_series()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchSeries();"
}
]
}
},
"/api/{exchange}/fetchMarket": {
"get": {
"summary": "Fetch Market",
"operationId": "fetchMarket",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset — number of results to skip"
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"volume",
"liquidity",
"newest"
]
},
"description": "Sort order for results"
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"type": "string",
"enum": [
"active",
"inactive",
"closed",
"all"
]
},
"description": "Filter by market status (default: 'active', 'inactive' and 'closed' are interchangeable)"
},
{
"in": "query",
"name": "searchIn",
"required": false,
"schema": {
"type": "string",
"enum": [
"title",
"description",
"both"
]
},
"description": "Where to search (default: 'title')"
},
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "For keyword search"
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
},
"description": "For slug/ticker lookup"
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "Direct lookup by market ID"
},
{
"in": "query",
"name": "outcomeId",
"required": false,
"schema": {
"type": "string"
},
"description": "Reverse lookup -- find market containing this outcome"
},
{
"in": "query",
"name": "eventId",
"required": false,
"schema": {
"type": "string"
},
"description": "Find markets belonging to an event"
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"type": "number"
},
"description": "For pagination (used by Limitless)"
},
{
"in": "query",
"name": "similarityThreshold",
"required": false,
"schema": {
"type": "number"
},
"description": "For semantic search (used by Limitless)"
},
{
"in": "query",
"name": "sourceExchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by source venue (e.g. 'polymarket', 'kalshi', 'myriad'). `exchange` is an alias."
},
{
"in": "query",
"name": "exchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Alias for `sourceExchange`."
}
],
"responses": {
"200": {
"description": "Fetch Market response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/UnifiedMarket"
}
}
}
]
}
}
}
}
},
"description": "Fetch a single market by lookup parameters. Convenience wrapper around fetchMarkets() that returns a single result or throws MarketNotFound.",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market(market_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarket({ marketId: \"12345\" });"
}
]
}
},
"/api/{exchange}/fetchEvent": {
"get": {
"summary": "Fetch Event",
"operationId": "fetchEvent",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "For keyword search"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque venue pagination cursor, where supported."
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"type": "number"
},
"description": "Pagination offset — number of results to skip"
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"volume",
"liquidity",
"newest"
]
},
"description": "Sort order for results"
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"type": "string",
"enum": [
"active",
"inactive",
"closed",
"all"
]
},
"description": "Filter by event status (default: 'active', 'inactive' and 'closed' are interchangeable)"
},
{
"in": "query",
"name": "searchIn",
"required": false,
"schema": {
"type": "string",
"enum": [
"title",
"description",
"both"
]
},
"description": "Where to search (default: 'title')"
},
{
"in": "query",
"name": "eventId",
"required": false,
"schema": {
"type": "string"
},
"description": "Direct lookup by event ID"
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
},
"description": "Lookup by event slug"
},
{
"in": "query",
"name": "series",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter events by their parent series. Accepts the venue-native series id / ticker / slug (e.g. Kalshi `\"KXATPMATCH\"`, Polymarket `\"wta\"`). Passed through to the vendor where supported, otherwise applied to `sourceMetadata` after fetch."
},
{
"in": "query",
"name": "filter",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EventFilterCriteria"
}
]
},
"description": "Optional client-side filter applied after fetching"
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by category. Each event belongs to a venue-assigned category such as \"Sports\", \"Politics\", \"Crypto\", \"Bitcoin\", \"Soccer\", \"Economic Policy\" (Polymarket) or \"Sports\", \"Mentions\" (Kalshi)."
},
{
"in": "query",
"name": "tags",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Filter by tags. Returns events matching ANY of the provided tags. Tags are more specific than categories -- for example a \"Politics\" event might carry tags [\"Politics\", \"Geopolitics\", \"Middle East\", \"Iran\"]. Common tags include \"Crypto\", \"Elections\", \"Fed Rates\", \"FIFA World Cup\", \"Trump\"."
},
{
"in": "query",
"name": "sourceExchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by source venue (e.g. 'polymarket', 'kalshi', 'myriad'). `exchange` is an alias."
},
{
"in": "query",
"name": "exchange",
"required": false,
"schema": {
"type": "string"
},
"description": "Alias for `sourceExchange`."
}
],
"responses": {
"200": {
"description": "Fetch Event response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/UnifiedEvent"
}
}
}
]
}
}
}
}
},
"description": "Fetch a single event by lookup parameters. Convenience wrapper around fetchEvents() that returns a single result or throws EventNotFound.",
"security": [],
"x-mint": {
"content": "\n**Faster with an API key** — With a PMXT API key this endpoint is served from an indexed catalog (~10 ms) instead of proxying to the venue (~500 ms). No code changes required — same request, same response, just faster. [Learn more](/concepts/catalog-vs-live).\n"
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event(event_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEvent({ eventId: \"12345\" });"
}
]
}
},
"/api/{exchange}/fetchEventMetadata": {
"get": {
"summary": "Fetch Event Metadata",
"operationId": "fetchEventMetadata",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "eventTicker",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Fetch Event Metadata response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": {}
}
}
}
]
}
}
}
}
},
"description": "Fetch venue-native metadata for a specific event when the exchange exposes a dedicated metadata endpoint. Kalshi implements this for `GET /events/{event_ticker}/metadata`.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_metadata(event_ticker=\"value\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMetadata({ eventTicker: \"value\" });"
}
]
}
},
"/api/{exchange}/fetchOHLCV": {
"get": {
"summary": "Fetch OHLCV",
"operationId": "fetchOHLCV",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "outcomeId",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "resolution",
"required": false,
"schema": {
"type": "string"
},
"description": "Required for candle aggregation"
},
{
"in": "query",
"name": "start",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Start of the time range"
},
{
"in": "query",
"name": "end",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "End of the time range"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
}
],
"responses": {
"200": {
"description": "Fetch OHLCV response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PriceCandle"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch historical OHLCV (candlestick) price data for a specific market outcome.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\nfrom datetime import datetime, timezone\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_ohlcv(\n \"67890\",\n resolution=\"1h\",\n start=datetime(2026, 1, 1, tzinfo=timezone.utc),\n end=datetime(2026, 1, 31, tzinfo=timezone.utc),\n limit=10,\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOHLCV(\n \"67890\",\n {\n resolution: \"1h\",\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
}
]
}
},
"/api/{exchange}/fetchOrderBook": {
"get": {
"summary": "Fetch Order Book",
"operationId": "fetchOrderBook",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "outcomeId",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "side",
"required": false,
"schema": {
"type": "string",
"enum": [
"yes",
"no"
]
},
"description": "Outcome side: 'yes' or 'no'. Required for exchanges like Limitless where the API returns a single orderbook per market."
},
{
"in": "query",
"name": "outcome",
"required": false,
"schema": {
"type": "string"
},
"description": "Outcome alias: 'yes' or 'no', or an outcome token ID. When set, the first argument is treated as a market ID and this value selects which outcome's order book to fetch. Accepts the literal strings 'yes'/'no' (resolved via a market lookup) or a raw outcome token ID."
},
{
"in": "query",
"name": "since",
"required": false,
"schema": {
"type": "number"
},
"description": "Unix timestamp (ms) — fetch a historical snapshot at or before this time, or the start of a range when combined with `until` (hosted API only)."
},
{
"in": "query",
"name": "until",
"required": false,
"schema": {
"type": "number"
},
"description": "Unix timestamp (ms) — end of a historical range. When combined with `since`, returns an array of reconstructed L2 OrderBook snapshots between `since` and `until` (hosted API only)."
}
],
"responses": {
"200": {
"description": "Fetch Order Book response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/OrderBook"
}
}
}
]
}
}
}
}
},
"description": "Fetch the order book (bids/asks) for a specific outcome. Supports live and historical queries. For historical data, pass `since` to get a single snapshot, or `since` + `until` to get an array of fully reconstructed L2 books from the archive. Range queries return up to `limit` snapshots (default 100, max 1000).",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_book(\n \"67890\",\n limit=10,\n params={\"outcome\": \"yes\"},\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBook(\n \"67890\",\n 10,\n { outcome: \"yes\" },\n);"
}
]
}
},
"/api/{exchange}/fetchOrderBooks": {
"post": {
"summary": "Fetch Order Books",
"operationId": "fetchOrderBooks",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "FetchOrderBooksRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "array",
"items": {
"type": "string"
}
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Fetch Order Books response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/OrderBook"
}
}
}
}
]
}
}
}
}
},
"description": "Batch variant of {@link fetchOrderBook}. Fetches order books for multiple outcomes in a single request where the exchange supports it.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order_books([\"67890\"])"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrderBooks([\"67890\"]);"
}
]
}
},
"/api/{exchange}/fetchTrades": {
"get": {
"summary": "Fetch Trades",
"operationId": "fetchTrades",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "outcomeId",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "start",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Start of the time range"
},
{
"in": "query",
"name": "end",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "End of the time range"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return (max {@link MAX_TRADES_LIMIT})"
}
],
"responses": {
"200": {
"description": "Fetch Trades response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Trade"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch raw trade history for a specific outcome.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_trades(\n \"67890\",\n start=\"2026-01-01T00:00:00Z\",\n end=\"2026-01-31T00:00:00Z\",\n limit=10,\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchTrades(\n \"67890\",\n {\n start: new Date(\"2026-01-01T00:00:00Z\"),\n end: new Date(\"2026-01-31T00:00:00Z\"),\n limit: 10,\n },\n);"
}
]
}
},
"/api/{exchange}/createOrder": {
"post": {
"summary": "Create Order",
"operationId": "createOrder",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "CreateOrderRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"$ref": "#/components/schemas/CreateOrderParams"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Create Order response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Order"
}
}
}
]
}
}
}
}
},
"description": "Place a new order on the exchange.",
"tags": [
"Local Only"
],
"x-mint": {
"metadata": {
"tag": "Local Only"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Polymarket(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n signature_type=\"gnosis-safe\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Limitless(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Kalshi(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.KalshiDemo(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Probable(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Baozi(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Myriad(\n api_key=\"YOUR_API_KEY\",\n wallet_address=\"YOUR_WALLET_ADDRESS\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Opinion(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Metaculus(\n api_token=\"YOUR_API_TOKEN\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Smarkets(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.PolymarketUS(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hyperliquid(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.GeminiTitan(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.SuiBets()\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Rain(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hunch(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.create_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Polymarket({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n signatureType: \"gnosis-safe\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Limitless({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Kalshi({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new KalshiDemo({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Probable({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Baozi({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Myriad({\n apiKey: \"YOUR_API_KEY\",\n walletAddress: \"YOUR_WALLET_ADDRESS\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Opinion({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Metaculus({\n apiToken: \"YOUR_API_TOKEN\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Smarkets({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new PolymarketUS({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hyperliquid({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new GeminiTitan({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new SuiBets();\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Rain({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hunch({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.createOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
}
]
}
},
"/api/{exchange}/buildOrder": {
"post": {
"summary": "Build Order",
"operationId": "buildOrder",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "BuildOrderRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"$ref": "#/components/schemas/CreateOrderParams"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Build Order response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/BuiltOrder"
}
}
}
]
}
}
}
}
},
"description": "Build an order payload without submitting it to the exchange. Returns the exchange-native signed order or request body for inspection, forwarding through a middleware layer, or deferred submission via submitOrder().",
"tags": [
"Local Only"
],
"x-mint": {
"metadata": {
"tag": "Local Only"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Polymarket(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n signature_type=\"gnosis-safe\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Limitless(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Kalshi(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.KalshiDemo(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Probable(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Baozi(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Myriad(\n api_key=\"YOUR_API_KEY\",\n wallet_address=\"YOUR_WALLET_ADDRESS\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Opinion(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Metaculus(\n api_token=\"YOUR_API_TOKEN\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Smarkets(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.PolymarketUS(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hyperliquid(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.GeminiTitan(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.SuiBets()\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Rain(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hunch(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.build_order(\n market_id=\"12345\",\n outcome_id=\"67890\",\n side=\"buy\",\n type=\"limit\",\n amount=10,\n price=0.55,\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Polymarket({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n signatureType: \"gnosis-safe\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Limitless({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Kalshi({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new KalshiDemo({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Probable({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Baozi({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Myriad({\n apiKey: \"YOUR_API_KEY\",\n walletAddress: \"YOUR_WALLET_ADDRESS\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Opinion({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Metaculus({\n apiToken: \"YOUR_API_TOKEN\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Smarkets({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new PolymarketUS({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hyperliquid({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new GeminiTitan({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new SuiBets();\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Rain({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hunch({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.buildOrder({\n marketId: \"12345\",\n outcomeId: \"67890\",\n side: \"buy\",\n type: \"limit\",\n amount: 10,\n price: 0.55,\n});"
}
]
}
},
"/api/{exchange}/submitOrder": {
"post": {
"summary": "Submit Order",
"operationId": "submitOrder",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "SubmitOrderRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"$ref": "#/components/schemas/BuiltOrder"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Submit Order response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Order"
}
}
}
]
}
}
}
}
},
"description": "Submit a pre-built order returned by buildOrder().",
"tags": [
"Local Only"
],
"x-mint": {
"metadata": {
"tag": "Local Only"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Polymarket(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n signature_type=\"gnosis-safe\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Limitless(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Kalshi(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.KalshiDemo(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Probable(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Baozi(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Myriad(\n api_key=\"YOUR_API_KEY\",\n wallet_address=\"YOUR_WALLET_ADDRESS\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Opinion(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Metaculus(\n api_token=\"YOUR_API_TOKEN\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Smarkets(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.PolymarketUS(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hyperliquid(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.GeminiTitan(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.SuiBets()\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Rain(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hunch(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nbuilt = exchange.build_order(market_id=\"12345\", outcome_id=\"67890\", side=\"buy\", type=\"limit\", amount=10, price=0.55)\nresult = exchange.submit_order(built)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Polymarket({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n signatureType: \"gnosis-safe\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Limitless({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Kalshi({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new KalshiDemo({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Probable({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Baozi({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Myriad({\n apiKey: \"YOUR_API_KEY\",\n walletAddress: \"YOUR_WALLET_ADDRESS\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Opinion({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Metaculus({\n apiToken: \"YOUR_API_TOKEN\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Smarkets({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new PolymarketUS({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hyperliquid({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new GeminiTitan({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new SuiBets();\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Rain({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hunch({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst built = await exchange.buildOrder({ marketId: \"12345\", outcomeId: \"67890\", side: \"buy\", type: \"limit\", amount: 10, price: 0.55 });\nconst result = await exchange.submitOrder(built);"
}
]
}
},
"/api/{exchange}/cancelOrder": {
"post": {
"summary": "Cancel Order",
"operationId": "cancelOrder",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "CancelOrderRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "string"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Cancel Order response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Order"
}
}
}
]
}
}
}
}
},
"description": "Cancel an existing open order.",
"tags": [
"Local Only"
],
"x-mint": {
"metadata": {
"tag": "Local Only"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Polymarket(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n signature_type=\"gnosis-safe\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Limitless(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Kalshi(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.KalshiDemo(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Probable(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n passphrase=\"YOUR_PASSPHRASE\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Baozi(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Myriad(\n api_key=\"YOUR_API_KEY\",\n wallet_address=\"YOUR_WALLET_ADDRESS\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Opinion(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n proxy_address=\"YOUR_PROXY_ADDRESS\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Metaculus(\n api_token=\"YOUR_API_TOKEN\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Smarkets(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.PolymarketUS(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hyperliquid(\n api_key=\"YOUR_API_KEY\",\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.GeminiTitan(\n api_key=\"YOUR_API_KEY\",\n api_secret=\"YOUR_API_SECRET\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.SuiBets()\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Rain(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# Runs locally — never proxied through PMXT servers\nexchange = pmxt.Hunch(\n private_key=\"YOUR_PRIVATE_KEY\",\n)\nresult = exchange.cancel_order(\"ord-001\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Polymarket({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n signatureType: \"gnosis-safe\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Limitless({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Kalshi({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new KalshiDemo({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Probable({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n passphrase: \"YOUR_PASSPHRASE\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Baozi({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Myriad({\n apiKey: \"YOUR_API_KEY\",\n walletAddress: \"YOUR_WALLET_ADDRESS\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Opinion({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n proxyAddress: \"YOUR_PROXY_ADDRESS\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Metaculus({\n apiToken: \"YOUR_API_TOKEN\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Smarkets({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new PolymarketUS({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hyperliquid({\n apiKey: \"YOUR_API_KEY\",\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new GeminiTitan({\n apiKey: \"YOUR_API_KEY\",\n apiSecret: \"YOUR_API_SECRET\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new SuiBets();\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Rain({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// Runs locally — never proxied through PMXT servers\nconst exchange = new Hunch({\n privateKey: \"YOUR_PRIVATE_KEY\",\n});\nconst result = await exchange.cancelOrder(\"ord-001\");"
}
]
}
},
"/api/{exchange}/fetchOrder": {
"get": {
"summary": "Fetch Order",
"operationId": "fetchOrder",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "orderId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Fetch Order response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Order"
}
}
}
]
}
}
}
}
},
"description": "Fetch a specific order by ID.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_order(\"ord-001\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOrder(\"ord-001\");"
}
]
}
},
"/api/{exchange}/fetchOpenOrders": {
"get": {
"summary": "Fetch Open Orders",
"operationId": "fetchOpenOrders",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Fetch Open Orders response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch all open orders, optionally filtered by market.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_open_orders(\"12345\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchOpenOrders(\"12345\");"
}
]
}
},
"/api/{exchange}/fetchMyTrades": {
"get": {
"summary": "Fetch My Trades",
"operationId": "fetchMyTrades",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "outcomeId",
"required": false,
"schema": {
"type": "string"
},
"description": "filter to specific outcome/ticker"
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "filter to specific market"
},
{
"in": "query",
"name": "since",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only return records after this date"
},
{
"in": "query",
"name": "until",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only return records before this date"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
},
"description": "for Kalshi cursor pagination"
}
],
"responses": {
"200": {
"description": "Fetch My Trades response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserTrade"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch authenticated user trade history.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_my_trades(\n outcome_id=\"67890\",\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMyTrades({\n outcomeId: \"67890\",\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
}
]
}
},
"/api/{exchange}/fetchClosedOrders": {
"get": {
"summary": "Fetch Closed Orders",
"operationId": "fetchClosedOrders",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "required for Limitless (slug)"
},
{
"in": "query",
"name": "since",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only return records after this date"
},
{
"in": "query",
"name": "until",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only return records before this date"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque pagination cursor from a previous response"
}
],
"responses": {
"200": {
"description": "Fetch Closed Orders response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch authenticated closed orders.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_closed_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchClosedOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
}
]
}
},
"/api/{exchange}/fetchAllOrders": {
"get": {
"summary": "Fetch All Orders",
"operationId": "fetchAllOrders",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "required for Limitless (slug)"
},
{
"in": "query",
"name": "since",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only return records after this date"
},
{
"in": "query",
"name": "until",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only return records before this date"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
},
"description": "Maximum number of results to return"
},
{
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
},
"description": "Opaque pagination cursor from a previous response"
}
],
"responses": {
"200": {
"description": "Fetch All Orders response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch authenticated order history across open and closed orders.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_all_orders(\n market_id=\"12345\",\n since=\"2026-01-01T00:00:00Z\",\n until=\"2026-01-31T00:00:00Z\",\n limit=10,\n cursor=\"abc123\",\n)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchAllOrders({\n marketId: \"12345\",\n since: \"2026-01-01T00:00:00Z\",\n until: \"2026-01-31T00:00:00Z\",\n limit: 10,\n cursor: \"abc123\",\n});"
}
]
}
},
"/api/{exchange}/fetchPositions": {
"get": {
"summary": "Fetch Positions",
"operationId": "fetchPositions",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "address",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Fetch Positions response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Position"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch current user positions across all markets.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_positions(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchPositions(\"0x1111111111111111111111111111111111111111\");"
}
]
}
},
"/api/{exchange}/fetchBalance": {
"get": {
"summary": "Fetch Balance",
"operationId": "fetchBalance",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
},
{
"in": "query",
"name": "address",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Fetch Balance response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Balance"
}
}
}
}
]
}
}
}
}
},
"description": "Fetch account balances.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_balance(address=\"0x1111111111111111111111111111111111111111\")"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchBalance(\"0x1111111111111111111111111111111111111111\");"
}
]
}
},
"/api/{exchange}/getExecutionPrice": {
"post": {
"summary": "Get Execution Price",
"operationId": "getExecutionPrice",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "GetExecutionPriceRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/OrderBook"
},
{
"type": "string",
"enum": [
"buy",
"sell"
]
},
{
"type": "number"
}
]
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Get Execution Price response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "number"
}
}
}
]
}
}
}
}
},
"description": "Calculate the volume-weighted average execution price for a given order size. Returns 0 if the order cannot be fully filled.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price(order_book, \"buy\", 10)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = exchange.getExecutionPrice(orderBook, \"buy\", 10);"
}
]
}
},
"/api/{exchange}/getExecutionPriceDetailed": {
"post": {
"summary": "Get Execution Price Detailed",
"operationId": "getExecutionPriceDetailed",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "GetExecutionPriceDetailedRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/OrderBook"
},
{
"type": "string",
"enum": [
"buy",
"sell"
]
},
{
"type": "number"
}
]
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Get Execution Price Detailed response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ExecutionPriceResult"
}
}
}
]
}
}
}
}
},
"description": "Calculate detailed execution price information including partial fill data.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\norder_book = pmxt.OrderBook(\n bids=[pmxt.OrderLevel(price=0.52, size=100)],\n asks=[pmxt.OrderLevel(price=0.54, size=100)],\n)\nresult = exchange.get_execution_price_detailed(order_book, \"buy\", 10)"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst orderBook = {\n bids: [{ price: 0.52, size: 100 }],\n asks: [{ price: 0.54, size: 100 }],\n timestamp: Date.now(),\n};\nconst result = await exchange.getExecutionPriceDetailed(orderBook, \"buy\", 10);"
}
]
}
},
"/api/{exchange}/filterMarkets": {
"post": {
"summary": "Filter Markets",
"operationId": "filterMarkets",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "FilterMarketsRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedMarket"
}
},
{
"type": "string"
},
{
"$ref": "#/components/schemas/MarketFilterCriteria"
},
{
"type": "object"
}
]
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Filter Markets response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedMarket"
}
}
}
}
]
}
}
}
}
},
"description": "Filter a list of markets by criteria. Can filter by string query, structured criteria object, or custom filter function.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_markets()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterMarkets();"
}
]
}
},
"/api/{exchange}/filterEvents": {
"post": {
"summary": "Filter Events",
"operationId": "filterEvents",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "FilterEventsRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedEvent"
}
},
{
"type": "string"
},
{
"$ref": "#/components/schemas/EventFilterCriteria"
},
{
"type": "object"
}
]
}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Filter Events response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedEvent"
}
}
}
}
]
}
}
}
}
},
"description": "Filter a list of events by criteria. Can filter by string query, structured criteria object, or custom filter function.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.filter_events()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.filterEvents();"
}
]
}
},
"/api/{exchange}/close": {
"post": {
"summary": "Close",
"operationId": "close",
"parameters": [
{
"$ref": "#/components/parameters/ExchangeParam"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "CloseRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 0,
"items": {}
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Close response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseResponse"
}
}
}
}
},
"description": "Close all WebSocket connections and clean up resources. Call this when you're done streaming to properly release connections.",
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Polymarket",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Polymarket(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Limitless",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Limitless(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Kalshi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Kalshi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "KalshiDemo",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.KalshiDemo(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Probable",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Probable(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Baozi",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Baozi(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Myriad",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Myriad(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Opinion",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Opinion(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Metaculus",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Metaculus(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Smarkets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Smarkets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "PolymarketUS",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.PolymarketUS(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Hyperliquid",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hyperliquid(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "GeminiTitan",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.GeminiTitan(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "SuiBets",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.SuiBets(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Rain",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Rain(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "python",
"label": "Hunch",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Hunch(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.close()"
},
{
"lang": "javascript",
"label": "Polymarket",
"source": "import { Polymarket } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Polymarket({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Limitless",
"source": "import { Limitless } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Limitless({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Kalshi",
"source": "import { Kalshi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Kalshi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "KalshiDemo",
"source": "import { KalshiDemo } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new KalshiDemo({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Probable",
"source": "import { Probable } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Probable({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Baozi",
"source": "import { Baozi } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Baozi({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Myriad",
"source": "import { Myriad } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Myriad({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Opinion",
"source": "import { Opinion } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Opinion({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Metaculus",
"source": "import { Metaculus } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Metaculus({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Smarkets",
"source": "import { Smarkets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Smarkets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "PolymarketUS",
"source": "import { PolymarketUS } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new PolymarketUS({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Hyperliquid",
"source": "import { Hyperliquid } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hyperliquid({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "GeminiTitan",
"source": "import { GeminiTitan } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new GeminiTitan({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "SuiBets",
"source": "import { SuiBets } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new SuiBets({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Rain",
"source": "import { Rain } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Rain({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
},
{
"lang": "javascript",
"label": "Hunch",
"source": "import { Hunch } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Hunch({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.close();"
}
]
}
},
"/api/router/fetchMarketMatches": {
"get": {
"summary": "Market Matches",
"operationId": "fetchMarketMatches",
"parameters": [
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Keyword search across matched market titles."
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter matches by category."
},
{
"in": "query",
"name": "market",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedMarket"
}
]
},
"description": "Pass a UnifiedMarket directly instead of marketId/slug/url."
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "Lookup a specific market by ID. Omit for browse mode."
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "url",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "relation",
"required": false,
"schema": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
{
"in": "query",
"name": "minConfidence",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "includePrices",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "minDifference",
"required": false,
"schema": {
"type": "number"
},
"description": "Minimum price difference between venues. Browse mode only."
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"confidence",
"volume",
"priceDifference"
]
},
"description": "Sort order. Browse mode only."
}
],
"responses": {
"200": {
"description": "Market Matches response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchResult"
}
}
}
}
]
}
}
}
}
},
"description": "Find the same or related market on other venues. Two modes: **Lookup mode** (marketId/slug/url provided): Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests. **Browse mode** (no identifier): Returns all matched market pairs from the catalog. Supports query, category, minDifference, and sort params for filtering.",
"tags": [
"Hosted"
],
"x-mint": {
"metadata": {
"tag": "Hosted"
}
},
"security": [
{
"bearerAuth": []
}
],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key required — queries the cross-venue catalog\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_market_matches(market_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key required — queries the cross-venue catalog\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMarketMatches({ marketId: \"12345\" });"
}
]
}
},
"/api/router/fetchEventMatches": {
"get": {
"summary": "Event Matches",
"operationId": "fetchEventMatches",
"parameters": [
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Keyword search across matched event titles."
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter matches by category."
},
{
"in": "query",
"name": "event",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedEvent"
}
]
},
"description": "Pass a UnifiedEvent directly instead of eventId/slug."
},
{
"in": "query",
"name": "eventId",
"required": false,
"schema": {
"type": "string"
},
"description": "Lookup a specific event by ID. Omit for browse mode."
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "relation",
"required": false,
"schema": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
{
"in": "query",
"name": "minConfidence",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "includePrices",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Event Matches response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventMatchResult"
}
}
}
}
]
}
}
}
}
},
"description": "Find the same or related event on other venues. Two modes: **Lookup mode** (eventId/slug provided): Given an event on one venue, discover semantically equivalent events across every other venue PMXT ingests. **Browse mode** (no identifier): Returns all matched event pairs from the catalog. Supports query and category params for filtering.",
"tags": [
"Hosted"
],
"x-mint": {
"metadata": {
"tag": "Hosted"
}
},
"security": [
{
"bearerAuth": []
}
],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key required — queries the cross-venue catalog\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_event_matches(event_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key required — queries the cross-venue catalog\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchEventMatches({ eventId: \"12345\" });"
}
]
}
},
"/api/router/compareMarketPrices": {
"post": {
"summary": "Compare Prices Across Venues",
"operationId": "compareMarketPrices",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "CompareMarketPricesRequest",
"type": "object",
"properties": {
"args": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object"
},
"minItems": 1
},
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
},
"required": [
"args"
]
}
}
}
},
"responses": {
"200": {
"description": "Compare Prices Across Venues response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PriceComparison"
}
}
}
}
]
}
}
}
}
},
"description": "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.",
"tags": [
"Hosted"
],
"x-mint": {
"metadata": {
"tag": "Hosted"
}
},
"security": [
{
"bearerAuth": []
}
],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key required — queries the cross-venue catalog\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.compare_market_prices(market_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key required — queries the cross-venue catalog\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.compareMarketPrices({ marketId: \"12345\" });"
}
]
}
},
"/api/router/fetchRelatedMarkets": {
"get": {
"summary": "Find Related Markets",
"operationId": "fetchRelatedMarkets",
"parameters": [
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Keyword search across matched market titles."
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter matches by category."
},
{
"in": "query",
"name": "market",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedMarket"
}
]
},
"description": "Pass a UnifiedMarket directly instead of marketId/slug/url."
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "Lookup a specific market by ID. Omit for browse mode."
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "url",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "relation",
"required": false,
"schema": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
{
"in": "query",
"name": "minConfidence",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "includePrices",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "minDifference",
"required": false,
"schema": {
"type": "number"
},
"description": "Minimum price difference between venues. Browse mode only."
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"confidence",
"volume",
"priceDifference"
]
},
"description": "Sort order. Browse mode only."
}
],
"responses": {
"200": {
"description": "Find Related Markets response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PriceComparison"
}
}
}
}
]
}
}
}
}
},
"description": "Find related markets across venues. Discovers subset/superset market relationships where one market's outcome implies another, with live prices.",
"tags": [
"Hosted"
],
"x-mint": {
"metadata": {
"tag": "Hosted"
}
},
"security": [
{
"bearerAuth": []
}
],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key required — queries the cross-venue catalog\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_related_markets(market_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key required — queries the cross-venue catalog\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchRelatedMarkets({ marketId: \"12345\" });"
}
]
}
},
"/api/router/fetchMatchedMarkets": {
"get": {
"summary": "Matched Markets",
"operationId": "fetchMatchedMarkets",
"parameters": [
{
"in": "query",
"name": "minDifference",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "relations",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
"description": "Comma-separated relation types to include (default: 'identity')."
}
],
"responses": {
"200": {
"description": "Matched Markets response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchedMarketPair"
}
}
}
}
]
}
}
}
}
},
"deprecated": true,
"tags": [
"Hosted"
],
"x-mint": {
"metadata": {
"tag": "Hosted"
}
},
"security": [
{
"bearerAuth": []
}
],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key required — queries the cross-venue catalog\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_matched_markets(min_difference=0.05)"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key required — queries the cross-venue catalog\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMatchedMarkets({ minDifference: 0.05 });"
}
]
}
},
"/api/router/fetchMatchedPrices": {
"get": {
"summary": "Compare Matched Market Prices",
"operationId": "fetchMatchedPrices",
"parameters": [
{
"in": "query",
"name": "minDifference",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "relations",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
"description": "Comma-separated relation types to include (default: 'identity')."
}
],
"responses": {
"200": {
"description": "Compare Matched Market Prices response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchedMarketPair"
}
}
}
}
]
}
}
}
}
},
"deprecated": true,
"tags": [
"Hosted"
],
"x-mint": {
"metadata": {
"tag": "Hosted"
}
},
"security": [
{
"bearerAuth": []
}
],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key required — queries the cross-venue catalog\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_matched_prices(min_difference=0.05)"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key required — queries the cross-venue catalog\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchMatchedPrices({ minDifference: 0.05 });"
}
]
}
},
"/api/router/fetchHedges": {
"get": {
"summary": "Find Hedging Opportunities",
"operationId": "fetchHedges",
"parameters": [
{
"in": "query",
"name": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Keyword search across matched market titles."
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter matches by category."
},
{
"in": "query",
"name": "market",
"required": false,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedMarket"
}
]
},
"description": "Pass a UnifiedMarket directly instead of marketId/slug/url."
},
{
"in": "query",
"name": "marketId",
"required": false,
"schema": {
"type": "string"
},
"description": "Lookup a specific market by ID. Omit for browse mode."
},
{
"in": "query",
"name": "slug",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "url",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "relation",
"required": false,
"schema": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
{
"in": "query",
"name": "minConfidence",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "includePrices",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "minDifference",
"required": false,
"schema": {
"type": "number"
},
"description": "Minimum price difference between venues. Browse mode only."
},
{
"in": "query",
"name": "sort",
"required": false,
"schema": {
"type": "string",
"enum": [
"confidence",
"volume",
"priceDifference"
]
},
"description": "Sort order. Browse mode only."
}
],
"responses": {
"200": {
"description": "Find Hedging Opportunities response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PriceComparison"
}
}
}
}
]
}
}
}
}
},
"deprecated": true,
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_hedges(market_id=\"12345\")"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchHedges({ marketId: \"12345\" });"
}
]
}
},
"/api/router/fetchArbitrage": {
"get": {
"summary": "Find Arbitrage Opportunities",
"operationId": "fetchArbitrage",
"parameters": [
{
"in": "query",
"name": "minSpread",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "number"
}
},
{
"in": "query",
"name": "relations",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
}
},
"description": "Comma-separated relation types to include (default: 'identity')."
}
],
"responses": {
"200": {
"description": "Find Arbitrage Opportunities response",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/BaseResponse"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ArbitrageOpportunity"
}
}
}
}
]
}
}
}
}
},
"deprecated": true,
"security": [],
"x-codeSamples": [
{
"lang": "python",
"label": "Router",
"source": "import pmxt\n\n# API key optional — enables faster catalog-backed lookups\nexchange = pmxt.Router(\n pmxt_api_key=\"YOUR_PMXT_API_KEY\",\n)\nresult = exchange.fetch_arbitrage(min_spread=0.05)"
},
{
"lang": "javascript",
"label": "Router",
"source": "import { Router } from \"pmxtjs\";\n\n// API key optional — enables faster catalog-backed lookups\nconst exchange = new Router({\n pmxtApiKey: \"YOUR_PMXT_API_KEY\",\n});\nconst result = await exchange.fetchArbitrage({ minSpread: 0.05 });"
}
]
}
},
"/api/feeds": {
"get": {
"summary": "List Available Feeds",
"operationId": "feedList",
"description": "Returns the list of available data feed providers.",
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "import requests\n\nresp = requests.get(\n \"https://api.pmxt.dev/api/feeds\",\n headers={\"Authorization\": \"Bearer YOUR_PMXT_API_KEY\"},\n)\nprint(resp.json()[\"data\"])"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "const resp = await fetch(\"https://api.pmxt.dev/api/feeds\", {\n headers: { Authorization: \"Bearer YOUR_PMXT_API_KEY\" },\n});\nconst { data } = await resp.json();\nconsole.log(data);"
}
]
}
},
"/api/feeds/{feed}/loadMarkets": {
"get": {
"summary": "Load Feed Markets",
"operationId": "feedLoadMarkets",
"description": "Returns all trading pairs supported by this feed.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/FeedMarket"
}
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\nfeed = FeedClient(\"chainlink\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\nmarkets = feed.load_markets()\nfor symbol, market in markets.items():\n print(symbol, market.base, market.quote)"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\nconst feed = new FeedClient(\"chainlink\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst markets = await feed.loadMarkets();\nfor (const [symbol, market] of Object.entries(markets)) {\n console.log(symbol, market.base, market.quote);\n}"
}
]
}
},
"/api/feeds/{feed}/fetchTicker": {
"get": {
"summary": "Fetch Ticker",
"operationId": "feedFetchTicker",
"description": "Returns the latest ticker for a single symbol.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "symbol",
"required": true,
"schema": {
"type": "string"
},
"description": "Trading pair (e.g. BTC/USD, BTC/USDT)"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"$ref": "#/components/schemas/FeedTicker"
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\n# Chainlink oracle price\nfeed = FeedClient(\"chainlink\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\nticker = feed.fetch_ticker(\"BTC/USD\")\nprint(f\"BTC/USD: ${ticker.last}\")\n\n# Binance spot price\nfeed = FeedClient(\"binance\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\nticker = feed.fetch_ticker(\"BTC/USDT\")\nprint(f\"BTC/USDT: ${ticker.last}\")"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\n// Chainlink oracle price\nconst chainlink = new FeedClient(\"chainlink\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst ticker = await chainlink.fetchTicker(\"BTC/USD\");\nconsole.log(`BTC/USD: $${ticker.last}`);\n\n// Binance spot price\nconst binance = new FeedClient(\"binance\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst btc = await binance.fetchTicker(\"BTC/USDT\");\nconsole.log(`BTC/USDT: $${btc.last}`);"
}
]
}
},
"/api/feeds/{feed}/fetchTickers": {
"get": {
"summary": "Fetch Tickers",
"operationId": "feedFetchTickers",
"description": "Returns the latest tickers for all symbols, or a filtered subset.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "symbols",
"required": false,
"schema": {
"type": "string"
},
"description": "Comma-separated symbols to filter (optional)"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/FeedTicker"
}
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\nfeed = FeedClient(\"chainlink\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\ntickers = feed.fetch_tickers()\nfor symbol, ticker in tickers.items():\n print(f\"{symbol}: ${ticker.last}\")"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\nconst feed = new FeedClient(\"chainlink\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst tickers = await feed.fetchTickers();\nfor (const [symbol, ticker] of Object.entries(tickers)) {\n console.log(`${symbol}: $${ticker.last}`);\n}"
}
]
}
},
"/api/feeds/{feed}/fetchOHLCV": {
"get": {
"summary": "Fetch OHLCV",
"operationId": "feedFetchOHLCV",
"description": "Returns OHLCV candle data for a symbol.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "symbol",
"required": true,
"schema": {
"type": "string"
},
"description": "Trading pair"
},
{
"in": "query",
"name": "timeframe",
"required": false,
"schema": {
"type": "string",
"default": "1h"
},
"description": "Candle interval (e.g. 1m, 5m, 1h, 1d)"
},
{
"in": "query",
"name": "since",
"required": false,
"schema": {
"type": "integer"
},
"description": "Start timestamp in ms"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "integer"
},
"description": "Max candles to return"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 6,
"maxItems": 6
},
"description": "Array of [timestamp, open, high, low, close, volume] tuples"
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\nfeed = FeedClient(\"binance\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\ncandles = feed.fetch_ohlcv(\"BTC/USDT\", timeframe=\"1m\", since=1700000000000, limit=3)\nfor timestamp, open_, high, low, close, volume in candles:\n print(timestamp, close)"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\nconst feed = new FeedClient(\"binance\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst candles = await feed.fetchOHLCV(\"BTC/USDT\", \"1m\", 1700000000000, 3);\nfor (const [timestamp, _open, _high, _low, close, _volume] of candles) {\n console.log(timestamp, close);\n}"
}
]
}
},
"/api/feeds/{feed}/fetchOrderBook": {
"get": {
"summary": "Fetch Order Book",
"operationId": "feedFetchOrderBook",
"description": "Returns the current order book for a symbol (where supported).",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "symbol",
"required": true,
"schema": {
"type": "string"
},
"description": "Trading pair"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "integer"
},
"description": "Depth limit"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "object",
"properties": {
"asks": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
},
"bids": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
},
"timestamp": {
"type": "integer"
},
"datetime": {
"type": "string"
},
"symbol": {
"type": "string"
}
}
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "import requests\n\nresp = requests.get(\n \"https://api.pmxt.dev/api/feeds/binance/fetchOrderBook\",\n params={\"symbol\": \"BTC/USDT\", \"limit\": 10},\n headers={\"Authorization\": \"Bearer YOUR_PMXT_API_KEY\"},\n)\nbook = resp.json()[\"data\"]\nprint(book[\"bids\"][:3])"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "const params = new URLSearchParams({ symbol: \"BTC/USDT\", limit: \"10\" });\nconst resp = await fetch(`https://api.pmxt.dev/api/feeds/binance/fetchOrderBook?${params}`, {\n headers: { Authorization: \"Bearer YOUR_PMXT_API_KEY\" },\n});\nconst { data: book } = await resp.json();\nconsole.log(book.bids.slice(0, 3));"
}
]
}
},
"/api/feeds/{feed}/fetchOracleRound": {
"get": {
"summary": "Fetch Oracle Round",
"operationId": "feedFetchOracleRound",
"description": "Returns the latest Chainlink oracle round for a price feed.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "feed",
"required": true,
"schema": {
"type": "string"
},
"description": "Price feed pair (e.g. BTC/USD)"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"$ref": "#/components/schemas/FeedOracleRound"
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\nfeed = FeedClient(\"chainlink\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\nround = feed.fetch_oracle_round(\"BTC/USD\")\nprint(f\"Round {round.round_id}: ${round.answer} (decimals: {round.decimals})\")"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\nconst feed = new FeedClient(\"chainlink\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst round = await feed.fetchOracleRound(\"BTC/USD\");\nconsole.log(`Round ${round.roundId}: $${round.answer}`);"
}
]
}
},
"/api/feeds/{feed}/fetchOracleHistory": {
"get": {
"summary": "Fetch Oracle History",
"operationId": "feedFetchOracleHistory",
"description": "Returns historical Chainlink oracle rounds for a price feed.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "feed",
"required": true,
"schema": {
"type": "string"
},
"description": "Price feed pair (e.g. BTC/USD)"
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "integer"
},
"description": "Max rounds to return (default 500)"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeedOracleRound"
}
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\nfeed = FeedClient(\"chainlink\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\nrounds = feed.fetch_oracle_history(\"BTC/USD\", limit=10)\nfor r in rounds:\n print(f\"{r.round_id}: ${r.answer}\")"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\nconst feed = new FeedClient(\"chainlink\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst rounds = await feed.fetchOracleHistory(\"BTC/USD\", 10);\nfor (const r of rounds) {\n console.log(`${r.roundId}: $${r.answer}`);\n}"
}
]
}
},
"/api/feeds/{feed}/fetchHistoricalPrices": {
"get": {
"summary": "Fetch Historical Prices",
"operationId": "feedFetchHistoricalPrices",
"description": "Returns historical price data as tickers within a time range.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "symbol",
"required": true,
"schema": {
"type": "string"
},
"description": "Trading pair (e.g. BTC/USD)"
},
{
"in": "query",
"name": "fromTimestamp",
"required": false,
"schema": {
"type": "integer"
},
"description": "Start unix timestamp (seconds)"
},
{
"in": "query",
"name": "untilTimestamp",
"required": false,
"schema": {
"type": "integer"
},
"description": "End unix timestamp (seconds)"
},
{
"in": "query",
"name": "maxSize",
"required": false,
"schema": {
"type": "integer"
},
"description": "Max records to return"
},
{
"in": "query",
"name": "order",
"required": false,
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"description": "Sort order"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeedTicker"
}
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "from pmxt.feed_client import FeedClient\n\nfeed = FeedClient(\"chainlink\", pmxt_api_key=\"YOUR_PMXT_API_KEY\")\nprices = feed.fetch_historical_prices(\"BTC/USD\", max_size=20, order=\"desc\")\nfor p in prices:\n print(f\"{p.datetime}: ${p.last}\")"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "import { FeedClient } from \"pmxtjs\";\n\nconst feed = new FeedClient(\"chainlink\", { pmxtApiKey: \"YOUR_PMXT_API_KEY\" });\nconst prices = await feed.fetchHistoricalPrices(\"BTC/USD\", {\n maxSize: 20,\n order: \"desc\",\n});\nfor (const p of prices) {\n console.log(`${p.datetime}: $${p.last}`);\n}"
}
]
}
},
"/api/feeds/{feed}/watchTicker": {
"get": {
"summary": "Watch Ticker (WebSocket)",
"operationId": "feedWatchTicker",
"description": "Stream live ticker updates for a symbol via WebSocket.\n\n**Transport:** WebSocket\n\n| Environment | URL |\n|---|---|\n| Hosted API | `wss://api.pmxt.dev/ws?apiKey=YOUR_KEY` |\n\n**Subscribe:**\n```json\n{ \"id\": \"btc-stream\", \"action\": \"subscribe\", \"method\": \"watchTicker\", \"args\": [\"BTC/USDT\"], \"feed\": \"binance\" }\n```\n\n**Server response:**\n```json\n{ \"event\": \"data\", \"id\": \"btc-stream\", \"method\": \"watchTicker\", \"symbol\": \"BTC/USDT\", \"source\": \"binance\", \"data\": { \"symbol\": \"BTC/USDT\", \"last\": 76949.16, \"timestamp\": 1716148800000, ... } }\n```\n\n**Unsubscribe:**\n```json\n{ \"id\": \"btc-stream\", \"action\": \"unsubscribe\" }\n```\n\nCurrently supports Binance feeds only. Tickers stream as they arrive from the Binance trade relay.",
"parameters": [
{
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
},
{
"in": "query",
"name": "symbol",
"required": true,
"schema": {
"type": "string"
},
"description": "Trading pair to stream (e.g. BTC/USDT)"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"data": {
"$ref": "#/components/schemas/FeedTicker"
}
}
}
}
}
}
},
"tags": [
"Data Feeds"
],
"security": [
{
"bearerAuth": []
}
],
"x-mint": {
"metadata": {
"tag": "Data Feeds"
}
},
"x-codeSamples": [
{
"lang": "python",
"label": "Python",
"source": "import asyncio\nimport json\nimport websockets\n\nasync def main():\n url = \"wss://api.pmxt.dev/ws?apiKey=YOUR_PMXT_API_KEY\"\n async with websockets.connect(url) as ws:\n await ws.send(json.dumps({\n \"id\": \"btc-stream\",\n \"action\": \"subscribe\",\n \"method\": \"watchTicker\",\n \"args\": [\"BTC/USDT\"],\n \"feed\": \"binance\",\n }))\n async for raw in ws:\n msg = json.loads(raw)\n if msg.get(\"event\") == \"data\":\n print(f'{msg[\"data\"][\"symbol\"]}: ${msg[\"data\"][\"last\"]}')\n\nasyncio.run(main())"
},
{
"lang": "javascript",
"label": "TypeScript",
"source": "const ws = new WebSocket(\"wss://api.pmxt.dev/ws?apiKey=YOUR_PMXT_API_KEY\");\n\nws.onopen = () => {\n ws.send(JSON.stringify({\n id: \"btc-stream\",\n action: \"subscribe\",\n method: \"watchTicker\",\n args: [\"BTC/USDT\"],\n feed: \"binance\",\n }));\n};\n\nws.onmessage = (e) => {\n const msg = JSON.parse(e.data);\n if (msg.event === \"data\") {\n console.log(`${msg.data.symbol}: $${msg.data.last}`);\n }\n};"
}
]
}
}
},
"components": {
"parameters": {
"ExchangeParam": {
"in": "path",
"name": "exchange",
"schema": {
"type": "string",
"enum": [
"polymarket",
"kalshi",
"kalshi-demo",
"limitless",
"probable",
"baozi",
"myriad",
"opinion",
"metaculus",
"smarkets",
"polymarket_us",
"gemini-titan",
"hyperliquid",
"suibets",
"rain",
"hunch",
"router"
]
},
"required": true,
"description": "The prediction market exchange to target."
},
"FeedParam": {
"in": "path",
"name": "feed",
"schema": {
"type": "string",
"enum": [
"binance",
"chainlink"
]
},
"required": true,
"description": "The data feed provider."
}
},
"schemas": {
"BaseResponse": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true
},
"error": {
"$ref": "#/components/schemas/ErrorDetail"
}
}
},
"ErrorDetail": {
"type": "object",
"description": "Structured error envelope returned inside `BaseResponse.error` and `ErrorResponse.error`. Hosted-mode endpoints populate `code`, `retryable`, and optionally `exchange` / `detail`; legacy local-mode endpoints may still return only `message`.",
"properties": {
"message": {
"type": "string",
"description": "Human-readable error message."
},
"code": {
"type": "string",
"description": "Stable machine-readable error code. Hosted-mode errors use the `HostedTradingError` family (e.g. `INSUFFICIENT_ESCROW_BALANCE`, `BUILT_ORDER_EXPIRED`); pre-hosted local errors use the legacy family (e.g. `BAD_REQUEST`, `NOT_FOUND`).",
"enum": [
"HOSTED_TRADING_ERROR",
"INSUFFICIENT_ESCROW_BALANCE",
"ORDER_SIZE_TOO_SMALL",
"INVALID_API_KEY",
"OUTCOME_NOT_FOUND",
"CATALOG_UNAVAILABLE",
"BUILT_ORDER_EXPIRED",
"INVALID_SIGNATURE",
"NO_LIQUIDITY",
"MISSING_WALLET_ADDRESS",
"BAD_REQUEST",
"AUTHENTICATION_ERROR",
"PERMISSION_DENIED",
"NOT_FOUND",
"ORDER_NOT_FOUND",
"MARKET_NOT_FOUND",
"EVENT_NOT_FOUND",
"RATE_LIMIT_EXCEEDED",
"INVALID_ORDER",
"INSUFFICIENT_FUNDS",
"VALIDATION_ERROR",
"NETWORK_ERROR",
"EXCHANGE_NOT_AVAILABLE",
"NOT_SUPPORTED"
]
},
"retryable": {
"type": "boolean",
"description": "Hint for clients: when `true`, the same request may succeed on retry (e.g. transient network or rate-limit conditions); when `false`, the caller should not retry without modifying the request."
},
"exchange": {
"type": "string",
"nullable": true,
"description": "Venue the error originated from, when known (e.g. 'polymarket', 'kalshi')."
},
"detail": {
"type": "object",
"additionalProperties": {},
"nullable": true,
"description": "Free-form hosted-mode detail blob. Shape depends on `code` — e.g. for `INSUFFICIENT_ESCROW_BALANCE` it may include `{ requested, available }`; for `ORDER_SIZE_TOO_SMALL` it may include `{ min }`; for `BUILT_ORDER_EXPIRED` it may include `{ expiry }`."
}
}
},
"ExchangeOptions": {
"type": "object",
"description": "Constructor-level options for venue clients (Polymarket, Kalshi, Opinion, etc.).\nHosted mode is the default when pmxtApiKey is set; otherwise the SDK runs against\na local sidecar with venue credentials.",
"properties": {
"pmxtApiKey": {
"type": "string",
"description": "PMXT customer API key. When set, the SDK routes to api.pmxt.dev (catalog) and trade.pmxt.dev (trading). Get one at pmxt.dev/dashboard."
},
"walletAddress": {
"type": "string",
"nullable": true,
"description": "EVM wallet address for hosted reads/writes. Required for endpoints that operate on a wallet (balances, positions, trades, open orders)."
},
"signer": {
"type": "object",
"nullable": true,
"description": "Optional pre-built signer for hosted writes. If absent and privateKey is set, the SDK auto-wraps privateKey into a signer."
},
"privateKey": {
"type": "string",
"nullable": true,
"description": "Private key. In hosted mode, used to derive an EIP-712 signer for writes (wraps into EthAccountSigner/EthersSigner). In self-hosted mode, used as the venue credential directly."
},
"baseUrl": {
"type": "string",
"nullable": true,
"description": "Explicit base URL override. When unset, the SDK uses api.pmxt.dev when pmxtApiKey is set, or the local sidecar otherwise."
},
"apiKey": {
"type": "string",
"nullable": true,
"description": "Venue-side API key (e.g. Polymarket CLOB key). Only relevant for self-hosted mode."
},
"autoStartServer": {
"type": "boolean",
"nullable": true,
"description": "Auto-start the local sidecar when running self-hosted. Defaults to true when no pmxtApiKey is set, false when hosted."
}
}
},
"BaseRequest": {
"type": "object",
"description": "Base request structure with optional credentials",
"properties": {
"credentials": {
"$ref": "#/components/schemas/ExchangeCredentials"
}
}
},
"ErrorResponse": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": false
},
"error": {
"$ref": "#/components/schemas/ErrorDetail"
}
}
},
"UnifiedMarket": {
"type": "object",
"properties": {
"marketId": {
"type": "string",
"description": "The unique identifier for this market"
},
"eventId": {
"type": "string",
"description": "Link to parent event"
},
"title": {
"type": "string",
"description": "The market title (e.g., \"Will BTC close above $100k on Dec 31?\")."
},
"description": {
"type": "string",
"description": "Long-form market description or resolution criteria."
},
"slug": {
"type": "string",
"description": "URL-friendly slug for the market."
},
"outcomes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MarketOutcome"
},
"description": "The possible outcomes for this market."
},
"resolutionDate": {
"type": "string",
"format": "date-time",
"description": "When the market is scheduled to resolve. Optional because some venues do not publish a cutoff for every market (e.g. Opinion categorical children) — emit `undefined` rather than coercing to epoch."
},
"volume24h": {
"type": "number",
"description": "Trading volume over the past 24 hours (USD)."
},
"volume": {
"type": "number",
"description": "Total / Lifetime volume"
},
"liquidity": {
"type": "number",
"description": "Current market liquidity (USD)."
},
"openInterest": {
"type": "number",
"description": "Total value of outstanding contracts (USD)."
},
"url": {
"type": "string",
"description": "Canonical URL to view the market on the venue."
},
"image": {
"type": "string",
"description": "Optional image URL for the market."
},
"category": {
"type": "string",
"description": "Optional category label. Venue-defined — common values include \"Sports\", \"Politics\", \"Crypto\", \"Economics\", \"Science\", \"Culture\". Polymarket uses finer-grained categories like \"Bitcoin\", \"Soccer\", \"Economic Policy\"; Kalshi uses broader ones like \"Sports\" or \"Mentions\"."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of tags. More granular than category — e.g. [\"Crypto\", \"Crypto Prices\", \"Bitcoin\"] or [\"Politics\", \"Elections\", \"Trump\"]. Tags vary by venue: Polymarket markets carry several, Kalshi typically one."
},
"tickSize": {
"type": "number",
"description": "Minimum price increment (e.g., 0.01, 0.001)"
},
"status": {
"type": "string",
"description": "Venue-native lifecycle status (e.g. 'active', 'closed', 'archived')."
},
"contractAddress": {
"type": "string",
"description": "On-chain contract / condition identifier where applicable (Polymarket conditionId, etc.)."
},
"sourceMetadata": {
"type": "object",
"additionalProperties": {},
"description": "Raw venue-specific metadata not captured by first-class fields (e.g. Kalshi series_ticker / series_title from the parent event, Polymarket series). Passed through verbatim so downstream consumers can recover anything the unified shape omits. Each venue populates what it has."
},
"sourceExchange": {
"type": "string",
"description": "The exchange/venue this market originates from (e.g. 'polymarket', 'kalshi'). Populated by the Router."
},
"yes": {
"allOf": [
{
"$ref": "#/components/schemas/MarketOutcome"
}
],
"description": "Convenience accessor for the YES outcome on a binary market."
},
"no": {
"allOf": [
{
"$ref": "#/components/schemas/MarketOutcome"
}
],
"description": "Convenience accessor for the NO outcome on a binary market."
},
"up": {
"allOf": [
{
"$ref": "#/components/schemas/MarketOutcome"
}
],
"description": "Convenience accessor for the UP outcome on a binary market."
},
"down": {
"allOf": [
{
"$ref": "#/components/schemas/MarketOutcome"
}
],
"description": "Convenience accessor for the DOWN outcome on a binary market."
}
},
"required": [
"marketId",
"title",
"description",
"outcomes",
"volume24h",
"liquidity",
"url"
]
},
"MarketOutcome": {
"type": "object",
"properties": {
"outcomeId": {
"type": "string",
"description": "Outcome ID for trading operations (CLOB Token ID for Polymarket, Market Ticker for Kalshi)"
},
"marketId": {
"type": "string",
"description": "The market this outcome belongs to (set automatically when outcomes are built)"
},
"label": {
"type": "string",
"description": "Human-readable outcome label (e.g., \"Yes\", \"No\", candidate name)."
},
"price": {
"type": "number",
"description": "Probability between 0.0 and 1.0."
},
"priceChange24h": {
"type": "number",
"description": "Change in price over the past 24 hours, as an absolute probability delta."
},
"metadata": {
"type": "object",
"additionalProperties": {},
"description": "Exchange-specific metadata (e.g., clobTokenId for Polymarket)"
}
},
"required": [
"outcomeId",
"label",
"price"
]
},
"UnifiedEvent": {
"type": "object",
"description": "A grouped collection of related markets (e.g., \"Who will be Fed Chair?\" contains multiple candidate markets).",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for this event."
},
"title": {
"type": "string",
"description": "The event title (e.g., \"Who will be Fed Chair?\")."
},
"description": {
"type": "string",
"description": "Long-form event description."
},
"slug": {
"type": "string",
"description": "URL-friendly slug for the event."
},
"markets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"description": "Markets grouped under this event."
},
"volume24h": {
"type": "number",
"description": "Trading volume over the past 24 hours (USD)."
},
"volume": {
"type": "number",
"description": "Total / Lifetime volume (sum across markets; undefined if no market provides it)"
},
"url": {
"type": "string",
"description": "Canonical URL to view the event on the venue."
},
"image": {
"type": "string",
"description": "Optional image URL for the event."
},
"category": {
"type": "string",
"description": "Optional category label. Venue-defined — common values include \"Sports\", \"Politics\", \"Crypto\", \"Economics\", \"Science\", \"Culture\". Polymarket uses finer-grained categories like \"Bitcoin\", \"Soccer\", \"Economic Policy\"; Kalshi uses broader ones like \"Sports\" or \"Mentions\"."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of tags. More granular than category — e.g. [\"Sports\", \"FIFA World Cup\", \"2026 FIFA World Cup\"] or [\"Politics\", \"Geopolitics\", \"Middle East\"]. Tags vary by venue: Polymarket markets carry several, Kalshi typically one."
},
"sourceMetadata": {
"type": "object",
"additionalProperties": {},
"description": "Raw venue-specific metadata not captured by first-class fields (e.g. Kalshi series_ticker / series_title, Polymarket series). Passed through verbatim so downstream consumers can recover anything the unified shape omits. Each venue populates what it has."
},
"sourceExchange": {
"type": "string",
"description": "The exchange/venue this event originates from (e.g. 'polymarket', 'kalshi'). Populated by the Router."
}
},
"required": [
"id",
"title",
"description",
"slug",
"markets",
"volume24h",
"url"
]
},
"UnifiedSeries": {
"type": "object",
"description": "A recurring grouping of events on a venue — the fourth tier above Event -> Market -> Outcome. Examples: Kalshi `KXATPMATCH` (every ATP tennis match), Polymarket `wta` (every WTA match), Opinion's daily `collection`. Series only exists where the venue exposes a recurring-event concept; venues without one return an empty array from `fetchSeries`.",
"properties": {
"id": {
"type": "string",
"description": "Stable venue-native series identifier (e.g. \"KXATPMATCH\" on Kalshi, \"atp\" on Polymarket Gamma, numeric Gamma id)."
},
"ticker": {
"type": "string",
"description": "Venue-native ticker, when distinct from `id`."
},
"slug": {
"type": "string",
"description": "Venue-native slug."
},
"title": {
"type": "string",
"description": "Human-readable series title (e.g. \"ATP Match Winner\", \"WTA\")."
},
"description": {
"type": "string",
"nullable": true,
"description": "Long-form series description."
},
"recurrence": {
"type": "string",
"nullable": true,
"description": "Recurrence cadence the venue reports ('daily', 'weekly', 'annual', ...)."
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedEvent"
},
"description": "Child events. Populated when fetched by id; the list form usually omits this to keep payloads small."
},
"url": {
"type": "string",
"nullable": true,
"description": "Canonical venue URL for the series."
},
"image": {
"type": "string",
"nullable": true,
"description": "Venue-hosted image."
},
"sourceExchange": {
"type": "string",
"description": "The exchange this series originates from. Populated by the Router."
},
"sourceMetadata": {
"type": "object",
"additionalProperties": {},
"description": "Raw venue-specific fields not promoted to first-class columns."
}
},
"required": [
"id",
"title"
]
},
"PriceCandle": {
"type": "object",
"properties": {
"timestamp": {
"type": "number",
"description": "Unix timestamp in milliseconds marking the start of the candle."
},
"open": {
"type": "number",
"description": "Opening price for the interval (probability between 0.0 and 1.0)."
},
"high": {
"type": "number",
"description": "Highest price during the interval (probability between 0.0 and 1.0)."
},
"low": {
"type": "number",
"description": "Lowest price during the interval (probability between 0.0 and 1.0)."
},
"close": {
"type": "number",
"description": "Closing price for the interval (probability between 0.0 and 1.0)."
},
"volume": {
"type": "number",
"description": "Trading volume during the interval."
}
},
"required": [
"timestamp",
"open",
"high",
"low",
"close"
]
},
"OrderBook": {
"type": "object",
"properties": {
"bids": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrderLevel"
},
"description": "Order book bid levels, sorted by price descending."
},
"asks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrderLevel"
},
"description": "Order book ask levels, sorted by price ascending."
},
"timestamp": {
"type": "number",
"description": "Unix timestamp in milliseconds when the snapshot was taken."
},
"datetime": {
"type": "string",
"description": "ISO 8601 datetime string of the snapshot (CCXT-compatible)."
},
"isNegRisk": {
"type": "boolean",
"description": "Whether the venue marks this snapshot as a negative-risk market."
},
"lastTradePrice": {
"type": "number",
"description": "Last traded price from venues that include it with the book snapshot."
},
"sourceMetadata": {
"type": "object",
"additionalProperties": {},
"description": "Venue-specific metadata preserved from the raw order book snapshot."
}
},
"required": [
"bids",
"asks"
]
},
"OrderLevel": {
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "0.0 to 1.0 (probability)"
},
"size": {
"type": "number",
"description": "contracts/shares"
},
"orderCount": {
"type": "number"
}
},
"required": [
"price",
"size"
]
},
"Trade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for this trade."
},
"timestamp": {
"type": "number",
"description": "Unix timestamp in milliseconds when the trade executed."
},
"price": {
"type": "number",
"description": "Probability between 0.0 and 1.0."
},
"amount": {
"type": "number",
"description": "Size of the trade in contracts/shares."
},
"side": {
"type": "string",
"enum": [
"buy",
"sell",
"unknown"
],
"description": "Trade side from the taker's perspective."
},
"outcomeId": {
"type": "string",
"description": "The outcome this trade is for (if known)."
}
},
"required": [
"id",
"timestamp",
"price",
"amount",
"side"
]
},
"UserTrade": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for this trade."
},
"timestamp": {
"type": "number",
"description": "Unix timestamp in milliseconds when the trade executed."
},
"price": {
"type": "number",
"description": "Probability between 0.0 and 1.0."
},
"amount": {
"type": "number",
"description": "Size of the trade in contracts/shares."
},
"side": {
"type": "string",
"enum": [
"buy",
"sell",
"unknown"
],
"description": "Trade side from the taker's perspective."
},
"outcomeId": {
"type": "string",
"description": "The outcome this trade is for (if known)."
},
"orderId": {
"type": "string",
"description": "The order that produced this trade, if known."
},
"marketId": {
"type": "string",
"description": "The market this trade belongs to, when the venue exposes it (e.g. derivable from the fill's coin/asset)."
},
"fee": {
"type": "number",
"description": "Trading fee paid by the user for this fill, when the venue exposes it."
},
"txHash": {
"type": "string",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues."
},
"chain": {
"type": "string",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues."
},
"blockNumber": {
"type": "number",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues."
}
},
"required": [
"id",
"timestamp",
"price",
"amount",
"side"
]
},
"Order": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The exchange-assigned order identifier."
},
"marketId": {
"type": "string",
"description": "The market this order was placed on."
},
"outcomeId": {
"type": "string",
"description": "The outcome this order was placed on."
},
"side": {
"type": "string",
"enum": [
"buy",
"sell"
],
"description": "Order side: buy or sell."
},
"type": {
"type": "string",
"enum": [
"market",
"limit"
],
"description": "Order type: market (execute immediately) or limit (resting at a price)."
},
"price": {
"type": "number",
"description": "For limit orders"
},
"amount": {
"type": "number",
"description": "Size in contracts/shares"
},
"status": {
"type": "string",
"enum": [
"pending",
"open",
"filled",
"canceled",
"rejected"
],
"description": "Lifecycle status of the order."
},
"filled": {
"type": "number",
"description": "Amount filled (USDC cost for buys, shares for sells)"
},
"filledShares": {
"type": "number",
"description": "Amount filled in shares/contracts (if different from USDC-denominated `filled`)."
},
"remaining": {
"type": "number",
"description": "Amount remaining"
},
"timestamp": {
"type": "number",
"description": "Unix timestamp in milliseconds when the order was created."
},
"fee": {
"type": "number",
"description": "Fee paid for this order, if known."
},
"feeRateBps": {
"type": "number",
"description": "Fee rate in basis points applied to this order (e.g. 100 = 1%)."
},
"txHash": {
"type": "string",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues."
},
"chain": {
"type": "string",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues."
},
"blockNumber": {
"type": "number",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues."
}
},
"required": [
"id",
"marketId",
"outcomeId",
"side",
"type",
"amount",
"status",
"filled",
"remaining",
"timestamp"
]
},
"Position": {
"type": "object",
"description": "A current position in a market. In hosted mode, `outcomeLabel`, `entryPrice`, `currentPrice` and `unrealizedPnL` may be null when the server cannot derive them (e.g. `with_mtm=false` or no fill history). Venue-direct callers continue to populate every field.",
"properties": {
"marketId": {
"type": "string",
"description": "The market this position is held in."
},
"outcomeId": {
"type": "string",
"description": "The outcome this position is held in."
},
"outcomeLabel": {
"type": "string",
"nullable": true,
"description": "Human-readable label for the outcome held. Optional in hosted mode."
},
"size": {
"type": "number",
"description": "Positive for long, negative for short"
},
"entryPrice": {
"type": "number",
"nullable": true,
"description": "Average entry price for the position (probability between 0.0 and 1.0). Optional in hosted mode when no fill history is available."
},
"currentPrice": {
"type": "number",
"nullable": true,
"description": "Current mark price for the position (probability between 0.0 and 1.0). Optional in hosted mode when mark-to-market data is unavailable."
},
"currentValue": {
"type": "number",
"nullable": true,
"description": "Current market value of the position (size * currentPrice). Null when currentPrice is unavailable."
},
"unrealizedPnL": {
"type": "number",
"nullable": true,
"description": "Unrealized profit or loss at the current price (USD). Optional in hosted mode when mark-to-market data is unavailable."
},
"realizedPnL": {
"type": "number",
"description": "Realized profit or loss booked so far (USD)."
},
"txHash": {
"type": "string",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement (from the last fill); null for local-mode and for non-on-chain venues."
},
"chain": {
"type": "string",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement (from the last fill); null for local-mode and for non-on-chain venues."
},
"blockNumber": {
"type": "number",
"nullable": true,
"description": "Populated in hosted mode after on-chain settlement (from the last fill); null for local-mode and for non-on-chain venues."
}
},
"required": [
"marketId",
"outcomeId",
"size"
]
},
"Balance": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"description": "e.g., 'USDC'"
},
"total": {
"type": "number",
"description": "Total balance including funds locked in open orders."
},
"available": {
"type": "number",
"description": "Balance available to trade (excludes locked funds)."
},
"locked": {
"type": "number",
"description": "In open orders"
},
"venue": {
"type": "string",
"nullable": true,
"description": "Hosted-mode: which venue this balance belongs to in a multi-venue response. Null when the balance is venue-agnostic."
}
},
"required": [
"currency",
"total",
"available",
"locked"
]
},
"ExecutionPriceResult": {
"type": "object",
"properties": {
"price": {
"type": "number"
},
"filledAmount": {
"type": "number"
},
"fullyFilled": {
"type": "boolean"
}
},
"required": [
"price",
"filledAmount",
"fullyFilled"
]
},
"PaginatedMarketsResult": {
"type": "object",
"description": "Shape returned by fetchMarketsPaginated",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"description": "The page of unified markets"
},
"total": {
"type": "number",
"description": "Total number of markets in the snapshot"
},
"nextCursor": {
"type": "string",
"description": "Cursor to pass to the next call, or undefined if this is the last page"
}
},
"required": [
"data",
"total"
]
},
"PaginatedEventsResult": {
"type": "object",
"description": "Shape returned by fetchEventsPaginated",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnifiedEvent"
},
"description": "The page of unified events"
},
"total": {
"type": "number",
"description": "Total number of events in the snapshot"
},
"nextCursor": {
"type": "string",
"description": "Cursor to pass to the next call, or undefined if this is the last page"
}
},
"required": [
"data",
"total"
]
},
"MarketFilterParams": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of results to return"
},
"offset": {
"type": "number",
"description": "Pagination offset — number of results to skip"
},
"sort": {
"type": "string",
"enum": [
"volume",
"liquidity",
"newest"
],
"description": "Sort order for results"
},
"status": {
"type": "string",
"enum": [
"active",
"inactive",
"closed",
"all"
],
"description": "Filter by market status (default: 'active', 'inactive' and 'closed' are interchangeable)"
},
"searchIn": {
"type": "string",
"enum": [
"title",
"description",
"both"
],
"description": "Where to search (default: 'title')"
},
"query": {
"type": "string",
"description": "For keyword search"
},
"slug": {
"type": "string",
"description": "For slug/ticker lookup"
},
"marketId": {
"type": "string",
"description": "Direct lookup by market ID"
},
"outcomeId": {
"type": "string",
"description": "Reverse lookup -- find market containing this outcome"
},
"eventId": {
"type": "string",
"description": "Find markets belonging to an event"
},
"page": {
"type": "number",
"description": "For pagination (used by Limitless)"
},
"similarityThreshold": {
"type": "number",
"description": "For semantic search (used by Limitless)"
},
"sourceExchange": {
"type": "string",
"description": "Filter by source venue (e.g. 'polymarket', 'kalshi', 'myriad'). `exchange` is an alias."
},
"exchange": {
"type": "string",
"description": "Alias for `sourceExchange`."
}
}
},
"EventFetchParams": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "For keyword search"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return"
},
"cursor": {
"type": "string",
"description": "Opaque venue pagination cursor, where supported."
},
"offset": {
"type": "number",
"description": "Pagination offset — number of results to skip"
},
"sort": {
"type": "string",
"enum": [
"volume",
"liquidity",
"newest"
],
"description": "Sort order for results"
},
"status": {
"type": "string",
"enum": [
"active",
"inactive",
"closed",
"all"
],
"description": "Filter by event status (default: 'active', 'inactive' and 'closed' are interchangeable)"
},
"searchIn": {
"type": "string",
"enum": [
"title",
"description",
"both"
],
"description": "Where to search (default: 'title')"
},
"eventId": {
"type": "string",
"description": "Direct lookup by event ID"
},
"slug": {
"type": "string",
"description": "Lookup by event slug"
},
"series": {
"type": "string",
"description": "Filter events by their parent series. Accepts the venue-native series id / ticker / slug (e.g. Kalshi `\"KXATPMATCH\"`, Polymarket `\"wta\"`). Passed through to the vendor where supported, otherwise applied to `sourceMetadata` after fetch."
},
"filter": {
"allOf": [
{
"$ref": "#/components/schemas/EventFilterCriteria"
}
],
"description": "Optional client-side filter applied after fetching"
},
"category": {
"type": "string",
"description": "Filter by category. Each event belongs to a venue-assigned category such as \"Sports\", \"Politics\", \"Crypto\", \"Bitcoin\", \"Soccer\", \"Economic Policy\" (Polymarket) or \"Sports\", \"Mentions\" (Kalshi)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by tags. Returns events matching ANY of the provided tags. Tags are more specific than categories -- for example a \"Politics\" event might carry tags [\"Politics\", \"Geopolitics\", \"Middle East\", \"Iran\"]. Common tags include \"Crypto\", \"Elections\", \"Fed Rates\", \"FIFA World Cup\", \"Trump\"."
},
"sourceExchange": {
"type": "string",
"description": "Filter by source venue (e.g. 'polymarket', 'kalshi', 'myriad'). `exchange` is an alias."
},
"exchange": {
"type": "string",
"description": "Alias for `sourceExchange`."
}
}
},
"HistoryFilterParams": {
"type": "object",
"description": "Deprecated - use OHLCVParams or TradesParams instead. Resolution is optional for backward compatibility.",
"properties": {
"resolution": {
"type": "string",
"description": "Optional for backward compatibility"
},
"start": {
"type": "string",
"format": "date-time",
"description": "Start of the time range"
},
"end": {
"type": "string",
"format": "date-time",
"description": "End of the time range"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return"
}
}
},
"OHLCVParams": {
"type": "object",
"properties": {
"resolution": {
"type": "string",
"description": "Required for candle aggregation"
},
"start": {
"type": "string",
"format": "date-time",
"description": "Start of the time range"
},
"end": {
"type": "string",
"format": "date-time",
"description": "End of the time range"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return"
}
},
"required": [
"resolution"
]
},
"FetchOrderBookParams": {
"type": "object",
"properties": {
"side": {
"type": "string",
"enum": [
"yes",
"no"
],
"description": "Outcome side: 'yes' or 'no'. Required for exchanges like Limitless where the API returns a single orderbook per market."
},
"outcome": {
"type": "string",
"description": "Outcome alias: 'yes' or 'no', or an outcome token ID. When set, the first argument is treated as a market ID and this value selects which outcome's order book to fetch. Accepts the literal strings 'yes'/'no' (resolved via a market lookup) or a raw outcome token ID."
},
"since": {
"type": "number",
"description": "Unix timestamp (ms) — fetch a historical snapshot at or before this time, or the start of a range when combined with `until` (hosted API only)."
},
"until": {
"type": "number",
"description": "Unix timestamp (ms) — end of a historical range. When combined with `since`, returns an array of reconstructed L2 OrderBook snapshots between `since` and `until` (hosted API only)."
}
}
},
"TradesParams": {
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date-time",
"description": "Start of the time range"
},
"end": {
"type": "string",
"format": "date-time",
"description": "End of the time range"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return (max {@link MAX_TRADES_LIMIT})"
}
}
},
"CreateOrderParams": {
"type": "object",
"properties": {
"marketId": {
"type": "string",
"description": "The market to trade on."
},
"outcomeId": {
"type": "string",
"description": "The outcome to trade."
},
"side": {
"type": "string",
"enum": [
"buy",
"sell"
],
"description": "Order side: buy or sell."
},
"type": {
"type": "string",
"enum": [
"market",
"limit"
],
"description": "Order type: market (execute immediately) or limit (resting at a price)."
},
"amount": {
"type": "number",
"description": "Size of the order in contracts/shares."
},
"price": {
"type": "number",
"description": "Required for limit orders"
},
"denom": {
"type": "string",
"enum": [
"usdc",
"shares"
],
"description": "Hosted mode: amount unit."
},
"slippage_pct": {
"type": "number",
"description": "Hosted mode: maximum market-order slippage percentage."
},
"fee": {
"type": "number",
"description": "Optional fee rate (e.g., 1000 for 0.1%)"
},
"builder": {
"type": "string",
"description": "Hyperliquid builder address to attach to the order action."
},
"builderFee": {
"type": "number",
"description": "Hyperliquid builder fee in tenths of a basis point (e.g. 10 = 1 bp)."
},
"tickSize": {
"type": "number",
"description": "Optional override for Limitless/Polymarket"
},
"negRisk": {
"type": "boolean",
"description": "Optional override to skip neg-risk lookup (Polymarket)"
},
"onBehalfOf": {
"type": "number",
"description": "Limitless delegated signing: profile ID to trade on behalf of"
}
},
"required": [
"marketId",
"outcomeId",
"side",
"type",
"amount"
]
},
"BuiltOrder": {
"type": "object",
"properties": {
"exchange": {
"type": "string",
"description": "The exchange name this order was built for."
},
"params": {
"allOf": [
{
"$ref": "#/components/schemas/CreateOrderParams"
}
],
"description": "The original params used to build this order."
},
"signedOrder": {
"type": "object",
"additionalProperties": {},
"description": "For CLOB exchanges (Polymarket): the EIP-712 signed order ready to POST to the exchange's order endpoint."
},
"tx": {
"type": "object",
"properties": {
"to": {
"type": "string"
},
"data": {
"type": "string"
},
"value": {
"type": "string"
},
"chainId": {
"type": "number"
}
},
"required": [
"to",
"data",
"value",
"chainId"
],
"description": "For on-chain AMM exchanges: the EVM transaction payload. Reserved for future exchanges; no current exchange populates this."
},
"raw": {
"description": "The raw, exchange-native payload. Always present."
},
"expiry": {
"type": "number",
"nullable": true,
"description": "Unix epoch (ms) when this built order expires server-side. Submitting after expiry returns BUILT_ORDER_EXPIRED."
}
},
"required": [
"exchange",
"params",
"raw"
]
},
"MyTradesParams": {
"type": "object",
"properties": {
"outcomeId": {
"type": "string",
"description": "filter to specific outcome/ticker"
},
"marketId": {
"type": "string",
"description": "filter to specific market"
},
"since": {
"type": "string",
"format": "date-time",
"description": "Only return records after this date"
},
"until": {
"type": "string",
"format": "date-time",
"description": "Only return records before this date"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return"
},
"cursor": {
"type": "string",
"description": "for Kalshi cursor pagination"
}
}
},
"OrderHistoryParams": {
"type": "object",
"properties": {
"marketId": {
"type": "string",
"description": "required for Limitless (slug)"
},
"since": {
"type": "string",
"format": "date-time",
"description": "Only return records after this date"
},
"until": {
"type": "string",
"format": "date-time",
"description": "Only return records before this date"
},
"limit": {
"type": "number",
"description": "Maximum number of results to return"
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response"
}
}
},
"MarketFilterCriteria": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"searchIn": {
"type": "array",
"items": {
"type": "string",
"enum": [
"title",
"description",
"category",
"tags",
"outcomes"
]
},
"description": "Default: ['title']"
},
"volume24h": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
}
},
"volume": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"description": "Filter by total (lifetime) volume range"
},
"liquidity": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"description": "Filter by current liquidity range"
},
"openInterest": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"description": "Filter by open interest range"
},
"resolutionDate": {
"type": "object",
"properties": {
"before": {
"type": "string",
"format": "date-time"
},
"after": {
"type": "string",
"format": "date-time"
}
}
},
"category": {
"type": "string",
"description": "Filter by category. Common values: \"Sports\", \"Politics\", \"Crypto\", \"Bitcoin\", \"Soccer\", \"Economic Policy\" (Polymarket) or \"Sports\", \"Mentions\" (Kalshi)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Match markets that have ANY of these tags. Examples: [\"Crypto\", \"Crypto Prices\"], [\"Politics\", \"Elections\"], [\"Sports\", \"FIFA World Cup\"]."
},
"price": {
"type": "object",
"properties": {
"outcome": {
"type": "string",
"enum": [
"yes",
"no",
"up",
"down"
]
},
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"outcome"
]
},
"priceChange24h": {
"type": "object",
"properties": {
"outcome": {
"type": "string",
"enum": [
"yes",
"no",
"up",
"down"
]
},
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"outcome"
]
}
}
},
"EventFilterCriteria": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"searchIn": {
"type": "array",
"items": {
"type": "string",
"enum": [
"title",
"description",
"category",
"tags"
]
},
"description": "Default: ['title']"
},
"category": {
"type": "string",
"description": "Filter by category. Common values: \"Sports\", \"Politics\", \"Crypto\", \"Bitcoin\", \"Soccer\", \"Economic Policy\" (Polymarket) or \"Sports\", \"Mentions\" (Kalshi)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Match events that have ANY of these tags. Examples: [\"Crypto\"], [\"Politics\", \"Geopolitics\", \"Middle East\"], [\"Sports\", \"FIFA World Cup\"]."
},
"marketCount": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
}
},
"totalVolume": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"description": "Sum of market volumes"
}
}
},
"FetchMarketMatchesParams": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword search across matched market titles."
},
"category": {
"type": "string",
"description": "Filter matches by category."
},
"market": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedMarket"
}
],
"description": "Pass a UnifiedMarket directly instead of marketId/slug/url."
},
"marketId": {
"type": "string",
"description": "Lookup a specific market by ID. Omit for browse mode."
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"relation": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
},
"minConfidence": {
"type": "number"
},
"limit": {
"type": "number"
},
"includePrices": {
"type": "boolean"
},
"minDifference": {
"type": "number",
"description": "Minimum price difference between venues. Browse mode only."
},
"sort": {
"type": "string",
"enum": [
"confidence",
"volume",
"priceDifference"
],
"description": "Sort order. Browse mode only."
}
}
},
"FetchEventMatchesParams": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword search across matched event titles."
},
"category": {
"type": "string",
"description": "Filter matches by category."
},
"event": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedEvent"
}
],
"description": "Pass a UnifiedEvent directly instead of eventId/slug."
},
"eventId": {
"type": "string",
"description": "Lookup a specific event by ID. Omit for browse mode."
},
"slug": {
"type": "string"
},
"relation": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
},
"minConfidence": {
"type": "number"
},
"limit": {
"type": "number"
},
"includePrices": {
"type": "boolean"
}
}
},
"FetchArbitrageParams": {
"type": "object",
"properties": {
"minSpread": {
"type": "number"
},
"category": {
"type": "string"
},
"limit": {
"type": "number"
},
"relations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
},
"description": "Comma-separated relation types to include (default: 'identity')."
}
}
},
"MatchResult": {
"type": "object",
"properties": {
"market": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"sourceMarket": {
"allOf": [
{
"$ref": "#/components/schemas/UnifiedMarket"
}
],
"description": "The source market this was matched against. Present in browse mode (no marketId), absent in lookup mode."
},
"relation": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
},
"confidence": {
"type": "number"
},
"reasoning": {
"type": "string",
"nullable": true
},
"bestBid": {
"type": "number",
"nullable": true
},
"bestAsk": {
"type": "number",
"nullable": true
}
},
"required": [
"market",
"relation",
"confidence",
"reasoning",
"bestBid",
"bestAsk"
]
},
"EventMatchResult": {
"type": "object",
"properties": {
"event": {
"$ref": "#/components/schemas/UnifiedEvent"
},
"marketMatches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatchResult"
}
}
},
"required": [
"event",
"marketMatches"
]
},
"PriceComparison": {
"type": "object",
"properties": {
"market": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"relation": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
},
"confidence": {
"type": "number"
},
"reasoning": {
"type": "string",
"nullable": true
},
"bestBid": {
"type": "number",
"nullable": true
},
"bestAsk": {
"type": "number",
"nullable": true
},
"venue": {
"type": "string"
}
},
"required": [
"market",
"relation",
"confidence",
"reasoning",
"bestBid",
"bestAsk",
"venue"
]
},
"ArbitrageOpportunity": {
"type": "object",
"properties": {
"marketA": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"marketB": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"spread": {
"type": "number"
},
"buyVenue": {
"type": "string"
},
"sellVenue": {
"type": "string"
},
"buyPrice": {
"type": "number"
},
"sellPrice": {
"type": "number"
},
"relation": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
],
"description": "The set-theoretic relation between the two markets (e.g. identity, subset)."
},
"confidence": {
"type": "number",
"description": "Match confidence score (0.0 to 1.0)."
}
},
"required": [
"marketA",
"marketB",
"spread",
"buyVenue",
"sellVenue",
"buyPrice",
"sellPrice"
]
},
"FetchMatchedMarketsParams": {
"type": "object",
"properties": {
"minDifference": {
"type": "number"
},
"category": {
"type": "string"
},
"limit": {
"type": "number"
},
"relations": {
"type": "array",
"items": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
]
},
"description": "Comma-separated relation types to include (default: 'identity')."
}
}
},
"MatchedMarketPair": {
"type": "object",
"properties": {
"marketA": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"marketB": {
"$ref": "#/components/schemas/UnifiedMarket"
},
"priceDifference": {
"type": "number"
},
"venueA": {
"type": "string"
},
"venueB": {
"type": "string"
},
"priceA": {
"type": "number"
},
"priceB": {
"type": "number"
},
"relation": {
"type": "string",
"enum": [
"identity",
"complement",
"subset",
"superset",
"overlap",
"disjoint"
],
"description": "The set-theoretic relation between the two markets (e.g. identity, subset)."
},
"confidence": {
"type": "number",
"description": "Match confidence score (0.0 to 1.0)."
},
"reasoning": {
"type": "string",
"nullable": true,
"description": "Why the two markets were matched."
}
},
"required": [
"marketA",
"marketB",
"priceDifference",
"venueA",
"venueB",
"priceA",
"priceB"
]
},
"ExchangeCredentials": {
"type": "object",
"description": "Optional authentication credentials for exchange operations.",
"properties": {
"apiKey": {
"type": "string"
},
"apiSecret": {
"type": "string",
"description": "Standard API secret for HMAC-authenticated exchanges"
},
"passphrase": {
"type": "string",
"description": "Standard API passphrase for HMAC-authenticated exchanges"
},
"apiToken": {
"type": "string",
"description": "Metaculus: `Authorization: Token ` for higher rate limits"
},
"privateKey": {
"type": "string",
"description": "Required for Polymarket L1 auth"
},
"signatureType": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "0 = EOA, 1 = Poly Proxy, 2 = Gnosis Safe (Can also use 'eoa', 'polyproxy', 'gnosis_safe')"
},
"funderAddress": {
"type": "string",
"description": "The address funding the trades (defaults to signer address)"
},
"walletAddress": {
"type": "string"
},
"baseUrl": {
"type": "string"
}
}
},
"FeedTicker": {
"type": "object",
"description": "CCXT-compatible ticker with last trade price and metadata.",
"properties": {
"symbol": {
"type": "string",
"description": "Trading pair symbol (e.g. BTC/USD)"
},
"info": {
"description": "Raw provider-specific data"
},
"timestamp": {
"type": "integer",
"description": "Unix timestamp in milliseconds"
},
"datetime": {
"type": "string",
"format": "date-time"
},
"high": {
"type": "number"
},
"low": {
"type": "number"
},
"bid": {
"type": "number"
},
"bidVolume": {
"type": "number"
},
"ask": {
"type": "number"
},
"askVolume": {
"type": "number"
},
"vwap": {
"type": "number"
},
"open": {
"type": "number"
},
"close": {
"type": "number"
},
"last": {
"type": "number",
"description": "Last trade price"
},
"previousClose": {
"type": "number"
},
"change": {
"type": "number"
},
"percentage": {
"type": "number"
},
"average": {
"type": "number"
},
"quoteVolume": {
"type": "number"
},
"baseVolume": {
"type": "number"
},
"indexPrice": {
"type": "number"
},
"markPrice": {
"type": "number"
}
},
"required": [
"symbol"
]
},
"FeedMarket": {
"type": "object",
"description": "CCXT-compatible market descriptor for a data feed.",
"properties": {
"id": {
"type": "string"
},
"symbol": {
"type": "string"
},
"base": {
"type": "string"
},
"quote": {
"type": "string"
},
"active": {
"type": "boolean"
},
"type": {
"type": "string"
},
"info": {
"description": "Provider-specific metadata"
}
},
"required": [
"id",
"symbol",
"base",
"quote"
]
},
"FeedOracleRound": {
"type": "object",
"description": "Chainlink oracle price round.",
"properties": {
"feed": {
"type": "string",
"description": "Price feed pair (e.g. BTC/USD)"
},
"roundId": {
"type": "string"
},
"answer": {
"type": "number",
"description": "Oracle price"
},
"startedAt": {
"type": "integer"
},
"updatedAt": {
"type": "integer"
},
"answeredInRound": {
"type": "string"
},
"decimals": {
"type": "integer"
},
"description": {
"type": "string"
}
},
"required": [
"feed",
"roundId",
"answer",
"startedAt",
"updatedAt",
"answeredInRound",
"decimals"
]
}
},
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Required when calling the hosted API directly (curl, requests, fetch). SDK users pass credentials via constructor params instead."
}
}
},
"x-sdk-constructors": {
"polymarket": {
"className": "Polymarket",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "api_secret",
"tsName": "apiSecret",
"type": "string",
"description": "API secret for authentication"
},
{
"name": "passphrase",
"tsName": "passphrase",
"type": "string",
"description": "Passphrase for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
},
{
"name": "proxy_address",
"tsName": "proxyAddress",
"type": "string",
"description": "Proxy/smart wallet address"
},
{
"name": "signature_type",
"tsName": "signatureType",
"type": "string",
"description": "Signature type",
"default": "gnosis-safe"
}
]
},
"limitless": {
"className": "Limitless",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "api_secret",
"tsName": "apiSecret",
"type": "string",
"description": "API secret for authentication"
},
{
"name": "passphrase",
"tsName": "passphrase",
"type": "string",
"description": "Passphrase for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"kalshi": {
"className": "Kalshi",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"kalshi-demo": {
"className": "KalshiDemo",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"probable": {
"className": "Probable",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "api_secret",
"tsName": "apiSecret",
"type": "string",
"description": "API secret for authentication"
},
{
"name": "passphrase",
"tsName": "passphrase",
"type": "string",
"description": "Passphrase for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"baozi": {
"className": "Baozi",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"myriad": {
"className": "Myriad",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "wallet_address",
"tsName": "walletAddress",
"type": "string",
"description": "Wallet address (required for positions and balance)"
}
]
},
"opinion": {
"className": "Opinion",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
},
{
"name": "proxy_address",
"tsName": "proxyAddress",
"type": "string",
"description": "Proxy/smart wallet address"
}
]
},
"metaculus": {
"className": "Metaculus",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_token",
"tsName": "apiToken",
"type": "string",
"description": "API token for authentication"
}
]
},
"smarkets": {
"className": "Smarkets",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"polymarket_us": {
"className": "PolymarketUS",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"hyperliquid": {
"className": "Hyperliquid",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"gemini-titan": {
"className": "GeminiTitan",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "api_key",
"tsName": "apiKey",
"type": "string",
"description": "API key for authentication"
},
{
"name": "api_secret",
"tsName": "apiSecret",
"type": "string",
"description": "API secret for authentication"
}
]
},
"suibets": {
"className": "SuiBets",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
}
]
},
"rain": {
"className": "Rain",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"hunch": {
"className": "Hunch",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
},
{
"name": "private_key",
"tsName": "privateKey",
"type": "string",
"description": "Private key for authentication"
}
]
},
"router": {
"className": "Router",
"params": [
{
"name": "pmxt_api_key",
"tsName": "pmxtApiKey",
"type": "string",
"description": "PMXT API key for hosted access"
}
]
}
},
"tags": [
{
"name": "Hosted",
"description": "Requires a PMXT API key. These endpoints use the cross-venue catalog and have no local equivalent."
},
{
"name": "Local Only",
"description": "Executed locally by the SDK against the venue. Never proxied through PMXT servers."
},
{
"name": "Data Feeds",
"description": "Auxiliary price and oracle data feeds (Binance, Chainlink). CCXT-compatible method names and response shapes."
}
]
}