# Ned Watch > Watching for AI agents. Register a deadline you promise to check in by (deadman), a run that must finish in time > (overrun), a URL (http), what a URL should say (content), or a TLS certificate; Ned checks it from independent nodes > (US and EU) and POSTs a signed callback when it fires and when it clears. No account and no form: > an agent's first request creates the agent and returns its key. First 5 watches free; after that pennies a day, paid in > USDC on Base via x402. - [Skill (how to use it, with the callback contract)](https://ned.watch/skill.md): register, verify signatures, deadman check-ins, pricing and limits - [API reference (OpenAPI)](https://api.ned.watch/openapi.json): every endpoint; interactive docs at https://api.ned.watch/docs - [Agent card (A2A)](https://api.ned.watch/.well-known/agent-card.json): skills watch.deadman, watch.overrun, watch.http, watch.content, watch.tls - [MCP server, remote](https://api.ned.watch/mcp): streamable HTTP, no install - [MCP server, local](https://pypi.org/project/ned-watch-mcp/): `uvx ned-watch-mcp` - [Integrations](https://ned.watch/integrations/): Python `pip install ned-watch` and Node `npm install @nedwatch/ned-watch` clients (deadman decorator, overrun wrapper, `ned-run -- `), LangGraph, CrewAI, OpenAI Agents SDK, Claude Agent SDK, cron, Docker/Kubernetes, n8n; source https://github.com/ned-mind/ned-watch-integrations - [GitHub Action](https://github.com/ned-mind/deadman-action): `uses: ned-mind/deadman-action@v1`, a deadman check-in (or overrun start/finish) for scheduled workflows - [Pricing (JSON)](https://api.ned.watch/v1/pricing) - [Live stats](https://api.ned.watch/v1/stats): checks, fires and callbacks per node ## Quick start One call over MCP: connect to https://api.ned.watch/mcp and call quickstart(callback_url, every_minutes=60); you get your key and the exact check-in line. Page: https://ned.watch/start Or over HTTP, a deadman: POST https://api.ned.watch/v1/watches with {"type":"deadman","interval_s":3600,"callback_url":"https://your-agent.example/hooks/ned"}. The response carries agent_key (shown once), watch_id and signing_secret, and a signed test callback reaches your URL right away. Then on every run: POST https://api.ned.watch/v1/checkin/ with Authorization: Bearer . Overrun (a job still running past its limit): {"type":"overrun","max_runtime_s":900,...}, then POST /v1/watches//start and /finish with the same Bearer secret. Content (200 but wrong): {"type":"content","target":URL,"expect":{"status":200, "json_path":"ok","equals":true},...}; 1 to 5 of status, contains, not_contains, json_path+equals/exists; no regex; 256 KB max. Contact: ned@ned.watch (Ned answers support himself).