Skip to content

API Overview

The Polystrike API is designed for low-latency access to prediction market metadata and signals.

All endpoints are hosted on high-performance bare-metal servers to ensure maximum uptime and minimal response times.

Base URL: https://polystrike.xyz/api/v1

Endpoints are either Public (no key needed) or Pro (requires X-API-Key header).

  • Public (Anonymous): Free access to metadata/counters. Rate limited to 100 requests/hour.
  • Pro ($79/mo): Full access to predictions, signals, and portfolio analysis. Rate limited to 10,000 requests/hour.

Direct HTTP API (this documentation):

Terminal window
curl -H "X-API-Key: ps_pro_..." https://polystrike.xyz/api/v1/prediction/elon

OpenAPI Specification (for automated discovery):

Terminal window
curl https://polystrike.xyz/openapi.json

The OpenAPI spec provides machine-readable documentation of all endpoints, parameters, authentication schemes, and response types. Use it to:

  • Generate client libraries in any language
  • Integrate with AI agents and automated systems
  • Understand the API structure programmatically

MCP Server (for Claude Desktop users): Natural language access through the Model Context Protocol. See MCP Server Setup for configuration.

To upgrade to Pro:

All responses are standard JSON. Timestamps are UTC Milliseconds.

{
"timestamp": 1770188662000,
"data": [ ... ]
}
TierLimit
Anonymous100 req/hour (by IP)
Pro10,000 req/hour (by Key)

Below is the exact field visibility for each endpoint.

FieldAnonymousPro
event_id
event_title
start_ts
end_ts
polymarket_xtracker_counter
real_counter
polymarket_ui_counter
settlement_delta
display_delta
internal_delta

GET /meta/elon/tweets — Public (Rate Limited)

Section titled “GET /meta/elon/tweets — Public (Rate Limited)”
FieldAnonymousPro
tweet_id
text
created_ts
referenced_text
referenced_author_id
is_reply
is_quote
is_retweet
is_countednull

GET /prediction/elon — Public (Rate Limited)

Section titled “GET /prediction/elon — Public (Rate Limited)”
FieldAnonymousPro
event_id
event_title
polymarket_xtracker_counter
polymarket_ui_counter
real_counter
settlement_delta
display_delta
internal_delta
seconds_remaining
sleep_probability
markets[].title
markets[].market_price
markets[].model_prob
forecast.p5
forecast.p50
forecast.p95
markets[].edge
markets[].signal

GET /signals/elon — Pro Only (401 without key)

Section titled “GET /signals/elon — Pro Only (401 without key)”

Optional query parameter: ?bankroll=100 — sizes suggested_bet to your bankroll via Kelly criterion.

FieldAnonymousPro
event_id❌ 401
event_title❌ 401
signals[].bucket❌ 401
signals[].action❌ 401
signals[].model_prob❌ 401
signals[].market_price❌ 401
signals[].edge❌ 401
signals[].ev❌ 401
signals[].kelly_fraction❌ 401
signals[].suggested_bet❌ 401✅ (sized to ?bankroll if provided)
signals[].confidence❌ 401
signals[].moneyness❌ 401
signals[].time_confidence❌ 401
signals[].asymmetry_edge❌ 401
signals[].reasons❌ 401
signals[].bankroll❌ 401

GET /portfolio/elon?wallet=0x… — Pro Only (401 without key)

Section titled “GET /portfolio/elon?wallet=0x… — Pro Only (401 without key)”
FieldAnonymousPro
wallet❌ 401
event.id❌ 401
event.title❌ 401
event.end_ts❌ 401
prediction.p5 / p50 / p95❌ 401
prediction.real_counter❌ 401
prediction.seconds_remaining❌ 401
positions[].event_id❌ 401
positions[].bucket❌ 401
positions[].tokens❌ 401
positions[].avg_price❌ 401
positions[].cost_basis❌ 401
positions[].current_price❌ 401
positions[].current_value❌ 401
positions[].pnl❌ 401
positions[].pnl_percent❌ 401
positions[].analysis.win_probability❌ 401
positions[].analysis.market_implied❌ 401
positions[].analysis.edge❌ 401
positions[].analysis.edge_percent❌ 401
positions[].analysis.signal❌ 401
positions[].analysis.recommendation❌ 401
portfolio.total_positions❌ 401
portfolio.total_cost❌ 401
portfolio.current_value❌ 401
portfolio.total_pnl❌ 401
portfolio.total_pnl_percent❌ 401