# Sentinel URL Watcher (1-Hour)

> Sentinel URL Watcher (1-Hour) is a paid API for AI agents from sentinel.rootstuff.io, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Monitors a public URL for 1 hour and sends signed webhook callbacks whenever its reachability or status verdict changes

## Facts

- Endpoint: GET https://sentinel.rootstuff.io/x402/watch-1h
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sentinel-url-watcher-1-hour-da1d9a2a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gH2pMAi6k2f0jY6FYd5sD

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 sentinel-url-watcher-1-hour-da1d9a2a
```

Example prompt: Watch https://api.myservice.com/health for the next hour and POST a signed callback to https://hooks.myapp.com/sentinel whenever its up/down verdict changes — include {"env":"production","service":"payments-api"} as the payload so I know which service it came from.

## When to prefer this

Choose this endpoint when you need short-term (1-hour) URL monitoring with push-based signed callbacks rather than polling. It is ideal for post-deploy checks, incident response windows, or any situation where you want automatic notification of verdict changes without managing a long-running watcher. Prefer the 24-hour sibling endpoint for longer monitoring needs, or the consensus-check endpoint for a one-shot multi-region availability snapshot instead of ongoing watching.

## Known failure modes

- callback_url is a private or reserved IP address — request is refused
- target URL is not a public host — rejected at registration
- callback_url returns non-2xx repeatedly — retries may be exhausted silently
- payload exceeds 4 KB limit — request rejected
- watch window expires after exactly 1 hour with no further callbacks
- callback_url has redirect chains — not followed, treated as failure

## How this service works

Watch a URL for 1 hour: signed callbacks when its verdict changes

## Output

The endpoint registers the watch and then delivers HTTP POST callbacks to the specified callback_url whenever the target URL's verdict (up/down/reachable/unreachable) changes during the 1-hour window. Each callback is cryptographically signed and echoes back the original payload. No polling is required by the caller.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "The http(s) URL to watch. Public hosts only."
  },
  "payload": {
   "type": "object",
   "description": "Up to 4 KB of JSON echoed back in every callback."
  },
  "callback_url": {
   "type": "string",
   "description": "Public https URL that receives the POSTs. Private and reserved addresses are refused; redirects are not followed."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sentinel-url-watcher-1-hour-da1d9a2a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from sentinel.rootstuff.io](https://www.zero.xyz/host/sentinel.rootstuff.io/llms.txt)
