{"openapi":"3.0.0","info":{"title":"PulseFeed x402 API","version":"1.0.0","description":"Real-time Base on-chain intelligence + x402 trust oracle for AI agents. Pay-per-call via x402 (USDC on Base)."},"servers":[{"url":"https://pulsefeed.dev"}],"paths":{"/pulse":{"get":{"summary":"Token pulse: on-chain activity over a block window","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 contract address (0x...)"}],"x-payment-info":{"protocol":"x402","priceUsd":0.01,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/whales":{"get":{"summary":"Whale alerts: large token transfers","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 contract address (0x...)"},{"name":"min","in":"query","required":false,"schema":{"type":"number"},"description":"min transfer size (token units)"}],"x-payment-info":{"protocol":"x402","priceUsd":0.02,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/flow":{"get":{"summary":"Accumulation/distribution: net flow by address","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 contract address (0x...)"}],"x-payment-info":{"protocol":"x402","priceUsd":0.02,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/momentum":{"get":{"summary":"Momentum: current vs previous window","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"ERC-20 contract address (0x...)"}],"x-payment-info":{"protocol":"x402","priceUsd":0.01,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/trust":{"get":{"summary":"x402 trust & safety oracle: verify an endpoint + scam/anomaly scan / working-services catalog with ecosystem risk map","parameters":[{"name":"endpoint","in":"query","required":false,"schema":{"type":"string"},"description":"x402 endpoint URL to verify"}],"x-payment-info":{"protocol":"x402","priceUsd":0.004,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/trust/history":{"get":{"summary":"x402 endpoint track record over time: uptime, payTo & price change history, trend (unique compounding audit data)","parameters":[{"name":"endpoint","in":"query","required":true,"schema":{"type":"string"},"description":"x402 endpoint URL"}],"x-payment-info":{"protocol":"x402","priceUsd":0.008,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/trust/dataset":{"get":{"summary":"Bulk x402 trust dataset ($0.10): up to 5,000 live services' full trust profiles in one call — trustScore/verdict, scam flags, receiver stability, on-chain profile + compounding payTo/price history. For builders of trust/uptime tools. Free format preview in /status.json.","parameters":[{"name":"all","in":"query","required":false,"schema":{"type":"string"},"description":"1 = include dead/invalid services"},{"name":"limit","in":"query","required":false,"schema":{"type":"number"},"description":"max services (default and max 5000)"}],"x-payment-info":{"protocol":"x402","priceUsd":0.1,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/data/full":{"get":{"summary":"PulseFeed Data API ($1.00): the cross-domain trust dataset in one call — the top 5,000 live x402 services by trust score (moat profile) + every audited npm MCP server (safety) + ecosystem aggregates + live security incidents with on-chain proof. Free preview + schema in /data.json.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"number"},"description":"max x402 services (default and max 5000)"},{"name":"all","in":"query","required":false,"schema":{"type":"string"},"description":"1 = include dead/invalid services"}],"x-payment-info":{"protocol":"x402","priceUsd":1,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/mcp/drift/history":{"get":{"summary":"Full MCP supply-chain drift series since 2026-07-30 in one call ($0.10): every recorded ownership swap, later install script, repository removal, delisting and name resurrection. Windows of up to 7 days are free.","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer"},"description":"window in days (default: the whole series; 1-7 is free)"},{"name":"includeRetracted","in":"query","required":false,"schema":{"type":"string"},"description":"1 = keep retracted events"}],"x-payment-info":{"protocol":"x402","priceUsd":0.1,"currency":"USDC","network":"base","scheme":"exact","payTo":"0x7f5f784Ba98cEcFC0bA4336f0E48222A3d4d69a8"},"responses":{"200":{"description":"OK"},"402":{"description":"Payment Required (x402)"}}}},"/incidents.json":{"get":{"summary":"Free: live x402 security incidents — receiver hijacks, bait-and-switch, honeypots, unverified receivers — each with on-chain proof","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"number"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":"OK (free)"}}}},"/data.json":{"get":{"summary":"Free: PulseFeed Data API preview + schema + coverage + samples (the paid full feed is /data/full)","responses":{"200":{"description":"OK (free)"}}}},"/data/sample":{"get":{"summary":"Free: SAMPLE of the paid Data API — top-10 x402 services (full records incl. payTo/price history), top-10 MCP servers (full audit profile), 3 live incidents. Try before you pay $1 for /data/full.","responses":{"200":{"description":"OK (free)"}}}},"/verify":{"get":{"summary":"Free cached trust verdict for an x402 endpoint (liveness, score, verdict, band, flags) — powers the guard SDK & agent tools","parameters":[{"name":"endpoint","in":"query","required":true,"schema":{"type":"string"},"description":"x402 endpoint URL"}],"responses":{"200":{"description":"OK (free)"}}}},"/status.json":{"get":{"summary":"Free: live x402 ecosystem audit — live services, catalog accuracy, risk map, on-chain receiver profiles + bulk-dataset preview","responses":{"200":{"description":"OK (free)"}}}},"/changes.json":{"get":{"summary":"Free: recent ecosystem change feed — services gone dark, payTo swaps, price jumps, new services","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"number"}},{"name":"limit","in":"query","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":"OK (free)"}}}},"/reports.json":{"get":{"summary":"Free: State of x402 report + ecosystem time series (updated daily)","responses":{"200":{"description":"OK (free)"}}}},"/trust-score.json":{"get":{"summary":"Free: the PulseFeed Trust Score standard spec — bands, factors, versioning","responses":{"200":{"description":"OK (free)"}}}},"/mcp/drift.json":{"get":{"summary":"Free: what changed in MCP servers/npm packages AFTER adoption — install script added, ownership swapped, repository removed, package unpublished. Whole-registry daily diff; an event exists only because a snapshot from before it exists. CORS-enabled.","parameters":[{"name":"packages","in":"query","required":false,"schema":{"type":"string"},"description":"comma-separated ids to filter (registry name io.github.owner/name, or npm package name)"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30},"description":"window in days: 1-365 with ?packages=; without it the feed covers the last 7 days (the full series is /mcp/drift/history)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200},"description":"max events returned; the `total` field is NOT affected by it"}],"responses":{"200":{"description":"OK (free)"}}}},"/mcp/drift.rss":{"get":{"summary":"Free: the same series as RSS. Filter with ?packages= to watch your own dependencies — no signup and no subscriber database, the filter lives in the URL.","parameters":[{"name":"packages","in":"query","required":false,"schema":{"type":"string"},"description":"comma-separated ids to watch"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30}}],"responses":{"200":{"description":"OK (free)"}}}},"/badge/mcp.svg":{"get":{"summary":"Free: embeddable SVG drift badge for one package. Returns grey `unwatched` when the package is not in our snapshot — absence of measurement is never rendered as a clean bill of health. CORS-enabled.","parameters":[{"name":"package","in":"query","required":false,"schema":{"type":"string"},"description":"registry name or npm package name; omit for a coverage badge"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30}}],"responses":{"200":{"description":"image/svg+xml (free)"}}}}}}