Prexora Docs
Whitepaper
Developers / API Reference

API Reference

The public, read-only endpoints that power the Prexora dashboard. All return JSON over HTTPS and need no API key for read access.

i

Replace <host> with the host serving the public Prexora app. Schemas below show field shapes, not live values — the live response is always authoritative, and fields may be added over time.

Endpoints

MethodPathReturns
GET/export/signalsCurrent open signals (funded and display-only) with city, market, side/bracket, strength tier and rationale.
GET/export/recentRecent engine activity — newly published and recently resolved picks. Accepts ?date=YYYY-MM-DD.
GET/export/track-recordAggregate performance on funded signals, with per-bracket-kind and trailing-30-day breakdowns.
GET/export/lessonsThe lesson stream — the agent’s reflection on resolved bets.
GET/export/onchain-commitsDaily on-chain commitment hashes + Solana memo references. Accepts ?date=.
GET/healthzEngine and per-source health status.

GET /export/track-record

The headline performance object. Schema (values shown as <type> — pull the live endpoint for current numbers):

{
  "total":     <int>,          // resolved funded bets
  "wins":      <int>,
  "losses":    <int>,
  "win_rate":  <float>,        // funded signals only
  "pnl_usd":   <float>,        // realized, at reference scale
  "by_kind": {
    "ceiling": { "total": <int>, "wins": <int>, "win_rate": <float> },
    "floor":   { "total": <int>, "wins": <int>, "win_rate": <float> },
    "range":   { "total": <int>, "wins": <int>, "win_rate": <float> },
    "single":  { "total": <int>, "wins": <int>, "win_rate": <float> }
  },
  "last_30d":  { "total": <int>, "wins": <int>, "win_rate": <float> }
}

Performance is computed on funded signals only. The by_kind block exposes per-bracket-type win rates so weakness in one market type cannot hide in the aggregate.

GET /export/signals

An array of current signals:

[{
  "city":      "<string>",     // e.g. "paris"
  "event":     "<slug>",       // Polymarket event slug
  "side":      "YES" | "NO",
  "bracket":   { "kind": "<ceiling|floor|range|single>", "lo": <num|null>, "hi": <num|null> },
  "strength":  "strong" | "moderate" | "soft",
  "rationale": "<string>",
  "funded":    true | false,    // false = display-only, never scored
  "signature": "<ed25519>",
  "ts":        "<iso8601>"
}]

GET /export/onchain-commits

Daily commitment records for verification:

[{
  "date":      "<YYYY-MM-DD>",
  "hash":      "<sha256-hex>",  // canonical hash of that day's data
  "memo":      "prexora:commit:<date>:<sha256-hex>",
  "tx":        "<solana-signature>"
}]

Combine with the signed /export/signals payload to verify a set of picks existed at a given time and was not back-dated.

Notes