{"id":"evaluate","name":"Evaluate text","description":"Score a draft message, a model's output, or an incoming message against a rule set. Returns verdict (pass / fail / review), recommended_action (block / redact / review / allow), and per-rule answers with calibrated confidence in about 150 ms. Pass context (recipient, channel, owns_contact_info) with rule_set outbound-message so the recipient's own contact details are not flagged.","type":"api_service","price":0.002,"currency":"USDC","acceptedCurrencies":["USDC"],"tags":["guardrails","moderation","safety","pii","dlp","toxicity","email","messaging","ai"],"endpoint":"/api/x402/execute","available":true,"input":{"input":{"type":"string","required":true,"description":"The text to check (max 100,000 characters). `prompt` and `text` are accepted as aliases."},"rule_set":{"type":"string","required":false,"default":"content-safety","enum":["content-safety","outbound-message"],"description":"content-safety: toxicity, personal data, self-harm, sexual content, severity. outbound-message: the same plus unauthorized personal data and confidential leaks, judged against context."},"context":{"type":"object","required":false,"description":"Facts the rules may use: recipient, channel, owns_contact_info, sender, purpose. Max 8 KB."},"metadata":{"type":"object","required":false,"description":"Opaque data stored with the evaluation. Max 8 KB."}},"output":{"id":{"type":"string"},"verdict":{"type":"string","enum":["pass","fail","review"]},"recommended_action":{"type":"string","enum":["block","redact","review","allow"],"description":"The one field to branch on."},"aggregate_score":{"type":"number","description":"0 to 1, weighted across rules"},"confidence":{"type":"number","description":"Minimum confidence across rules, 0 to 1"},"latency_ms":{"type":"integer"},"results":{"type":"array","description":"Per-rule: rule, type, answer, probability, confidence, verdict, action"}},"example":{"input":{"input":"Reach me at dana@example.com or 555-0142 to sort out the refund.","rule_set":"outbound-message","context":{"recipient":"the refunds desk already in this email thread","channel":"email","owns_contact_info":true}},"output":{"id":"eval_aBcDeFgHiJkLmNoP","verdict":"pass","recommended_action":"allow","aggregate_score":1,"confidence":0.88,"latency_ms":173,"results":[{"rule":"unauthorized_pii","type":"noul","answer":false,"probability":0.94,"confidence":0.88,"verdict":"pass","action":"redact"},{"rule":"confidential_leak","type":"noul","answer":false,"probability":0.97,"confidence":0.94,"verdict":"pass","action":"block"},{"rule":"toxicity","type":"choice","answer":"safe","probability":1,"confidence":1,"verdict":"pass","action":"block"}],"paid":{"protocol":"x402","price_usd":0.002,"network":"base"}}},"provider":{"name":"Overwing","description":"Guardrails for AI agents: check any text before you send it, post it, or act on it. Content moderation, personal data and confidential leak detection, toxicity, self-harm, sexual content and severity, with one recommended action to branch on. Built on TypeSafe's Jev model.","wallet":"0xF4A6CEa7CE19CE36D6420905E5a1EAFb30Bfd133","chain":"base","chains":["base"],"homepage":"https://overwing.ai","docs":"https://overwing.ai/llms.txt"},"payment":{"protocol":"x402","version":2,"network":"eip155:8453","schemes":["exact"],"mainnet":true,"price_usd":0.002,"note":"No account or API key. The first POST answers 402 with the terms; sign with any x402 v2 client (MoltsPay, @x402/fetch, Coinbase AgentKit or Agentic Wallets) and resend with the payment header. Settlement happens only after a successful evaluation."}}