{"name":"kenoodl verify","description":"A self-audit verifies consistency, never completeness. kenoodl verify is the check that is not you, and it runs while the agent writes rather than only at the end. Installed as an MCP tool it settles each change inside its own loop; called on its own it is the gate before a consequence. Submit your code and the claim it depends on, and execution returns the verdict against what the code actually does. HELD, or BROKE at the exact input. BROKE fires only from a contract you provide. Paid per call over x402 on Base, 0.10 USDC, no account. The 402 carries the byte-exact terms in the PAYMENT-REQUIRED header.","url":"https://kenoodl.com","status":"kenoodl verify is live: an outside check on code, paid per call over x402 on Base. No account, no stored balance, no custody.","x402Version":2,"services":[{"resource":"https://kenoodl.com/api/verify","method":"POST","description":"The check that runs while the agent writes, not only at the end: install it as an MCP tool and it settles each change inside its own loop, or call it as the gate before a merge, a deploy, a payout, or a listing. Runs your code against a claim and returns the verdict in the same response. Executes JavaScript (Node) or Python 3 in an ephemeral sandbox; the code is discarded after the run. Provide the code plus a contract (fn + call/expected examples) for a BROKE-capable verdict, or an assumption in plain words for a FINDINGS read. Verdicts: HELD (the contract you gave holds; proceed on that contract), BROKE (with the exact input; do not proceed), FINDINGS, or DROP. BROKE fires only from a contract you provide. Deterministic code and math only.","mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"100000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x3A7292b88471691946D8D8856925e22246bed743","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"input":{"code":"string (max 64000 chars) — the function source under test","contract":"optional {fn, examples:[{call, expected}]} — provide for a BROKE-capable verdict","assumption":"optional string (max 4000 chars) — a claim in plain words for a FINDINGS read"},"output":{"verdict":"HELD | BROKE | FINDINGS | DROP","detail":"string","contract":"object","proof":"string","proofRuns":"string","closer":"string","note":"returned synchronously in the same response; allow up to 120s for the verdict (response latency). maxTimeoutSeconds above is the x402 payment-authorization validity window, not the response time."}}]}