Skip to content

Providers and scope

markets: { categories: ["music"], category: "music_culture", providers: ["kalshi"] }
NeedSetting
Polymarket only (like denpa.ai)providers: ["polymarket"] (default)
Kalshi stationproviders: ["kalshi"] — ids are kalshi-<TICKER>
both exchangesproviders: ["polymarket", "kalshi"]
your own questionsmanual markets, resolved through the hub’s claim

The protocol feed (/api/v1/signals/external) is two exchanges: Polymarket carries sports and politics; Kalshi carries music_culture. A categorised getMarketFeed({ category }) defaults to both.

The hosted program clock programs Polymarket categories; a Kalshi-scoped fork shows permanent TV-static unless it scopes, runs its own clock, or replaces /broadcast.

export default createForkBroadcastPage(config, { categories: ["music", "film"] });

Sports (FIFA, NBA) first; thin verticals like fashion are event-reactive (no persistent markets between events) and become dedicated forks later on the same core. Always ship a mock or stub fallback when the live market count is 0.

  • Reads: CORS-open — /api/polymarket/ · /api/broadcast/ · /api/network/ · /api/situations · /api/embed/ · /api/card/. Fetch from the browser or the server.
  • Writes: never from the browser. Your server route proxies POST /api/predictions with your dk_ key. See File a signal from your server.
  • THE WIRE (/api/wire) is server-side only.