{"openapi":"3.1.0","info":{"title":"LeakGuard","version":"0.1.0","contact":{"name":"LeakGuard","email":"hello@youraitools.co","url":"https://agentgate-source.pages.dev/x402-leakguard/"},"license":{"name":"MIT"},"x-service-name":"LeakGuard by AgentGate","x-category":"security","x-categories":["security","privacy","ai-agents","crypto"],"x-tags":["secret-scanning","pii-redaction","seed-phrase","dlp","scan_for_leaks"],"x-logo":{"url":"https://agentgate-source.pages.dev/icons/leakguard.png"},"description":"Stop AI agents leaking secrets. Finds and redacts crypto wallet keys (BIP39 seed phrases with checksum, EVM and Solana private keys, WIF, xprv), API secrets (GitHub, AWS, Stripe, OpenAI, Anthropic, Slack, Telegram, npm, SendGrid, Hugging Face, JWT, PEM, credentialed URLs, password= assignments) and PII (Luhn-checked cards, mod-97 IBAN, SSN, email, phone, IP) in text or JSON before it reaches an LLM, tool, log or webhook. The deep scan derives the public addresses a leaked seed phrase or private key controls and reports native + USDC balances on Base, Ethereum, Polygon, Arbitrum One and Solana. Fail-closed: a balance lookup that fails is \"unknown\" (listed in sources_failed, confidence low), never \"empty\". Inputs are never logged or stored. Pay with x402 (USDC on Base, Solana, Polygon or Arbitrum One) or a prepaid credits key (Authorization: Bearer).","x-guidance":"POST /v1/lite {\"text\": \"...\"} ($0.005) or POST /v1/scan {\"text\": \"...\"} / {\"json\": {...}} ($0.02), USDC via x402, charged only on HTTP 200. GET ?text= also works (prefer POST for sensitive text). Free: /v1/preview."},"servers":[{"url":"https://api.youraitools.co/leakguard"}],"externalDocs":{"description":"Source and docs","url":"https://agentgate-source.pages.dev/x402-leakguard/"},"paths":{"/v1/lite":{"get":{"operationId":"leak_scan_lite","summary":"Find and redact secrets, wallet keys and PII in text (<= 32 KB): verdict, findings with masked previews and remediation, redacted text ($0.005)","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","maxLength":8192},"description":"Text to check (prefer POST for anything sensitive or long)"},{"name":"style","in":"query","required":false,"schema":{"type":"string","enum":["label","mask"]},"description":"label: [REDACTED:type] (default); mask: keep last 4 digits / email domain for PII"},{"name":"types","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated finding types or categories (wallet_key, secret, pii, email, ...)"},{"name":"min_severity","in":"query","required":false,"schema":{"type":"string","enum":["low","medium","high","critical"]}}],"responses":{"200":{"description":"Scan result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["WALLET_KEY_EXPOSED","SECRETS_FOUND","PII_FOUND","CLEAN"]},"safe_to_send":{"type":"boolean"},"max_severity":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"counts":{"type":"object"},"findings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"category":{"type":"string","enum":["wallet_key","secret","pii"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"confidence":{"type":"number"},"validator":{"type":"string"},"start":{"type":"integer"},"end":{"type":"integer"},"preview":{"type":"string","description":"masked; never the secret"},"path":{"type":"string","description":"JSON path (scan, json input)"},"remediation":{"type":"string"}}}},"redacted":{"type":"string"},"redacted_json":{"description":"scan with json input: same shape, secrets replaced"},"exposure":{"type":"object","description":"scan: status funds_at_risk | unknown | used_empty | no_funds_found | not_checked | not_applicable; addresses[] with balances per chain"},"actions":{"type":"array","items":{"type":"string"}},"sources_failed":{"type":"array","items":{"type":"string"}},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Input larger than the tier limit (never charged)"},"503":{"description":"checks_incomplete (never charged)"}}},"post":{"operationId":"leak_scan_lite_post","summary":"Same as GET; POST {\"text\": \"...\"} or a text/plain body","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"5000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"style":{"type":"string","enum":["label","mask"]},"types":{"type":"array","items":{"type":"string"}},"min_severity":{"type":"string","enum":["low","medium","high","critical"]}},"required":["text"]}},"text/plain":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"Scan result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["WALLET_KEY_EXPOSED","SECRETS_FOUND","PII_FOUND","CLEAN"]},"safe_to_send":{"type":"boolean"},"max_severity":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"counts":{"type":"object"},"findings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"category":{"type":"string","enum":["wallet_key","secret","pii"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"confidence":{"type":"number"},"validator":{"type":"string"},"start":{"type":"integer"},"end":{"type":"integer"},"preview":{"type":"string","description":"masked; never the secret"},"path":{"type":"string","description":"JSON path (scan, json input)"},"remediation":{"type":"string"}}}},"redacted":{"type":"string"},"redacted_json":{"description":"scan with json input: same shape, secrets replaced"},"exposure":{"type":"object","description":"scan: status funds_at_risk | unknown | used_empty | no_funds_found | not_checked | not_applicable; addresses[] with balances per chain"},"actions":{"type":"array","items":{"type":"string"}},"sources_failed":{"type":"array","items":{"type":"string"}},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Input larger than the tier limit (never charged)"},"503":{"description":"checks_incomplete (never charged)"}}}},"/v1/scan":{"get":{"operationId":"leak_scan_deep","summary":"Deep scan of text or JSON (<= 256 KB): findings by JSON path, redacted JSON, leaked-wallet exposure (derived addresses + native/USDC balances on Base, Ethereum, Polygon, Arbitrum One, Solana), ordered actions ($0.02)","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"20000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","maxLength":8192},"description":"Text to check (prefer POST for anything sensitive or long)"},{"name":"style","in":"query","required":false,"schema":{"type":"string","enum":["label","mask"]},"description":"label: [REDACTED:type] (default); mask: keep last 4 digits / email domain for PII"},{"name":"types","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated finding types or categories (wallet_key, secret, pii, email, ...)"},{"name":"min_severity","in":"query","required":false,"schema":{"type":"string","enum":["low","medium","high","critical"]}}],"responses":{"200":{"description":"Scan result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["WALLET_KEY_EXPOSED","SECRETS_FOUND","PII_FOUND","CLEAN"]},"safe_to_send":{"type":"boolean"},"max_severity":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"counts":{"type":"object"},"findings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"category":{"type":"string","enum":["wallet_key","secret","pii"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"confidence":{"type":"number"},"validator":{"type":"string"},"start":{"type":"integer"},"end":{"type":"integer"},"preview":{"type":"string","description":"masked; never the secret"},"path":{"type":"string","description":"JSON path (scan, json input)"},"remediation":{"type":"string"}}}},"redacted":{"type":"string"},"redacted_json":{"description":"scan with json input: same shape, secrets replaced"},"exposure":{"type":"object","description":"scan: status funds_at_risk | unknown | used_empty | no_funds_found | not_checked | not_applicable; addresses[] with balances per chain"},"actions":{"type":"array","items":{"type":"string"}},"sources_failed":{"type":"array","items":{"type":"string"}},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Input larger than the tier limit (never charged)"},"503":{"description":"checks_incomplete (never charged)"}}},"post":{"operationId":"leak_scan_deep_post","summary":"Same as GET; POST {\"text\": \"...\"} or {\"json\": {...}} or a text/plain body","tags":["paid"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"x-x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F","amount":"20000","assetSymbol":"USDC","x402Versions":[2,1],"networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"json":{"description":"Any JSON payload (object, array or value); scanned string by string, keys included"},"style":{"type":"string","enum":["label","mask"]},"types":{"type":"array","items":{"type":"string"}},"min_severity":{"type":"string","enum":["low","medium","high","critical"]}},"oneOf":[{"required":["text"]},{"required":["json"]}]}},"text/plain":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"Scan result (payment settled)","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["WALLET_KEY_EXPOSED","SECRETS_FOUND","PII_FOUND","CLEAN"]},"safe_to_send":{"type":"boolean"},"max_severity":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"counts":{"type":"object"},"findings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"category":{"type":"string","enum":["wallet_key","secret","pii"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"confidence":{"type":"number"},"validator":{"type":"string"},"start":{"type":"integer"},"end":{"type":"integer"},"preview":{"type":"string","description":"masked; never the secret"},"path":{"type":"string","description":"JSON path (scan, json input)"},"remediation":{"type":"string"}}}},"redacted":{"type":"string"},"redacted_json":{"description":"scan with json input: same shape, secrets replaced"},"exposure":{"type":"object","description":"scan: status funds_at_risk | unknown | used_empty | no_funds_found | not_checked | not_applicable; addresses[] with balances per chain"},"actions":{"type":"array","items":{"type":"string"}},"sources_failed":{"type":"array","items":{"type":"string"}},"engine":{"type":"string"},"checked_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid input (never charged)"},"402":{"description":"Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)"},"413":{"description":"Input larger than the tier limit (never charged)"},"503":{"description":"checks_incomplete (never charged)"}}}},"/v1/preview":{"get":{"operationId":"leak_scan_preview","summary":"Free: verdict, safe_to_send, max severity and counts by type (no positions or redacted text), text <= 8 KB, 10/min per IP","security":[],"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","maxLength":8192},"description":"Text to check (prefer POST for anything sensitive or long)"}],"responses":{"200":{"description":"verdict, safe_to_send, max_severity, counts"},"400":{"description":"Invalid input"},"413":{"description":"Text over 8 KB"},"429":{"description":"Free tier rate limit"}}},"post":{"operationId":"leak_scan_preview_post","summary":"Free preview, POST {\"text\": \"...\"} or text/plain","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"style":{"type":"string","enum":["label","mask"]},"types":{"type":"array","items":{"type":"string"}},"min_severity":{"type":"string","enum":["low","medium","high","critical"]}},"required":["text"]}},"text/plain":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"verdict, safe_to_send, max_severity, counts"},"400":{"description":"Invalid input"},"413":{"description":"Text over 8 KB"},"429":{"description":"Free tier rate limit"}}}}},"x-x402-networks":[{"network":"eip155:8453","name":"Base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:137","name":"Polygon","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"eip155:42161","name":"Arbitrum One","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","symbol":"USDC","payTo":"0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","name":"Solana","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","symbol":"USDC","payTo":"FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte"}]}