{"name":"GRIM Agent Foundry","version":"0.2.0","testnet_only":false,"network":"eip155:8453","seller":"0x79B520A480746234d7afEA0071B98F82a284A319","facilitator":"https://facilitator.payai.network","x402Version":2,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","scheme":"exact","canonical_url":"https://grim-foundry-pilot.onrender.com/services","links":{"catalog":"https://grim-foundry-pilot.onrender.com/services","openapi":"https://grim-foundry-pilot.onrender.com/openapi.json","llms":"https://grim-foundry-pilot.onrender.com/llms.txt"},"services":[{"id":"web_qa","name":"Web QA API","path":"/v1/web-qa","serviceName":"GRIM Agent Foundry","toolName":"web_qa","tags":["website-qa","seo","html-audit","static-analysis"],"description":"Static QA audit of a public HTTP(S) page. No browser execution or authenticated access.","input_schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"example_request":{"url":"https://example.com"},"method":"POST","mime_type":"application/json","price_usd":0.05,"price":{"amount":"0.05","currency":"USD","token":"USDC"},"output_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"request_id":{"type":"string"},"service":{"type":"string","const":"web_qa"},"data":{"type":"object","properties":{"target":{"type":"string"},"status":{"type":"number"},"latency_ms":{"type":"number"},"bytes":{"type":"number"},"summary":{"type":"object","properties":{"score":{"type":"number"},"title":{"type":"string"},"description":{"type":"string"},"canonical":{"type":"string"},"lang":{"type":"string"},"viewport":{"type":"boolean"},"h1_count":{"type":"number"},"links":{"type":"number"},"images":{"type":"number"},"images_without_alt":{"type":"number"}},"required":["score","title","description","canonical","lang","viewport","h1_count","links","images","images_without_alt"]},"issues":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["severity","code","message"]}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["target","status","latency_ms","bytes","summary","issues","limitations"]}},"required":["ok","request_id","service","data"]},"error_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string"}},"required":["ok","error"]},"example_response":{"ok":true,"request_id":"00000000-0000-4000-8000-000000000000","service":"web_qa","data":{"target":"https://example.com/","status":200,"latency_ms":120,"bytes":1256,"summary":{"score":85,"title":"Example Domain","description":"","canonical":"","lang":"en","viewport":true,"h1_count":1,"links":1,"images":0,"images_without_alt":0},"issues":[{"severity":"low","code":"title_length","message":"Title length is 14; common target is roughly 15–65."},{"severity":"low","code":"missing_meta_description","message":"Missing meta description."},{"severity":"low","code":"missing_canonical","message":"No canonical URL found."}],"limitations":["Static HTML only; no JavaScript rendering.","Does not run Lighthouse, browser accessibility, or authenticated flows."]}},"endpoint":"https://grim-foundry-pilot.onrender.com/v1/web-qa","payment":{"x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x79B520A480746234d7afEA0071B98F82a284A319","facilitator":"https://facilitator.payai.network","price":{"amount":"0.05","currency":"USDC"},"amount":"50000","extra":{"name":"USD Coin","version":"2","assetTransferMethod":"eip3009"}}},{"id":"structured_extractor","name":"Structured Extractor","path":"/v1/structured-extractor","tags":["data-extraction","html","structured-data"],"description":"Extract deterministic page facts into a bounded object schema. Supply public URL or HTML. Schema subset: type, properties, required, items, enum, additionalProperties, description; maximum depth 8 and 100 nodes.","input_schema":{"type":"object","properties":{"url":{"type":"string"},"html":{"type":"string"},"schema":{"type":"object"}},"required":["schema"],"additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["html"]}]},"example_request":{"html":"<title>Demo</title>","schema":{"type":"object","required":["title"],"properties":{"title":{"type":"string"}}}},"method":"POST","mime_type":"application/json","price_usd":0.02,"price":{"amount":"0.02","currency":"USD","token":"USDC"},"output_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"request_id":{"type":"string"},"service":{"type":"string","const":"structured_extractor"},"data":{"type":"object","properties":{"source_url":{"type":["string","null"]},"data":{"type":"object"},"valid":{"type":"boolean"},"validation_errors":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}},"extraction_mode":{"type":"string"}},"required":["source_url","data","valid","validation_errors","extraction_mode"]}},"required":["ok","request_id","service","data"]},"error_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string"}},"required":["ok","error"]},"example_response":{"ok":true,"request_id":"00000000-0000-4000-8000-000000000000","service":"structured_extractor","data":{"source_url":null,"data":{"title":"Demo"},"valid":true,"validation_errors":[],"extraction_mode":"deterministic-v0.1"}},"endpoint":"https://grim-foundry-pilot.onrender.com/v1/structured-extractor","payment":{"x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x79B520A480746234d7afEA0071B98F82a284A319","facilitator":"https://facilitator.payai.network","price":{"amount":"0.02","currency":"USDC"},"amount":"20000","extra":{"name":"USD Coin","version":"2","assetTransferMethod":"eip3009"}}},{"id":"code_patch_reviewer","name":"Code Patch Reviewer","path":"/v1/code-patch-reviewer","tags":["code-review","git-diff","static-analysis"],"description":"Static risk review of a git diff. Submitted code is never executed.","input_schema":{"type":"object","properties":{"diff":{"type":"string"}},"required":["diff"],"additionalProperties":false},"example_request":{"diff":"+ const answer = 42;"},"method":"POST","mime_type":"application/json","price_usd":0.03,"price":{"amount":"0.03","currency":"USD","token":"USDC"},"output_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"request_id":{"type":"string"},"service":{"type":"string","const":"code_patch_reviewer"},"data":{"type":"object","properties":{"verdict":{"type":"string","enum":["PASS","REVIEW","BLOCK"]},"findings":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["severity","code","message"]}},"suggested_tests":{"type":"array","items":{"type":"string"}},"stats":{"type":"object","properties":{"added_lines":{"type":"number"},"removed_lines":{"type":"number"}},"required":["added_lines","removed_lines"]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["verdict","findings","suggested_tests","stats","limitations"]}},"required":["ok","request_id","service","data"]},"error_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string"}},"required":["ok","error"]},"example_response":{"ok":true,"request_id":"00000000-0000-4000-8000-000000000000","service":"code_patch_reviewer","data":{"verdict":"PASS","findings":[],"suggested_tests":["Add a focused regression test for the behavior changed by this patch."],"stats":{"added_lines":1,"removed_lines":0},"limitations":["Static text heuristics only; does not execute code or understand full repository context."]}},"endpoint":"https://grim-foundry-pilot.onrender.com/v1/code-patch-reviewer","payment":{"x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x79B520A480746234d7afEA0071B98F82a284A319","facilitator":"https://facilitator.payai.network","price":{"amount":"0.03","currency":"USDC"},"amount":"30000","extra":{"name":"USD Coin","version":"2","assetTransferMethod":"eip3009"}}},{"id":"email_validate","name":"Email Validate","path":"/v1/email-validate","serviceName":"GRIM Agent Foundry","toolName":"email_validate","tags":["email","validation","deliverability","enrichment","dns"],"description":"Validate an email address using syntax checks, MX records, disposable-domain detection, role/free-provider classification, and conservative typo suggestions. Does not send email or prove mailbox existence. ASCII dot-atom local parts only; IDN domains supported. DNS failures are unknown; no MX is risky because implicit mail routing may exist. Provider and disposable lists are not exhaustive.","input_schema":{"type":"object","properties":{"email":{"type":"string","minLength":3,"maxLength":254,"description":"One email address with an ASCII dot-atom local part (maximum 64 characters) and a public hostname domain. Domain is IDN-normalized; local part is preserved."}},"required":["email"],"additionalProperties":false},"example_request":{"email":"user@gmail.com"},"method":"POST","mime_type":"application/json","price_usd":0.01,"price":{"amount":"0.01","currency":"USD","token":"USDC"},"output_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"request_id":{"type":"string"},"service":{"type":"string","const":"email_validate"},"data":{"type":"object","properties":{"email":{"type":"string"},"normalized":{"type":"string"},"syntax_valid":{"type":"boolean","const":true},"domain":{"type":"string"},"mx":{"type":"object","properties":{"exists":{"type":["boolean","null"]},"status":{"type":"string","enum":["present","no_mx","null_mx","nxdomain","unknown"]},"records":{"type":"array","maxItems":50,"items":{"type":"object","properties":{"exchange":{"type":"string"},"priority":{"type":"integer","minimum":0,"maximum":65535}},"required":["exchange","priority"],"additionalProperties":false}}},"required":["exists","status","records"],"additionalProperties":false},"disposable":{"type":"boolean"},"role_based":{"type":"boolean"},"free_provider":{"type":"boolean"},"typo_suggestion":{"type":["string","null"],"description":"Suggested domain only, from a small fixed map; never applied automatically."},"deliverability":{"type":"string","enum":["likely","risky","invalid","unknown"]},"reasons":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["dns_no_mx","dns_null_mx","dns_nxdomain","dns_unknown","disposable_domain","role_address","possible_domain_typo"]}},"mailbox_verified":{"type":"boolean","const":false}},"required":["email","normalized","syntax_valid","domain","mx","disposable","role_based","free_provider","typo_suggestion","deliverability","reasons","mailbox_verified"],"additionalProperties":false}},"required":["ok","request_id","service","data"]},"error_schema":{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string"}},"required":["ok","error"]},"example_response":{"ok":true,"request_id":"00000000-0000-4000-8000-000000000000","service":"email_validate","data":{"email":"user@gmail.com","normalized":"user@gmail.com","syntax_valid":true,"domain":"gmail.com","mx":{"exists":true,"status":"present","records":[{"exchange":"gmail-smtp-in.l.google.com","priority":5}]},"disposable":false,"role_based":false,"free_provider":true,"typo_suggestion":null,"deliverability":"likely","reasons":[],"mailbox_verified":false}},"endpoint":"https://grim-foundry-pilot.onrender.com/v1/email-validate","payment":{"x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x79B520A480746234d7afEA0071B98F82a284A319","facilitator":"https://facilitator.payai.network","price":{"amount":"0.01","currency":"USDC"},"amount":"10000","extra":{"name":"USD Coin","version":"2","assetTransferMethod":"eip3009"}}}]}