Start building on PredictAsiaX

Same API, same host, four paths in. Pick the one that matches how you already work — the underlying platform is identical.

Solo developer
Best for: individuals, hackathons, exploration

Anonymous sandbox key in 30 seconds. No email, no signup. Same production URL, tier-capped for safety. Move to production when ready.

~30 sec to first key ~5 min to first order No signup
Read Solo dev path →
🔀
Migrating an existing bot
Best for: teams porting an existing HMAC-signed trading bot

PAX ships the industry-standard 5-header HMAC signing pattern (POLY_ACCESS_KEY / POLY_TIMESTAMP / POLY_PASSPHRASE / POLY_SIGNATURE). Swap URL + credentials, adapt endpoint shapes to the PAX REST schemas.

~1-2 hours port Same signing scheme
Read Migration path →
🤖
AI agent builder
Best for: Claude Desktop, Cursor, Windsurf, custom MCP clients

Published in the official MCP Registry as com.predictasiax/mcp. One-line config, seven agent tools available immediately (market_search, place_order, portfolio_read, ...).

~2 min setup 7 tools MCP Registry
Read AI agent path →
🏢
Organization / commercial
Best for: production apps, revenue attribution, higher tiers

Submit an application via POST /v1/apply with your track. Most tracks (app / agent / data / distribution / market / liquidity / oracle / reviewer / operator + RFB variants) return a live sk_live_* key in the response body immediately. Genesis and institutional tracks route to human review for elevated capabilities.

Auto: seconds · Reviewed: SLA-based Attribution + revenue ledger
Read Org path →
Not sure which path? Start with Solo developer. The anonymous sandbox key works on the real production host with tier caps that hard-limit any accidental action to $10 per order, $100 per day. Upgrade the path (migration, agent, or org) later without rotating credentials.

⚡ Solo developer — 30 seconds to first key

Public endpoint, no authentication, no email. Rate-limited to 1 mint per IP + 1 per browser fingerprint per day. Same host as production — sandbox tier is a flag on the key, not a separate URL.

Deep dive: Full 6-step curl walkthrough Sandbox reference Auth guide
1

Mint an anonymous sandbox key

curl -X POST https://api.predictasiax.com/v1/sandbox-keys \
  -H "Content-Type: application/json" \
  -d '{"org_name":"my-app"}'
2

Save the key (shown once) + set env

export SK=sk_live_7d40ce10_12b638913cadfbbd...
3

Install an official SDK — or stick with curl

# Python
pip install pax-api

# TypeScript / Node
npm i @predictasiax/api

# Or use curl / Postman collection — no SDK required
4

Place your first order (Python)

from pax_api import PaxClient

with PaxClient(api_key="$SK", env="sandbox") as pax:
    markets = pax.list_markets(category="crypto", limit=5)
    order = pax.place_order(
        market_id=markets["data"]["markets"][0]["id"],
        outcome_id="yes", side="buy", order_type="limit",
        size="2", price="0.55",
        client_order_id="my-first-order",
    )
    print(order["data"]["order"]["status"])       # → "filled"
    print(order["data"]["fee"]["splits"])         # 5-actor split
5

Ready for production? Sandbox caps orders at $10 each / $100 daily. To lift caps, submit Request access to move up to trade_capped or trade_full — same URL, same key format, tier flag updates in place.

🔀 Migrating an existing bot

PAX implements the industry-standard 5-header HMAC signing pattern, so client-side signing code ports without changes. Endpoint shapes and market conventions differ — the REST reference documents each surface one-for-one.

Deep dive: Full REST reference HMAC signing details Public Merkle verifier
1

Read the REST endpoint reference

PAX ships attribution, revenue ledger, HMAC auth, and a public Merkle verifier as protocol-level primitives. The REST reference gives concrete endpoint shapes for each surface.

2

Get sandbox credentials

Same 30-second flow as Solo path: POST /v1/sandbox-keys. For an HMAC-signed key with secret + passphrase, mint via Builder Portal after Org path onboarding (see Path 4).

3

Point your client at PAX

BASE_URL = "https://api.predictasiax.com/v1"

# Your existing 5-header signing function returns:
#   POLY_ACCESS_KEY   = <api_key>
#   POLY_TIMESTAMP    = <unix_seconds>
#   POLY_PASSPHRASE   = <passphrase>
#   POLY_SIGNATURE    = base64(HMAC_SHA256(secret, ts+method+path+body))
# — no changes to signature code.
4

Adapt response shape

All PAX responses use a top-level data envelope; monetary fields are decimal strings (never floats). Market IDs are m_<sha256[0:16]> — deterministic and idempotent. See REST reference for full schemas.

5

Verify fills independently

Every fill is recorded in a hash-chained event log, Merkle-batched, and anchored to R2. Reconstruct inclusion proofs client-side via /verify — six no-auth /v1/audit/* endpoints, OpenZeppelin-compatible sorted-pair SHA-256.

🤖 AI agent builder (MCP)

PredictAsiaX is published in the official Model Context Protocol Registry as com.predictasiax/mcp. Claude Desktop, Cursor, Windsurf and other MCP clients can discover and connect natively.

Deep dive: MCP server details MCP Registry listing Builder tier tools
1

Get a PAX API key

Any tier works. For personal use: mint via Solo path (POST /v1/sandbox-keys). For a distributed product: Org path.

2

Add the MCP server config

Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the platform-equivalent path:

{
  "mcpServers": {
    "predictasiax": {
      "url": "https://mcp.predictasiax.com/mcp/call",
      "headers": {
        "Authorization": "Bearer sk_live_YOUR_KEY"
      }
    }
  }
}

Cursor / Windsurf follow the same MCP client config convention — see their respective docs for the config file location.

3

Restart the client

The agent will discover 7 tools on connect.

4

Available tools

ToolPurpose
market_searchFull-text + facet search across live markets
probability_moversMarkets with the largest recent probability shift
resolution_evidencePull the underlying source data for a resolved market
portfolio_readPositions + P&L for the calling key
place_orderSubmit a trade (tier caps apply)
cancel_orderCancel an open order
sandbox_agent_examplesGuided sample prompts + market scenarios for agent testing
5

Talk to your agent

You: "Find any crypto markets where the probability shifted more than 5% in the last hour."
Agent: [calls probability_movers → market_search → returns summary]

You: "Buy 5 shares of YES on the BTC-150k market at 0.42 if it's still open."
Agent: [calls place_order with tier-appropriate caps]

🏢 Organization / commercial builder

Submit an application via POST /v1/apply with your track. Provisioning behaviour depends on the track: 18 tracks auto-provision a live sk_live_* key on submit; genesis and institutional route to human review for elevated capabilities.

Deep dive: Builder program overview Tiers & benefits Application form Apply endpoint reference
1

Pick a track

The track field determines both what capabilities the resulting key has and whether provisioning is instant or reviewed.

Track familyMembersProvisioning
Auto-provisioning (18 tracks) app, agent, data, distribution, market, liquidity, oracle, reviewer, operator, self_serve, rfb-japan-app, rfb-ai-agent, rfb-telegram-bot, rfb-news-media, rfb-sports, rfb-election, rfb-terminal, rfb-mm-stack Returns a live sk_live_* key in the response body. Ready to trade in seconds. Starts on self_serve tier.
Human-reviewed (2 tracks) genesis (10× rate multiplier, early access to unreleased endpoints)
institutional (signed SLA, dedicated infra, negotiated fee splits)
Returns an application_code. Admin operator reviews and issues a tier-flagged key out-of-band via the contact channel or email you provided.
2

Submit the application

curl -X POST https://api.predictasiax.com/v1/apply \
  -H "Content-Type: application/json" \
  -d '{
    "track":       "app",
    "org":         "my-project",
    "url":         "https://my-project.com",
    "description": "AI-first prediction market UI for Japan retail."
  }'

Or use the web form. Rate-limited to 5 applications per hour per IP. All fields except track and description are optional — but org and url help admin operators triage reviewed tracks faster.

3

Response — auto-provisioning track

{
  "ok":               true,
  "application_code": "ba_<24-hex>",
  "track":            "app",
  "status":           "auto_approved",
  "auto_provisioned": true,
  "api_key":          "sk_live_xxxxxx_...",   // shown ONCE — save now
  "key_prefix":       "xxxxxx",
  "user_id":          "app_...",
  "next_step":        "https://docs.predictasiax.com/getting-started"
}

The key is a live sk_live_* on the self_serve tier — same tier as an anonymous sandbox key ($10/order, $100/day caps). Send it in X-Api-Key header or as Authorization: Bearer. Save the application_code — you'll use it later to check status or request a tier upgrade.

4

Response — reviewed track (genesis / institutional)

{
  "ok":               true,
  "application_code": "ba_<24-hex>",
  "track":            "genesis",
  "status":           "pending_review",
  "auto_provisioned": false,
  "next_step":        "Confirmation sent to [email protected].
                       Admin operator will follow up after review.
                       Poll status: GET /v1/apply/ba_..."
}

On submission the system fires three notifications: (1) admin channel receives a Telegram alert, (2) the admin operator inbox receives a review email, (3) if you provided an email, you receive a confirmation. An admin operator then reviews the application (fit check, jurisdiction, intended scope). On approval, the operator issues a tier-flagged sk_live_* API key and delivers it via the email or contact channel on the application.

Poll status any time:

curl https://api.predictasiax.com/v1/apply/ba_<24-hex>
4b

Tier auto-graduation (auto-provisioning tracks)

Auto-provisioning tracks start on self_serve (same $10/order + $100/day caps as anonymous sandbox). A background cron scans every 15 minutes and auto-graduates based on 30-day attributed CLOB volume (execution_builder_id on clob_trades):

From tierTo tierThreshold (30d attributed USDT)
self_serveread_live$100
read_livetrade_capped$1,000

Auto-graduation caps at trade_capped. trade_full (uncapped), genesis (10× rate multiplier), and partner (institutional SLA) require admin operator approval. Every auto-graduation writes to the builder_attribution_log audit trail and, if you provided an email during application, you receive a notification email. Dedup window: 24 h between graduations for the same builder.

5

Configure & ship

  • HMAC signing (optional) — the API key from /v1/apply works as Bearer / X-Api-Key. To use the industry-standard 5-header HMAC scheme, mint a signable key via POST /v1/keys once you're signed into the Builder Portal (auto-issued for reviewed tracks; self-serve for auto tracks).
  • Attribution — every fill your app routes writes to the 5-actor financial_event ledger on Neon. Auto-tier split (30 bps total): acquisition_builder 6 / execution_builder 6 / operator 3 / market_creator 5 / lp 7 / platform_net 3 residual. Progressive tier bumps builder share to 14 bps at trade_full, 16 bps at genesis/partner.
  • Revenue + payoutsGET /v1/attribution/fills · GET /v1/revenue · GET /v1/revenue/ledger. Payouts requested via admin operator or Portal.
  • Webhooks (optional)POST /v1/webhooks registers HMAC-signed event streams: trade.filled, market.resolved, payout.available, payout.paid, auth.token.revoked.

See Builders page for the full builder-program spec and tier upgrade path.

What's the same across all paths

Every path lands on the same platform. These invariants hold regardless of how you onboarded:

Same base URL

https://api.predictasiax.com/v1 — sandbox and production share one host. Tier caps are enforced on the key, not by URL swap.

Same signing scheme

industry-standard 5-header HMAC pattern (POLY_*) for machine-to-machine. Bearer for sandbox. OAuth 2.1 PKCE S256 for end-user delegation.

Same fee model

30 bps CLOB taker fee (cut from 50 bps on 2026-09-06), auto-tier split: acquisition_builder 6 / execution_builder 6 / operator 3 / market_creator 5 / lp 7 (+ platform_net 3 residual that absorbs unfilled attribution). Progressive tier: 14 bps builder at trade_full, 16 bps at genesis/partner.

Same audit chain

Every fill is hash-chained, Merkle-batched, and R2-anchored. Six no-auth /v1/audit/* endpoints let any third party independently verify inclusion.

Same envelope

REST responses wrap payload in data; errors surface in error with typed code. Money is always a decimal string.

Same idempotency

All writes accept an Idempotency-Key header. Safe to retry within 24h. Deterministic market_id — repeated create returns the same market.

Where to go next

Getting Started

Full 6-step curl walkthrough. Mint sandbox key → list markets → place order → see fee ledger → cancel.

REST API Reference

38 paths / 42 operations across 14 tag groups. Full request/response schemas.

WebSocket API Reference

48 event types. Single connection with subscription filtering.

Authentication

Three schemes: API Key, HMAC (industry-standard 5-header), Session Bearer. Signing code in Python / Node / Bash.

Public Verifier

Interactive Merkle proof verifier + 4-language snippets. Reconstruct proofs client-side.

Builder Program

Full spec: tiers, attribution model, grant program, payout cadence.

Downloads

OpenAPI + AsyncAPI in YAML/JSON. Postman collection + SDKs (Python + TypeScript). Codegen ready.

Error Codes

Typed error codes across all surfaces. Actionable messages, correlation via request_id.

Rate Limits

Per-tier limits: sandbox 60/min, trade_capped 300/min, trade_full 3000/min.