Features

Every number on this site is an endpoint.

The pages have no privileged data source. They call the same routes you can, and the read routes need no key, which means a claim on any page can be checked against the response that produced it.

Reads

No authentication. Safe to poll.

GET /api/trading/candidates

What the engine would price right now, with every signal and its sample size. Computed live, persisted nowhere, contacts no venue.

GET /api/trading/decisions

The decision feed. Each row ships with the evidence that produced it, so no second request is needed to explain one.

GET /api/markets/smart-money

Accounts ranked by shrunk win rate, with volume and sizing.

GET /api/markets/whales

Recent fills above the size threshold.

GET /api/markets/graph

The flow graph between accounts and markets, laid out server-side.

GET /api/odds

The full board: every event, every venue, every price.

GET /api/odds/best

Best available price per outcome, flattened.

GET /api/odds/arbitrage

Markets where the best prices across venues sum below one.

Writes

Authenticated. Plan limits are enforced per field.

GET /api/trading/strategies

Your strategies with live exposure and your plan entitlements.

POST /api/trading/strategies

Create or update a strategy. Limits are clamped, not just validated.

POST /api/trading/accounts

Connect a venue. Credentials are verified against the venue before they are stored as usable.

POST /api/trading/decisions/{id}/review

Approve or reject a queued decision. Approving runs the same executor the schedule does.

POST /api/billing/checkout

Start a subscription. Takes a plan key, never a Stripe price id.

A candidate, in full

Trimmed to one signal for length. The real response carries every signal that fired, and quoted price plus the contributions equals fair value exactly.

{
  "count": 1,
  "minEdge": 0.03,
  "candidates": [
    {
      "venue": "polymarket",
      "question": "Bitcoin Up or Down",
      "side": "up",
      "marketPrice": 0.34,
      "fairValue": 0.403,
      "edge": 0.063,
      "confidence": 0.691,
      "evidence": [
        {
          "kind": "flow_imbalance",
          "summary": "97.0% of $3008.98 traded in 24h bought up",
          "value": 0.9697,
          "contribution": 0.063,
          "sampleSize": 64,
          "windowHours": 24
        }
      ]
    }
  ]
}

Try it now

The candidate feed is open in a browser tab.