# Source Change Monitor – 30-Day Webpage Polling

> Source Change Monitor – 30-Day Webpage Polling is a paid API for AI agents from evidence.regulavita.com, paid per call via x402, $1/call, status unknown (last checked 2026-09-15).

Creates a 30-day recurring monitor that polls a public URL every 6 hours and alerts when the source content changes, payable per-call with no account or API key via x402.

## Facts

- Endpoint: POST https://evidence.regulavita.com/v1/monitors/source-change
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/source-change-monitor-30-day-webpage-polling-4734e70f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_e9G1IvrgRIw49hBC1hZdu

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 source-change-monitor-30-day-webpage-polling-4734e70f -d '<json body>'
```

Example prompt: Start monitoring https://ofac.treasury.gov/sdn-list for any content changes over the next 30 days and notify me via my webhook at https://my-agent.example.com/hooks/ofac-alert if anything updates.

## When to prefer this

Use this endpoint when an autonomous agent needs to passively track a public URL for content changes over a 30-day window without maintaining its own polling infrastructure. Ideal for compliance workflows watching regulatory pages (OFAC, SEC, government sources), competitor intelligence, or any scenario where the agent must react to external source mutations. Choose this over custom polling when you want pay-per-monitor economics with no account setup, and when a 6-hour check cadence is sufficient.

## Known failure modes

- Payment not received or insufficient USDC — monitor not created, 402 response
- Invalid or unreachable target URL — monitor creation may fail or checks will silently fail
- Webhook URL unreachable — monitor runs but notifications are never delivered
- Monitor expires after 30 days without renewal — no further checks performed
- Private or auth-gated URLs return non-public content, defeating change detection
- Access token lost after first return — cannot recover it; must create a new monitor

## How this service works

One-call isolated Python execution, brokered machine work, source monitoring, and factual evidence for autonomous agents, payable with no account or API key.

## Output

Returns a JSON object containing a monitor_id, current status ('ACTIVE'), expiry timestamp (30 days out), a status_url for polling monitor health, a one-time access_token for future authenticated status checks, check_interval_seconds (21600 = every 6 hours), and webhook configuration details indicating whether a callback URL was set.

## 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",
       "pattern": "^https://",
       "maxLength": 2048,
       "description": "Public HTTPS source to monitor."
      },
      "label": {
       "type": "string",
       "maxLength": 120
      },
      "webhook_url": {
       "type": "string",
       "format": "uri",
       "pattern": "^https://",
       "maxLength": 2048,
       "description": "Optional public HTTPS webhook for signed change events."
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "monitor_id",
      "status",
      "expires_at",
      "check_interval_seconds",
      "access_token",
      "status_url"
     ],
     "properties": {
      "status": {
       "type": "string"
      },
      "webhook": {
       "type": "object"
      },
      "expires_at": {
       "type": "string",
       "format": "date-time"
      },
      "monitor_id": {
       "type": "string"
      },
      "status_url": {
       "type": "string",
       "format": "uri"
      },
      "access_token": {
       "type": "string"
      },
      "check_interval_seconds": {
       "type": "integer"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "ACTIVE",
  "webhook": {
   "configured": false
  },
  "expires_at": "2026-09-09T00:00:00+00:00",
  "monitor_id": "mon_example",
  "status_url": "https://evidence.regulavita.com/v1/monitors/mon_example",
  "access_token": "returned_once_after_payment",
  "check_interval_seconds": 21600
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/source-change-monitor-30-day-webpage-polling-4734e70f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from evidence.regulavita.com](https://www.zero.xyz/host/evidence.regulavita.com/llms.txt)
