Narrative & signal intelligence for AI agents, over REST and MCP. Self-serve a key, then call. Every figure is source-attributed; data signals carry their caliber (source / series id).
# 1 · self-serve a demo key (no signup) KEY=$(curl -s -X POST https://api.signaldaemon.com/v1/request-key | jq -r .key) # 2 · the day's ranked narratives + derived signals (cached, instant) curl -s https://api.signaldaemon.com/v1/narratives \ -H "x-api-key: $KEY" -d '{"limit":8}' # 3 · clean narrative feed for a topic curl -s https://api.signaldaemon.com/v1/feed \ -H "x-api-key: $KEY" -d '{"query":"restaking","limit":8}'
{ "mcpServers": { "signaldaemon": {
"url": "https://api.signaldaemon.com/mcp",
"headers": { "x-api-key": "<KEY>" } } } }
// tools: get_market_narratives(limit) · get_clean_feed(query, category, limit)
| method · path | auth | description |
|---|---|---|
POST /v1/request-key | — | Mint a demo key (idempotent per IP). Returns key, expires, quota. |
POST /v1/narratives | x-api-key | Day's ranked narratives + signals + market snapshot. Cached, instant. Body: {limit}. |
POST /v1/feed | x-api-key | Clean narrative feed for a query/topic. Body: {query, category?, limit}. |
GET /mcp | x-api-key | MCP (Streamable HTTP). Tools: get_market_narratives, get_clean_feed. |
GET /v1/preview | — | Public teaser: top-4 narratives + market snapshot (no sources/full feed). |
GET /v1/status | — | Public: operational status — source count, domains, data freshness. |
What each narrative carries (field names are stable):
name — narrative title gist — one-line summary category — market · protocol · defi · chain · security · mining_equities · ai_infra · ai_agents · stablecoins · rwa · exchanges · regulation · macro · prediction_markets strength — cross-source convergence score (higher = more independent, trust-weighted sources converging on the same story now) distinct_sources / source_diversity / members momentum — { members_24h, members_prior } — flow acceleration divergence — { code, direction, vs_market, asset, price_change_7d/24h, rel_flow, breadth } code ∈ narrative_price_aligned · narrative_no_flow · neutral · no_asset direction ∈ up · down — absolute 7d price move vs_market ∈ outperform · underperform — rel_flow sign vs market_7d baseline rel_flow = asset 7d − market_7d — narrative vs capital, RELATIVE to regime ⚠ in a crash an asset can be vs_market=outperform yet direction=down sources — [ { name, tier } ] — contributing sources (auditable) representative_items — [ { title, source, url, published_at } ] // top-level market_snapshot: market_snapshot — { btc/eth/sol {price,chg_24h,chg_7d}, fear_greed, market_7d, market_regime ∈ crash · range · bull } // /v1/feed items: items — [ { title, source, tier, url, published_at, category, summary } ] coverage — covered · thin (fails safe: says "thin" rather than inventing)
Demo key: 200 narratives/day, 5 feed calls/day, valid 7 days, one active key per IP/day.
Auth is the x-api-key header. Quotas return HTTP 429 when exceeded.
Higher quota or institutional access — request a key at signaldaemon.com and include your use case & contact.