{"x402Version":2,"name":"FabTally WebSafe — pre-fetch web-safety checks for agents","description":"Cheap per-call checks an AI agent runs BEFORE it fetches an arbitrary/user-supplied URL or ingests untrusted content: url-safety (screen a URL for SSRF/private-IP/metadata targets, TLS, reachability, redirect chain and known-bad shape — also a webhook-URL verifier), injection-scan (heuristic prompt-injection / jailbreak + hidden-text detection over text or a public page), and robots-check (robots.txt + llms.txt/ai.txt + AI-crawler directives -> allow/deny for a UA). All read-only, keyless, stateless, descriptive; heuristic checks are honestly best-effort, not a guarantee. Paid via x402 (USDC on Base) or a prepaid credit key; each has a rate-limited free teaser. Also available as an MCP server.","contact":"hello@fabtally.com","discovery":"https://websafe.fabtally.com/agent/overview","resources":[{"resource":"https://websafe.fabtally.com/v1/url-safety","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"3000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://websafe.fabtally.com/v1/url-safety","description":"Screen a URL BEFORE fetching it (or verify a webhook URL). Give {url}; get an SSRF verdict — does the host resolve to private/loopback/link-local or a cloud metadata IP (169.254.169.254)? — plus TLS validity, reachability + HTTP status, the full redirect chain (and whether a redirect lands somewhere riskier), a known-bad URL-shape heuristic, and the final resolved IP class. Never fetches internal targets or returns bodies. Read-only, stateless.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://websafe.fabtally.com/v1/injection-scan","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"4000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://websafe.fabtally.com/v1/injection-scan","description":"HEURISTIC (best-effort, NOT a guarantee) scan of untrusted text OR a fetched public page for prompt-injection / jailbreak patterns: 'ignore previous instructions', role-override, tool-abuse/exfiltration, hidden text (zero-width chars, HTML comments, white-on-white / display:none) and suspicious instruction density. Give {text} OR {url}; get a 0-100 risk score, level, matched categories and matched snippets. Read-only, stateless.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://websafe.fabtally.com/v1/robots-check","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://websafe.fabtally.com/v1/robots-check","description":"Parse robots.txt AND the emerging llms.txt / ai.txt + known AI-crawler directives (GPTBot, ClaudeBot, Google-Extended, CCBot, PerplexityBot, …) to return an allow/deny verdict for a given user-agent, so a compliant crawling agent stays on the right side of a site's stated policy. Give {url, user_agent?}. Read-only, stateless.","mimeType":"application/json","maxTimeoutSeconds":60}]}],"lastUpdated":"2026-08-01T08:07:18.936Z"}