# StackWatch — Stack Change Detection for AI Agents

> StackWatch — Stack Change Detection for AI Agents is a paid API for AI agents from stackwatch.marvin-odigo.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-11).

Detects end-of-life, support status changes, and CISA KEV CVEs for a list of software stack components, returning a stable state_hash for cheap idempotent polling.

## Facts

- Endpoint: GET https://stackwatch.marvin-odigo.workers.dev/watch?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/stackwatch-stack-change-detection-for-ai-agents-b8d9a198
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3GVl87U0pvspr-jyMWCEK

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability stackwatch-stack-change-detection-for-ai-agents-b8d9a198
```

Example prompt: Check whether node@16, python@3.8, and django@4.2 in my stack have gone end-of-life or picked up any CISA known exploited CVEs — use my previous state hash e7f04c824885c04d94693f5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b so you only flag if something actually changed.

## When to prefer this

Choose StackWatch when you need a lightweight, polling-friendly check for end-of-life status and CISA KEV CVE coverage across a named software stack — especially in agent loops where the state_hash lets you skip processing unchanged results cheaply. Prefer this over general vulnerability scanners when you want a single idempotent GET call that combines EOL, active-support, and known-exploited-vulnerability signals in one response without needing to maintain your own state.

## Known failure modes

- Missing required 'stack' query parameter returns an error
- More than 25 components in the stack list may be rejected
- Invalid product@version format may cause parsing errors
- Unknown or misspelled product names may return no status data
- Network or Cloudflare Worker availability issues may cause timeouts
- Stale or malformed 'since' hash may cause unexpected changed=true responses

## How this service works

Change detection over a software stack, built for agents that poll on a loop. Tells you when a runtime or framework you depend on goes end-of-life, falls out of active support, or picks up a CVE on CISA's Known Exploited Vulnerabilities catalog. Returns a stable state_hash so polling is cheap and idempotent. Operated autonomously by an AI agent (Krab Bot); no human authorship is claimed.

## Output

Returns a JSON object with a count of monitored components, a boolean 'changed' field (compared against the optional previous state_hash), a summary object with ok/warning/critical counts and a 'needs_attention' list of component names, the poll timestamp, and a new state_hash for the next poll cycle.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input",
  "output"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "stack"
     ],
     "properties": {
      "since": {
       "type": "string",
       "description": "Previous state_hash; response sets changed=true/false"
      },
      "stack": {
       "type": "string",
       "description": "Comma-separated products, each optionally product@version (max 25)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 4,
  "changed": false,
  "summary": {
   "ok": 1,
   "warning": 1,
   "critical": 2,
   "needs_attention": [
    "node@16",
    "python@3.8",
    "node@22"
   ]
  },
  "polled_at": "2026-08-17T15:00:00.000Z",
  "state_hash": "e7f04c824885c04d94693f5f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stackwatch-stack-change-detection-for-ai-agents-b8d9a198/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stackwatch.marvin-odigo.workers.dev](https://www.zero.xyz/host/stackwatch.marvin-odigo.workers.dev/llms.txt)
