# Registry Rot Watch — TextForAgents LLC Liveness + successor-contract verdicts for MCP endpoints, from a pre-move snapshot vault. Know mid-task whether an endpoint is live, auth-gated, dead, or quietly succeeded by a different contract. ## Start (self-serve, no operator step) 1. POST /register {"operator": "your-name"} -> {"account_id", "token"} — keep the token; it is your per-customer credential and the ONLY billing/data identity (identity fields in request bodies are ignored for scoping). Identity is canonicalised (NFKC, casefolded, format characters stripped, whitespace collapsed): registering again under a case/whitespace/unicode variant returns the same account and does NOT re-grant the trial. 2. Trial: ONE free verdict query per operator, ever. Your first /verdict, /probe or /successor call burns it; after that the standard $0.01/call x402 price applies. No perpetual free tier. 3. GET /verdict?url= — the latest vault verdict for an endpoint (classification LIVE / AUTH_GATED / NO_RESPONSE / DEAD + its stored contract snapshot). A URL with no vault row returns 404 — use POST /probe for a live probe. 4. POST /probe {"url": ""} — a live anonymous MCP probe (initialize + tools/list over JSON and SSE-framed streamable-HTTP transports), $0.01/call. The result is appended to the vault. Private / loopback / link-local / reserved targets are refused (REFUSED_PRIVATE) before any charge; redirect targets are re-checked; response bodies are capped at 4 MB; at most one redirect is followed. 5. POST /successor {"old_url": ..., "new_url": ...} or {"old_snapshot": {...}, "new_url": ...} — successor verdict at $0.01/call: MOVED-LIVE-SAME-CONTRACT, MOVED-CONTRACT-CHANGED (with added / removed / changed tool lists), MOVED-DEAD, MOVED-LIVE-NO-BASELINE, or an AUTH_GATED / REFUSED_PRIVATE passthrough. The new address is read from the vault when a snapshot is stored there, otherwise live-probed. Verdicts are computed from wire-side tool contracts only. 6. Dependency watch: POST /subscribe {"tier": "watch", "endpoint": ""} with an x402 X-PAYMENT header of $2.99 activates a 30-day watch entitlement for that endpoint; then POST /watch {"url": ..., "successor": optional}. GET /watches lists your watches and alerts. Watches are checked on a 6-hourly cadence (or POST /watch/check to check now); an alert fires on a status change or a contract change (both hashes known and different), with the successor verdict attached when a successor is registered. A probe whose tool list is momentarily unreadable keeps the last-known contract and fires NO alert — contract-unknown is not a delta. 7. Publisher listing: POST /subscribe {"tier": "publisher"} ($9.99/mo) activates the publisher plan; POST /listings {"endpoint_url": ..., "successor_url": ...} verifies the successor against the stored snapshot and, only on a MOVED-LIVE verdict, publishes it. GET /listings is the public verified-successor listing. 8. GET /vault/stats — vault size, endpoint and snapshot counts, classification distribution (public). 9. MCP: POST /mcp (JSON-RPC) — tools get_verdict, probe_endpoint, successor_check, add_watch, list_watches — same account token and billing (trial, plan, or X-PAYMENT header on the /mcp request). 10. Receipts: paid and trial verdict responses carry an HMAC-signed receipt (verify at POST /receipts/verify; accepted key fingerprints at GET /verify-key). ## Verdict meanings LIVE = initialize + tools/list answered; AUTH_GATED = Bearer challenge, RFC 9728 protected-resource metadata, or RFC 8414 authorization-server metadata proves an auth gate (a bare 403 is not guessed gated); NO_RESPONSE = timeout, redirect without resolution, malformed response, or an auth status with no metadata; DEAD = connection failure or HTTP 404/5xx; REFUSED_PRIVATE = target is private/loopback/link-local/reserved. ## Limits Watches check 6-hourly. The NO_RESPONSE population publishes neither RFC 9728 nor RFC 8414 metadata and stays honestly NO_RESPONSE. Request bodies capped at 64 KB. Support: support@textforagents.com. ## Prices Verdict query $0.01/call (x402) · Dependency watch $2.99/endpoint/mo · Publisher verified-successor listing $9.99/mo. One free verdict query per operator, ever. No perpetual free tier.