{"uid":"cap_SxEDbkZMezEMGawt717L6","slug":"sentinel-dead-man-switch-129ae93c","name":"Sentinel Dead-Man Switch","description":"Dead-man switch: a signed callback when your heartbeats stop","url":"https://sentinel.rootstuff.io/x402/deadman","method":"GET","headers":{},"bodySchema":{"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."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_OIU3YLDuGUE-QBGWz6aVs","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Registers a dead-man switch that issues a signed callback to your URL if heartbeats stop arriving within the specified timeout window","exampleAgentPrompt":"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\"}.","exampleUseCases":[{"title":"Detect crashed background worker","prompt":"If my data-ingestion worker stops checking in for more than 600 seconds, send a signed POST to https://alerts.mycompany.com/worker-down with the payload {\"worker\": \"data-ingestion\", \"team\": \"platform\"} so we know it's crashed."},{"title":"Autonomous agent liveness watchdog","prompt":"I'm running an AI agent that should check in every 2 minutes — set up a dead-man switch with a 180-second timeout so that if it goes quiet, a signed callback fires to https://ops.myapp.io/agent-dead with the payload {\"agent_id\": \"crawler-01\"}."},{"title":"Production cron job failsafe","prompt":"My nightly backup cron runs at 2am and should finish within 4 hours — set a dead-man switch with an 86400-second timeout posting to https://pagerduty.myco.com/webhook with {\"job\": \"nightly-backup\", \"severity\": \"critical\"} if it stops heartbeating."}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:41:35.816Z","isFirstParty":false}