{ "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." } ] }