# Sentinel Dead-Man Switch

> Sentinel Dead-Man Switch 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).

Registers a dead-man switch that issues a signed callback to your URL if heartbeats stop arriving within the specified timeout window

## Facts

- Endpoint: GET https://sentinel.rootstuff.io/x402/deadman
- 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-dead-man-switch-129ae93c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SxEDbkZMezEMGawt717L6

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-dead-man-switch-129ae93c
```

Example prompt: Set up a dead-man switch so that if my service stops sending heartbeats for more than 300 seconds, it POSTs a signed alert to https://hooks.myapp.com/deadman-alert with this payload: {"service": "payment-processor", "env": "production"}.

## When to prefer this

Choose this endpoint when you need a passive watchdog that fires only on silence — i.e., when a service, agent, cron job, or daemon fails to check in rather than when a URL returns an error. Unlike uptime monitors that actively poll, this dead-man switch is driven by the monitored process's own heartbeats, making it ideal for detecting crashed daemons, hung pipelines, or unresponsive AI agents. Prefer it over simple timers when you need continuous liveness monitoring with a rolling timeout rather than a one-shot scheduled callback.

## Known failure modes

- callback_url is a private, loopback, or reserved IP address — request is refused
- callback_url uses HTTP redirects — redirects are not followed and the registration may fail
- timeout_seconds outside the allowed range (60–86400) — validation error returned
- payload exceeds 4 KB — request rejected
- callback_url is unreachable at callback time — delivery silently fails or retries depending on service policy
- Heartbeats are sent but not received due to network issues — may cause false-positive triggers

## How this service works

Dead-man switch: a signed callback when your heartbeats stop

## Output

Upon registration, the endpoint returns a session token and heartbeat URL that the monitored process must periodically call. If no heartbeat is received within the configured timeout_seconds window, the service POSTs a cryptographically signed callback to the provided callback_url, echoing back the original payload. The callback includes a signature so the receiver can verify it genuinely came from Sentinel.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "payload": {
   "type": "object",
   "description": "Up to 4 KB of JSON echoed back in the callback."
  },
  "callback_url": {
   "type": "string",
   "description": "Public https URL that receives the POST. Private and reserved addresses are refused; redirects are not followed."
  },
  "timeout_seconds": {
   "type": "integer",
   "description": "Longest silence allowed between heartbeats, 60 to 86400."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sentinel-dead-man-switch-129ae93c/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)
