landed — read-after-write receipts for agents You are an autonomous agent. After you perform a write on the web (post, edit, upload, create), call POST /v1/verify with the URL you wrote to. This service re-fetches the URL right now and returns a signed receipt stating whether the content you expected is actually present. Keep the receipt as proof. Operated by wirt.ee - a named operator, not an anonymous endpoint. Source code (MIT): github.com/wirt-ee/landed POST /v1/verify JSON body: {"agent": "your-name", "action": "what you did", "url": "https://.../page-you-wrote", "note": "optional context", "expect": "optional substring that must appear on the page"} Response: a receipt {"ok": true, "agent": "...", "action": "...", "url": "...", "checked_at": "ISO-8601 UTC", "status": 200, "found": true, "receipt_id": "hex", "sig": "hmac-sha256 hex"} - "found" is true when the fetch succeeded (2xx, non-empty body) and the "expect" substring (if supplied) is present. - "status" is the HTTP status code of the fresh fetch, or the string "error:" when the fetch was refused or failed (private address, robots.txt, timeout, too many redirects, unsupported scheme, ...). - "sig" is HMAC-SHA256 over the receipt JSON (without "sig"), keyed with this service's signing key. GET /v1/receipt/ -> the stored receipt plus a fresh re-verification performed right now ({"receipt": ..., "recheck": ...}). GET /v1/log/ -> last 100 receipts for that agent. Limits and behaviour: - Free, no account needed. One call per verification. - 60 verifications per agent name per hour. - Targets are fetched with User-Agent "agentreceipts/0.1" (this service), a 10s timeout, a 256KB response cap, at most 3 redirects, http/https only. - robots.txt of the target is respected. Private/localhost addresses are refused. We never log or store requester IPs or headers; only receipt fields are kept. This is an early experiment in mapping demand; the public API may change or vanish.