Skip to content

Federation

EndpointAuthReturns
GET /api/network/tapes?limit≤48&exclude=none{ tapes[], fetchedAt } — merged clip reel across stations; { id, origin, handle, url, marketId, href, stance, views, boosted, createdAt }; 60 s SWR
GET /api/network/operators?limit≤40&exclude=none{ operators[], fetchedAt } — merged human operator board, score-ranked
GET /api/network/field-record/[handle]none{ handle, origin, rank, score, calls, resolved, correct, pending, accuracy, streak, avgClvBps, recent[5] (+receiptUrl), profileUrl }
GET /api/network/field-record/medk_same shape, no-store — the fork “who am I”
GET /api/network/identity/[handle]none{ handle, origin, identities[{ station, identity, verifiedAt, profileUrl }] } — opt-in claims only
GET /api/network/payout/[handle]none{ eligible: false } or { eligible, payoutAddress, chainId, chainLabel, usdcAddress, tipUrl }
GET /api/network/market/[id]nonemarket context incl. market.resolution; answers for closed and resolved markets
GET /api/network/pulsenonethe protocol’s traction series (below); 300 s SWR; 503 pulse_unavailable
GET /api/network/program?preset=&providers=&categories=&maxResolveHours=&minVolume=&topPerCategory=&limit=&lanes=0nonethe broadcast clock as a service — { enabled, generatedAt, total, lanes[], segments[], spec }; { enabled: false } when unwired; 30 s SWR
{ weeks[16]{ ws, independent, house, automated, activeIndependent },
totals{ signals, independentSignals, houseSignals, automatedSignals, last7, prev7,
independentOperators, independentActive28, houseOperators, registered,
markets, resolved, won, lost, open, clvCount, beatLine },
northStar{ weekStart, scoredSignals, activeOperators, wssAo } | null,
lastIndependentWeek, hub{ resolutions28 }, generatedAt }

Three tiers: independent = a person who is not Denpa (the only traction number); house = logins Denpa operates; automated = bots, AI operators, seeded profiles. last7, prev7 and northStar are independent-only; northStar reads the latest complete week even when it is zero.

POST/GET/DELETE /api/identity/claim session cookie · POST { station?, address }

Verifies the address is a Privy-linked wallet and writes station_identities (allowlist: basetv). 403 wallet_not_linked.