All apps

Watchtower

x402

Tell me when this page changes. Here is my webhook.

Watchtower screenshotHover to scroll

Watch any page and get told when it actually changes — with the diff, and a signed webhook. One call returns what the page says now, whether it differs from the baseline you supplied, and exactly what moved.

  • A check is one look at one page. A monitor repeats it hourly, daily or weekly and pushes an alert only when there is something to say
  • Before anything is compared, the extraction is NORMALISED: timestamps, "3 minutes ago", CSRF and nonce values, long opaque hashes, and cache-busting query parameters are all masked. Whitespace and invisible spaces always are. Otherwise a rotating token would report a change every hour, forever
  • Prices, counts, versions, copyright years and the ORDER of a list are never masked — those are the answers people are watching for. Every masking class can be turned off individually, and the full policy is machine-readable at /api/pricing and over MCP as get_change_policy
  • Extraction is deterministic — a CSS selector or a field map, never a model. A stochastic extractor would report changes that never happened, and each false report would bill the caller and fire their webhook
  • Narrow a watch with selector for one region, or schema (a field map of name → CSS selector) so an alert reads price: $19.00 → $29.00 instead of a wall of markdown
  • 3 credits per check, and the same for a monitor pass, because it is the same work. A page that yields nothing at all refunds in full; a page that simply did not change is a real answer and is billed
  • Non-public addresses (localhost, private ranges, cloud metadata, .internal) are refused for free before any price is quoted — on both rails, and for webhook targets too
  • Agent-native from day one: wtc_live_ REST keys, a 12-tool MCP server (works with the Ounie AI Team via ?api_key=), keyless x402 pay-per-call in USDC, and the fleet master key. The x402 rail sells ONE check against a baseline you supply; recurring monitors need an account, because a subscription has nobody to bill on renewal and nowhere to send an alert — and the 402 itself says so before you pay

For agents

Works with Claude, ChatGPT, and any MCP client. One server, every app: paste the gateway config and the agent can discover and run Watchtower — and the rest of the store — through ounie_list_apps → ounie_describe_app → ounie_invoke_app.

{
  "mcpServers": {
    "ounie": {
      "url": "https://mcp.ounie.com"
    }
  }
}

Scoped endpoint — just this app. Point a client here when the agent should only ever see Watchtower's tools:

{
  "mcpServers": {
    "watch": {
      "url": "https://watch.ounie.com/api/mcp"
    }
  }
}

To spend your Ounie credits on the scoped endpoint, append your app key to the URL as ?api_key=… — the header-less form clients like the Ounie AI Team need.

Credits used

Check one page (3 cr) · a monitor pass costs the same3 credits per call
Watchtower — an Ounie app for AI agents · Ounie