{"service":"Prescan","tagline":"Security pre-checks for AI agents: prompt-injection scan of text, tool-poisoning scan of MCP tool definitions, and a safe-to-pay check for x402 endpoints.","description":"Deterministic, explainable checks an agent runs before it reads untrusted text, connects to an MCP server or pays an x402 endpoint. No LLM in the loop, sub-millisecond scans, spans for every finding, published rules (GET /v1/rules) and published precision/recall.","version":"1.0.0","payment":{"protocol":"x402 v2","network":"eip155:8453","asset":"USDC","payTo":"0x741f78ED943C671e25405dAAaAB7b6886C7e8feb","chargedOnlyOnSuccess":true},"paid":[{"method":"POST","url":"https://prescan.canisell.xyz/v1/scan/text","price":"$0.002","mcpTool":"scan_text","summary":"Prompt-injection scan of text (single or batch)"},{"method":"POST","url":"https://prescan.canisell.xyz/v1/scan/tools","price":"$0.002","mcpTool":"scan_tools","summary":"Tool-poisoning scan of MCP tool definitions"},{"method":"GET","url":"https://prescan.canisell.xyz/v1/check/x402","price":"$0.003","mcpTool":"check_x402_endpoint","summary":"Is this x402 endpoint safe to pay?"}],"freeTools":["preview_scan_text","list_rules"],"docs":{"llms":"https://prescan.canisell.xyz/llms.txt","openapi":"https://prescan.canisell.xyz/openapi.json"},"disclaimer":"Heuristic signals, not a guarantee: a clean result lowers risk, it does not prove content is safe. Inputs are not stored.","endpoints":[{"method":"POST","path":"/v1/scan/text","price":"$0.002","description":"Prompt-injection pre-check for text your agent is about to read (tool output, web page, email, document, token names/metadata). Deterministic rules, no LLM: instruction override (EN/DE/FR/ES/IT/PT/PL/RU), role hijack, jailbreaks, system-prompt extraction, fake chat delimiters, text addressed to the AI, concealment, data exfiltration (markdown-image beacons, secrets to URLs), tool/fund hijack (shell pipes, transfers, unlimited approvals, skip-confirmation), crypto lures (seed-phrase requests, claim/airdrop links), hidden text (zero-width, Unicode tag and variation-selector smuggling, bidi, homoglyphs, CSS-hidden HTML, ANSI) and encoded payloads (base64/hex/percent decoded and re-scanned). Returns verdict safe/suspicious/malicious, action allow/treat_as_untrusted_data/block, 0-100 score, findings with character spans, risky links, decoded payloads and a sanitized copy. Batch up to 100 texts per call."},{"method":"POST","path":"/v1/scan/tools","price":"$0.002","description":"Tool-poisoning scan of MCP tool definitions (a tools/list result) or function schemas before your agent connects or calls them: hidden <IMPORTANT> instructions, cross-tool shadowing, side-channel parameters that ask for file/conversation contents, recipient/payee overrides, instructions hidden in parameter names, defaults or enums, Unicode/ANSI smuggling, duplicate or lookalike tool names. Per-tool verdict and findings with location, plus capability flags (shell, files, network, payments, messaging)."},{"method":"GET","path":"/v1/check/x402","price":"$0.003","description":"Is this x402 endpoint safe to pay? Fetches its 402 terms with one GET (never pays) and checks: payTo validity and EIP-55 checksum, zero/token-contract/OFAC-sanctioned payTo, asset is canonical USDC for the network, amount vs your budget, price vs the price advertised in its OpenAPI and on x402scan, payTo vs the one x402scan recorded, HTTPS, redirects, resource host, domain age (RDAP), tunnels/shared hosts. Returns go/caution/no_go, the recommended payment option and findings."},{"method":"POST","path":"/v1/preview/text","price":"free","description":"Free preview of /v1/scan/text for up to 1000 characters: verdict, score, categories and rule ids (no spans, no sanitized text, no batch). Body {\"text\": \"...\"}. Rate-limited per IP."},{"method":"GET","path":"/v1/rules","price":"free","description":"Every rule (id, category, weight, regex) and the scoring method."},{"method":"GET","path":"/v1/sample/text","price":"free","description":"Example input and full paid response of /v1/scan/text."},{"method":"GET","path":"/v1/sample/tools","price":"free","description":"Example input and full paid response of /v1/scan/tools."},{"method":"GET","path":"/v1/sample/x402","price":"free","description":"Recorded response of /v1/check/x402 for a real endpoint."},{"method":"POST","path":"/mcp","price":"free tools; paid tools via x402","description":"Remote MCP server. Client config: {\"url\": \"https://prescan.canisell.xyz/mcp\"}"},{"method":"GET","path":"/openapi.json","price":"free"},{"method":"GET","path":"/.well-known/x402","price":"free"},{"method":"GET","path":"/llms.txt","price":"free"}]}