# Web Monitor – Deterministic Website Change Detection

> Web Monitor – Deterministic Website Change Detection is a paid API for AI agents from x402-gateway-production-1f21.up.railway.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-11).

Fetches a webpage, hashes its content (optionally scoped to a CSS selector), and compares against a previous hash to deterministically detect changes.

## Facts

- Endpoint: POST https://x402-gateway-production-1f21.up.railway.app/web/monitor?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/web-monitor-deterministic-website-change-detection-c0c13554
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-aZJfORjCTtISdEl1hDVu

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 web-monitor-deterministic-website-change-detection-c0c13554 -d '<json body>'
```

Example prompt: Check if the page at https://example.com/release-notes has changed since my last visit — use the previous hash a3f1...c2d8 and focus only on the #changelog selector, with a 30-second timeout.

## When to prefer this

Choose this endpoint when you need deterministic, hash-based change detection on a specific webpage or a subsection of it (via CSS selector). It is ideal for polling workflows where you want a cheap, repeatable signal that a page has or has not changed, without parsing or interpreting the content. Prefer it over full-text extraction endpoints when you only need a yes/no changed signal rather than the actual page content.

## Known failure modes

- URL is unreachable or returns a non-200 status — fetch fails with an error
- Timeout exceeded (>60 seconds) — request rejected before content is retrieved
- Invalid previous_hash format (not 64 hex characters) — schema validation error
- CSS selector matches nothing on the page — hash may reflect empty content
- Malformed URL — rejected by URI format validation

## How this service works

Machine-payable x402 utilities for hashing, Base64, UUID generation, unit and timezone conversion, realtime crypto market data, webpage/document extraction, URL-to-Markdown, metadata, RAG ingestion and deterministic website change detection.

## Output

Returns a JSON object indicating whether the page content has changed (compared to the provided previous hash), along with the new hash of the current content. If no previous hash is provided, returns the current hash for future comparisons. The status field indicates readiness or change outcome.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri"
      },
      "selector": {
       "type": "string",
       "maxLength": 1000
      },
      "previous_hash": {
       "type": "string",
       "pattern": "^[a-fA-F0-9]{64}$"
      },
      "timeout_seconds": {
       "type": "integer",
       "maximum": 60,
       "minimum": 5
      },
      "ignore_selectors": {
       "type": "array",
       "items": {
        "type": "string",
        "maxLength": 1000
       },
       "maxItems": 50
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "ready"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/web-monitor-deterministic-website-change-detection-c0c13554/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-gateway-production-1f21.up.railway.app](https://www.zero.xyz/host/x402-gateway-production-1f21.up.railway.app/llms.txt)
