{"sample":true,"note":"Static example of what /contract/audit returns; not live data and not charged. Call without sample=1 and pay $1.00 with any x402 client for a live result.","tool":"/contract/audit","price":"$1.00","example":{"contract":{"name":"Vault","chain":null,"address":null,"implementation":null,"proxyType":null,"compiler":"^0.8.20","language":"Solidity","verified":null,"sourceFrom":"source sent by the caller","type":"vault"},"verdict":"critical-risk","score":55,"counts":{"critical":1,"high":0,"medium":0,"low":0,"info":0},"summary":"Vault holds ETH per account. withdraw sends the ETH before it clears the balance, so a deposit can be withdrawn repeatedly.","findings":[{"id":"F-1","severity":"critical","title":"State is updated after an external call (reentrancy)","category":"reentrancy","contract":"Vault","function":"withdraw","file":"Contract.sol","line":1,"description":"withdraw makes an external call and only afterwards writes balances.","scenario":"A contract re-enters withdraw from its receive function.","recommendation":"Write state before the call and add a reentrancy guard.","confidence":"high","foundBy":["static-check","reviewer-funds","reviewer-logic"]}],"access":{"owner":null,"proxyAdmin":null,"upgradeable":false,"paused":null,"privilegedFunctions":[{"contract":"Vault","function":"pause","guard":"onlyOwner"}],"roles":[{"role":"owner","powers":["pause withdrawals"]}],"onChain":"not applicable: source was sent without an address"},"coverage":{"filesReviewed":["Contract.sol"],"filesNotReviewed":[],"trustedLibraries":[],"linesOfCode":1,"charactersReviewed":290,"complete":true,"reviewers":[{"id":"reviewer-logic","model":"gpt-oss-120b","status":"answered","findings":1,"discarded":0}],"secondLook":{"confirmed":0,"refuted":0,"uncertain":0},"staticChecks":"1 pattern findings over 2 functions"},"method":"Automated review: static checks, on-chain key-holder reads and AI reviewers.","limitations":"Not a manual audit and not a guarantee.","auditedAt":"2026-11-11T12:00:00.000Z","report":"# Smart contract audit: Vault\n\n- **Verdict:** critical risk (score 55/100)"}}