{"openapi":"3.1.0","info":{"title":"fresh-feeds","version":"1.5.0","description":"Continuously-maintained data + trust feeds for AI agents. Free preview/search/verify + freshness; full snapshots, change-deltas and live verification reports are x402-paid per call (USDC on Base, <= $0.05).","contact":{"name":"foomworks","url":"https://foomworks.app/fresh-feeds/"}},"servers":[{"url":"https://fresh-feeds.foomworks.workers.dev"}],"paths":{"/feeds/mcp-registry":{"get":{"summary":"Full MCP registry snapshot (x402 $0.05); ETag/If-None-Match → 304 free","responses":{"200":{"description":"OK","content":{"application/json":{}}},"304":{"description":"Not modified (free freshness check)"},"402":{"description":"x402 payment required — pay the indicated price via the x402 protocol, then retry to receive the body"}}}},"/feeds/mcp-registry/preview":{"get":{"summary":"Top 10 servers by quality score (free)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/feeds/mcp-registry/search":{"get":{"summary":"Free keyword search over the registry snapshot (cache-only, capped at 25; full records via the paid snapshot)","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"keyword matched against server name/title/description"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"max results (1–25)"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/feeds/mcp-registry/changes":{"get":{"summary":"Delta since a daily baseline (x402 $0.02)","parameters":[{"name":"since","in":"query","schema":{"type":"string"},"description":"baseline date YYYY-MM-DD"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}},"402":{"description":"x402 payment required — pay the indicated price via the x402 protocol, then retry to receive the body"}}}},"/feeds/mcp-registry/highlights":{"get":{"summary":"Top 10 + trending + freshness (free, CORS)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/feeds/x402-services":{"get":{"summary":"Full liveness-probed x402 services feed (x402 $0.05); ETag → 304 free","responses":{"200":{"description":"OK","content":{"application/json":{}}},"304":{"description":"Not modified"},"402":{"description":"x402 payment required — pay the indicated price via the x402 protocol, then retry to receive the body"}}}},"/feeds/x402-services/preview":{"get":{"summary":"Top 10 currently-payable services (free)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/verify/mcp":{"get":{"summary":"Full verification report — live endpoint probe + graded signals (x402 $0.03)","parameters":[{"name":"server","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}},"402":{"description":"x402 payment required — pay the indicated price via the x402 protocol, then retry to receive the body"}}}},"/verify/mcp/preview":{"get":{"summary":"Grade + headline liveness from cache (free)","parameters":[{"name":"server","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/verify/mcp/badge":{"get":{"summary":"Embeddable SVG trust badge (free)","parameters":[{"name":"server","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"SVG","content":{"image/svg+xml":{}}}}}},"/risk/agent":{"get":{"summary":"ERC-8004 verify-before-you-pay risk report R2–R7 for a Base agent (free; maintained sample)","parameters":[{"name":"agentId","in":"query","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}},"404":{"description":"agentId outside the maintained sample"}}}},"/risk/agent/preview":{"get":{"summary":"Risk band + score headline (free)","parameters":[{"name":"agentId","in":"query","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/risk/agent/badge":{"get":{"summary":"Embeddable SVG risk badge (free)","parameters":[{"name":"agentId","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"SVG","content":{"image/svg+xml":{}}}}}},"/risk/agents":{"get":{"summary":"The maintained agent-risk sample, riskiest first (free)","parameters":[{"name":"band","in":"query","required":false,"schema":{"type":"string","enum":["low","medium","high","unknown"]},"description":"optional: return only agents in this risk band"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/risk/by-address":{"get":{"summary":"Verify-before-you-pay by wallet/payTo: risk for the agent(s) owned by or declaring an address (free; cache-only)","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"},"description":"0x… or CAIP-10 eip155:8453:0x… address you're about to transact with"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}},"404":{"description":"address not in the maintained sample"}}}},"/health":{"get":{"summary":"Feed freshness, data age, available change-baseline dates (free)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/stats":{"get":{"summary":"Daily usage counters (free)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/mcp":{"post":{"summary":"MCP server (Streamable HTTP, JSON-RPC 2.0) — agent-native tools; free tools + x402 pointers for paid feeds","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"A2A agent card (free)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/.well-known/mcp.json":{"get":{"summary":"MCP server descriptor (free)","responses":{"200":{"description":"OK","content":{"application/json":{}}}}}}}}