Official PredictAsiaX MCP server: 44 tools for prediction markets, trading, liquidity & portfolio
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Submit an access-request for a builder track (no email required — provide Telegram / Signal / Discord / Matrix / X DM handle).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Submit an access-request for a builder track (no email required — provide Telegram / Signal / Discord / Matrix / X DM handle).
| Argument | Type | Description |
|---|---|---|
| track | string | |
| org_name | string | |
| use_case* | string | |
| jurisdiction | string | |
| contact_handle* | string | |
| contact_channel* | string | |
| intended_scopes | array |
{
"type": "object",
"required": [
"contact_channel",
"contact_handle",
"use_case"
],
"properties": {
"track": {
"enum": [
"sandbox",
"trade_capped",
"trade_full",
"genesis",
"partner"
],
"type": "string"
},
"org_name": {
"type": "string"
},
"use_case": {
"type": "string",
"maxLength": 2000,
"minLength": 20
},
"jurisdiction": {
"type": "string"
},
"contact_handle": {
"type": "string"
},
"contact_channel": {
"enum": [
"telegram",
"signal",
"discord",
"matrix",
"x_dm"
],
"type": "string"
},
"intended_scopes": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Check status of a pending access request by its request_id.
| Argument | Type | Description |
|---|---|---|
| request_id* | string |
{
"type": "object",
"required": [
"request_id"
],
"properties": {
"request_id": {
"type": "string"
}
}
}USDT free + reserved balance for a subaccount.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| subaccount_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string"
},
"subaccount_id": {
"type": "string"
}
}
}List API keys for a specific app (metadata only — secrets never returned).
| Argument | Type | Description |
|---|---|---|
| app_id* | string |
{
"type": "object",
"required": [
"app_id"
],
"properties": {
"app_id": {
"type": "string"
}
}
}List apps registered under the current builder profile.
No arguments.
{
"type": "object",
"properties": {}
}Return the current builder profile: tier, apps count, 30d volume + fee revenue, verified status.
No arguments.
{
"type": "object",
"properties": {}
}Bulk cancel all open orders for a user + (optional) market. Atomic.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| market_id | string | Omit to cancel across all markets |
| subaccount_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string"
},
"market_id": {
"type": "string",
"description": "Omit to cancel across all markets"
},
"subaccount_id": {
"type": "string"
}
}
}Cancel an open or partially-filled order.
| Argument | Type | Description |
|---|---|---|
| order_id* | string |
{
"type": "object",
"required": [
"order_id"
],
"properties": {
"order_id": {
"type": "string"
}
}
}List all market categories with counts and 24h volume.
No arguments.
{
"type": "object",
"properties": {}
}Submit a new market proposal from a template. Enters admin review queue.
| Argument | Type | Description |
|---|---|---|
| rules* | string | |
| title* | string | |
| sources* | array | |
| question | string | |
| cutoff_ms* | integer | |
| deadline_ms* | integer | |
| template_id* | string |
{
"type": "object",
"required": [
"template_id",
"title",
"rules",
"sources",
"cutoff_ms",
"deadline_ms"
],
"properties": {
"rules": {
"type": "string",
"minLength": 20
},
"title": {
"type": "string",
"maxLength": 200,
"minLength": 5
},
"sources": {
"type": "array",
"items": {
"type": "string",
"description": "https:// URLs used as resolution sources"
}
},
"question": {
"type": "string"
},
"cutoff_ms": {
"type": "integer"
},
"deadline_ms": {
"type": "integer"
},
"template_id": {
"type": "string"
}
}
}Read a single market template with resolution rules + example config.
| Argument | Type | Description |
|---|---|---|
| template_id* | string |
{
"type": "object",
"required": [
"template_id"
],
"properties": {
"template_id": {
"type": "string"
}
}
}List market templates available for opening new markets (crypto price binary, sports, election, etc).
| Argument | Type | Description |
|---|---|---|
| kind | string |
{
"type": "object",
"properties": {
"kind": {
"type": "string"
}
}
}Estimate the taker fee for a hypothetical order under the PAX Adaptive Fee Curve (PAF): 8-25 bps depending on price extremity, plus optional additive partner fee (0-100 bps).
| Argument | Type | Description |
|---|---|---|
| size* | string | |
| price* | string | |
| user_id | string | |
| market_id* | string | |
| additive_fee_bps | integer |
{
"type": "object",
"required": [
"market_id",
"price",
"size"
],
"properties": {
"size": {
"type": "string"
},
"price": {
"type": "string"
},
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
},
"additive_fee_bps": {
"type": "integer",
"maximum": 100,
"minimum": 0
}
}
}Read fee_ledger entries attributed to the current builder — 4-way split shares + additive builder fees.
| Argument | Type | Description |
|---|---|---|
| to_ms | integer | |
| cursor | string | |
| from_ms | integer |
{
"type": "object",
"properties": {
"to_ms": {
"type": "integer"
},
"cursor": {
"type": "string"
},
"from_ms": {
"type": "integer"
}
}
}MCP server health + protocol version + D1 reachability + upstream latency.
No arguments.
{
"type": "object",
"properties": {}
}Public leaderboard of top LQF stipend earners over a rolling window. Optional market_id filter.
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| top_n | integer | |
| market_id | string |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"top_n": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"market_id": {
"type": "string"
}
}
}Get full detail for a single market: title, question, prices, volume, open interest, resolution rules, template.
| Argument | Type | Description |
|---|---|---|
| market_id* | string |
{
"type": "object",
"required": [
"market_id"
],
"properties": {
"market_id": {
"type": "string"
}
}
}Read top-of-book bid/ask ladder for a market. Depth capped at 20 levels each side.
| Argument | Type | Description |
|---|---|---|
| side | string | |
| depth | integer | |
| market_id* | string |
{
"type": "object",
"required": [
"market_id"
],
"properties": {
"side": {
"enum": [
"yes",
"no",
"both"
],
"type": "string",
"default": "both"
},
"depth": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"market_id": {
"type": "string"
}
}
}Time-series probability history for a market (LTTB-sampled). Range 1h through 90d.
| Argument | Type | Description |
|---|---|---|
| range | string | |
| market_id* | string |
{
"type": "object",
"required": [
"market_id"
],
"properties": {
"range": {
"enum": [
"1h",
"6h",
"1d",
"7d",
"30d",
"90d"
],
"type": "string",
"default": "1d"
},
"market_id": {
"type": "string"
}
}
}Search PredictAsiaX markets by keyword or category. Returns paginated list with prices, volume, status.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text query on title/question |
| limit | integer | |
| cursor | string | Opaque pagination cursor from previous response |
| status | string | |
| category | string | Filter by category (crypto/politics/sports/tech/macro/asia) |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text query on title/question"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from previous response"
},
"status": {
"enum": [
"open",
"closed",
"settled",
"resolved"
],
"type": "string"
},
"category": {
"type": "string",
"description": "Filter by category (crypto/politics/sports/tech/macro/asia)"
}
}
}24h volume leaderboard. Useful for surfacing hot markets.
| Argument | Type | Description |
|---|---|---|
| top_n | integer | |
| window | string | |
| category | string |
{
"type": "object",
"properties": {
"top_n": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"window": {
"enum": [
"1h",
"24h",
"7d"
],
"type": "string",
"default": "24h"
},
"category": {
"type": "string"
}
}
}Post a two-sided MM quote to a market. TTL 1-3600s. Requires designated MM status for rebate.
| Argument | Type | Description |
|---|---|---|
| size* | string | |
| ttl_sec | integer | |
| ask_price* | string | |
| bid_price* | string | |
| market_id* | string |
{
"type": "object",
"required": [
"market_id",
"bid_price",
"ask_price",
"size"
],
"properties": {
"size": {
"type": "string"
},
"ttl_sec": {
"type": "integer",
"default": 60,
"maximum": 3600,
"minimum": 1
},
"ask_price": {
"type": "string"
},
"bid_price": {
"type": "string"
},
"market_id": {
"type": "string"
}
}
}List active MM quotes for a market.
| Argument | Type | Description |
|---|---|---|
| market_id* | string |
{
"type": "object",
"required": [
"market_id"
],
"properties": {
"market_id": {
"type": "string"
}
}
}Real-time LQF stipend forecast for a market maker on one market this epoch. Returns projected payout at 00:15 UTC based on snapshots seen so far.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| market_id* | string |
{
"type": "object",
"required": [
"user_id",
"market_id"
],
"properties": {
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
}
}
}Historical LQF stipend payouts for a market maker. Optional market_id filter, default limit 30.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| user_id* | string | |
| market_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1
},
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
}
}
}Historical orders (filled + cancelled + expired) for the user, paginated.
| Argument | Type | Description |
|---|---|---|
| to_ms | integer | |
| cursor | string | |
| from_ms | integer | |
| user_id* | string | |
| market_id | string | |
| subaccount_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"to_ms": {
"type": "integer"
},
"cursor": {
"type": "string"
},
"from_ms": {
"type": "integer"
},
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
},
"subaccount_id": {
"type": "string"
}
}
}List currently-open orders for the user (status IN open, partially_filled).
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| market_id | string | |
| subaccount_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
},
"subaccount_id": {
"type": "string"
}
}
}Submit a new order. Requires Idempotency-Key header on the transport. Tier caps enforced server-side.
| Argument | Type | Description |
|---|---|---|
| side* | string | |
| size* | string | Decimal string |
| price* | string | Decimal string 0.01..0.99 |
| user_id* | string | |
| market_id* | string | |
| builder_code | string | Optional bytes32 hex for additive builder fee attribution |
| subaccount_id | string | |
| client_order_id* | string | |
| additive_fee_bps | integer | Optional builder-set additive fee (0-100 bps) |
{
"type": "object",
"required": [
"user_id",
"market_id",
"side",
"price",
"size",
"client_order_id"
],
"properties": {
"side": {
"enum": [
"yes",
"no",
"buy",
"sell"
],
"type": "string"
},
"size": {
"type": "string",
"description": "Decimal string"
},
"price": {
"type": "string",
"description": "Decimal string 0.01..0.99"
},
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
},
"builder_code": {
"type": "string",
"description": "Optional bytes32 hex for additive builder fee attribution"
},
"subaccount_id": {
"type": "string"
},
"client_order_id": {
"type": "string"
},
"additive_fee_bps": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Optional builder-set additive fee (0-100 bps)"
}
}
}Historical PnL curve (realized + unrealized) for the user, sampled daily.
| Argument | Type | Description |
|---|---|---|
| to_ms | integer | |
| from_ms | integer | |
| user_id* | string | |
| subaccount_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"to_ms": {
"type": "integer"
},
"from_ms": {
"type": "integer"
},
"user_id": {
"type": "string"
},
"subaccount_id": {
"type": "string"
}
}
}Read the user's current positions, mark-price PNL, unrealized PnL, and USDT balances.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| subaccount_id | string | Omit to read primary subaccount |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string"
},
"subaccount_id": {
"type": "string",
"description": "Omit to read primary subaccount"
}
}
}List open positions across markets with size + entry price + current mark.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| market_id | string | |
| subaccount_id | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string"
},
"market_id": {
"type": "string"
},
"subaccount_id": {
"type": "string"
}
}
}Return markets whose YES probability moved the most in a window. Ranked by |delta|.
| Argument | Type | Description |
|---|---|---|
| to_ms* | integer | Window end (ms since epoch) |
| top_n | integer | |
| from_ms* | integer | Window start (ms since epoch) |
| category | string | |
| direction | string |
{
"type": "object",
"required": [
"from_ms",
"to_ms"
],
"properties": {
"to_ms": {
"type": "integer",
"description": "Window end (ms since epoch)"
},
"top_n": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1
},
"from_ms": {
"type": "integer",
"description": "Window start (ms since epoch)"
},
"category": {
"type": "string"
},
"direction": {
"enum": [
"up",
"down",
"both"
],
"type": "string",
"default": "both"
}
}
}Return the evidence + sources used to resolve a market.
| Argument | Type | Description |
|---|---|---|
| market_id* | string |
{
"type": "object",
"required": [
"market_id"
],
"properties": {
"market_id": {
"type": "string"
}
}
}Accept a specific RFQ quote — atomically fills at the quoted price.
| Argument | Type | Description |
|---|---|---|
| rfq_id* | string | |
| quote_id* | string |
{
"type": "object",
"required": [
"rfq_id",
"quote_id"
],
"properties": {
"rfq_id": {
"type": "string"
},
"quote_id": {
"type": "string"
}
}
}Create an RFQ (request for quote) — asks MMs to bid for a specific size.
| Argument | Type | Description |
|---|---|---|
| side* | string | |
| size* | string | |
| ttl_sec | integer | |
| market_id* | string | |
| max_price | string | |
| min_price | string |
{
"type": "object",
"required": [
"market_id",
"side",
"size"
],
"properties": {
"side": {
"enum": [
"yes",
"no"
],
"type": "string"
},
"size": {
"type": "string"
},
"ttl_sec": {
"type": "integer",
"default": 60,
"maximum": 600,
"minimum": 10
},
"market_id": {
"type": "string"
},
"max_price": {
"type": "string"
},
"min_price": {
"type": "string"
}
}
}End-to-end examples for building an AI agent against PAX — sandbox keys, minimal flows.
No arguments.
{
"type": "object",
"properties": {}
}Close (freeze) a subaccount. Rejects if positions/balance/open orders remain.
| Argument | Type | Description |
|---|---|---|
| user_id* | string | |
| subaccount_id* | string |
{
"type": "object",
"required": [
"user_id",
"subaccount_id"
],
"properties": {
"user_id": {
"type": "string"
},
"subaccount_id": {
"type": "string"
}
}
}Create a new subaccount under the primary user account.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| label* | string | |
| user_id* | string | |
| currency* | string |
{
"type": "object",
"required": [
"user_id",
"label",
"kind",
"currency"
],
"properties": {
"kind": {
"enum": [
"trading",
"mm",
"copy_vault",
"rfq_mm",
"custody",
"clearing"
],
"type": "string"
},
"label": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"user_id": {
"type": "string"
},
"currency": {
"enum": [
"USDT",
"USDC"
],
"type": "string"
}
}
}List all subaccounts for a user with kind, currency, and balance.
| Argument | Type | Description |
|---|---|---|
| user_id* | string |
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string"
}
}
}Transfer USDT between subaccounts under the same primary user.
| Argument | Type | Description |
|---|---|---|
| amount* | string | |
| user_id* | string | |
| to_subaccount_id* | string | |
| from_subaccount_id* | string |
{
"type": "object",
"required": [
"user_id",
"from_subaccount_id",
"to_subaccount_id",
"amount"
],
"properties": {
"amount": {
"type": "string"
},
"user_id": {
"type": "string"
},
"to_subaccount_id": {
"type": "string"
},
"from_subaccount_id": {
"type": "string"
}
}
}Read the current builder tier + auto-graduation progress (30d volume + days remaining + abuse flags).
No arguments.
{
"type": "object",
"properties": {}
}Register a new webhook endpoint. Returns whsec_<hex> ONCE for signing verification.
| Argument | Type | Description |
|---|---|---|
| url* | string | https:// URL, no userinfo, no fragment |
| label | string | |
| app_id* | string | |
| events* | array |
{
"type": "object",
"required": [
"app_id",
"url",
"events"
],
"properties": {
"url": {
"type": "string",
"description": "https:// URL, no userinfo, no fragment"
},
"label": {
"type": "string",
"maxLength": 100
},
"app_id": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"enum": [
"trade.filled",
"market.resolved",
"payout.available",
"payout.paid",
"auth.token.revoked"
],
"type": "string"
}
}
}
}Read recent webhook delivery attempts for an endpoint (status, HTTP code, retry count).
| Argument | Type | Description |
|---|---|---|
| cursor | string | |
| from_ms | integer | |
| webhook_id* | string |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"cursor": {
"type": "string"
},
"from_ms": {
"type": "integer"
},
"webhook_id": {
"type": "string"
}
}
}List webhook endpoints registered under an app.
| Argument | Type | Description |
|---|---|---|
| app_id* | string |
{
"type": "object",
"required": [
"app_id"
],
"properties": {
"app_id": {
"type": "string"
}
}
}