Consume THE WIRE and SITUATIONS
THE WIRE
Section titled “THE WIRE”
denpa.ai/wire — rows are moves, not volume; STORIES collapses an event’s buckets into one situation.
/api/wire returns markets ranked by belief movement inside a window. It is not CORS-open — fetch it server-side.
curl "https://denpa.ai/api/wire?lane=&window=1h&limit=50"# → { events, updatedAt, window, coverage{…} } always 200, empty on errorLanes (uppercase): POLITICS · CRYPTO · SPORT · CULTURE · MUSIC · TECH · ECONOMY · SCIENCE · WORLD · ENTERTAINMENT. The four buckets sports · politics · fashion · music_culture belong to the protocol feed /api/v1/signals/external only.
SITUATIONS
Section titled “SITUATIONS”A situation is every moving market in one provider event, collapsed into a single story — six Bitcoin price buckets are one situation, not six competing rows. CORS-open.
curl "https://denpa.ai/api/situations?window=24h&limit=30"# → { situations, updatedAt, window, coverage{…} }- Read
peakDelta(the biggest mover) andmarkets[]. - Never sum a situation’s deltas. Mutually exclusive buckets trade against each other and cancel to zero.
criticalityisRoutine · Elevated · Critical;idis stable across polls.
The protocol feed
Section titled “The protocol feed”curl "https://api.denpa.ai/api/v1/signals/external?category=music_culture" # music_culture is served by KalshiThe categorised universe feed across two exchanges: Polymarket carries sports and politics; Kalshi carries music_culture (~80% of the feed). category is an exact match on the four buckets (music, culture, entertainment, sport are accepted aliases); anything else returns an empty feed, not an error.
const wire = await denpa.getWire({ window: "1h" }); // web origin, server-sideconst stories = await denpa.getSituations({ window: "24h" });import { getMarketFeed } from "@denpa/sdk";const feed = await getMarketFeed({ category: "music_culture" }); // both exchanges by default