
Botvue
Catches sites that answer AI crawlers with a 200 OK and nothing in it, then proves it.
Demo
About
Botvue reports when a website serves AI crawlers a different, often empty, page than it serves browsers and Googlebot, while still returning HTTP 200, so the agent has no reason to doubt it succeeded. It fetches one URL six ways at the same moment: a browser, Googlebot, and four real AI crawler user-agents (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot). It compares the responses and classifies any difference on a five-level severity scale, from cosmetic markup residue up to prompt injection: text addressed directly to the AI reading it. Every finding carries a SHA-256 hash of the actual response body, so it can be independently re-verified rather than taken on trust. We measured 131 findings across a 567-property corpus of real news sites; the rest are clean or refuse crawlers honestly with a real 4xx, which isn't a problem since an agent that gets refused already knows it got nothing. Paid checks settle via x402 on Hedera testnet, and that settlement is independently re-confirmed against Hedera's public mirror node rather than trusted from the payment facilitator alone.
How it's made
The core is a Python/FastAPI gateway that fetches a URL as a browser and as five bot user-agents via httpx, extracts text with trafilatura, and classifies differences with a rule-based taxonomy before mapping the worst match to a pass/flag/block decision. Paid requests are gated by x402: a 402 response carries Hedera testnet payment terms fetched live from the Blocky402 facilitator's own endpoint, never hardcoded, and after settlement we independently re-verify the transaction against Hedera's public mirror node instead of trusting the facilitator's word alone, the same verify-don't-trust discipline as the content check itself. A second adapter, an MCP server, exposes identical logic as three tools for AI agents directly, including fetch_url, a drop-in fetch-tool replacement that withholds content when it doesn't match what a human would see. A GitHub Actions cron re-scans the full corpus daily. A third-party gateway, Bazantic, independently discovered our OpenAPI spec and now prices /check on Base and USDC as a second payment rail.