Overview
Contract audit for Solidity and Vyper: give a verified contract address (Ethereum, Base, Arbitrum, Optimism, Polygon) or paste the source, and one call returns security findings by severity with function, line, exploit scenario and fix, who holds the owner and upgrade keys on chain, a score and a Markdown report, in about a minute. Automated review, not a manual audit. Use before deploying, integrating with or buying into a contract.
Protocol
x402
Price
$1.00
Payment Asset
USD Coin
Payment Network
eip155:8453
Category
uncategorized
Provider
Contract audit
Indexed
2026-11-14 11:07:53
Health
Status
unknown
Latency (p50)
—
Uptime (30d)
—
Reliability Score
—
Last Checked
Never
Last Healthy
Never
Consecutive Failures
0
Output Schema
{
"example": {
"access": {
"onChain": "not applicable: source was sent without an address",
"owner": null,
"paused": null,
"privilegedFunctions": [
{
"contract": "Vault",
"function": "pause",
"guard": "onlyOwner"
}
],
"proxyAdmin": null,
"roles": [
{
"powers": [
"pause withdrawals"
],
"role": "owner"
}
],
"upgradeable": false
},
"auditedAt": "2026-11-11T12:00:00.000Z",
"contract": {
"address": null,
"chain": null,
"compiler": "^0.8.20",
"implementation": null,
"language": "Solidity",
"name": "Vault",
"proxyType": null,
"sourceFrom": "source sent by the caller",
"type": "vault",
"verified": null
},
"counts": {
"critical": 1,
"high": 0,
"info": 0,
"low": 0,
"medium": 0
},
"coverage": {
"charactersReviewed": 290,
"complete": true,
"filesNotReviewed": [],
"filesReviewed": [
"Contract.sol"
],
"linesOfCode": 1,
"reviewers": [
{
"discarded": 0,
"findings": 1,
"id": "reviewer-logic",
"model": "gpt-oss-120b",
"status": "answered"
}
],
"secondLook": {
"confirmed": 0,
"refuted": 0,
"uncertain": 0
},
"staticChecks": "1 pattern findings over 2 functions",
"trustedLibraries": []
},
"findings": [
{
"category": "reentrancy",
"confidence": "high",
"contract": "Vault",
"description": "withdraw makes an external call and only afterwards writes balances.",
"file": "Contract.sol",
"foundBy": [
"static-check",
"reviewer-funds",
"reviewer-logic"
],
"function": "withdraw",
"id": "F-1",
"line": 1,
"recommendation": "Write state before the call and add a reentrancy guard.",
"scenario": "A contract re-enters withdraw from its receive function.",
"severity": "critical",
"title": "State is updated after an external call (reentrancy)"
}
],
"limitations": "Not a manual audit and not a guarantee.",
"method": "Automated review: static checks, on-chain key-holder reads and AI reviewers.",
"report": "# Smart contract audit: Vault\n\n- **Verdict:** critical risk (score 55/100)",
"score": 55,
"summary": "Vault holds ETH per account. withdraw sends the ETH before it clears the balance, so a deposit can be withdrawn repeatedly.",
"verdict": "critical-risk"
},
"type": "json"
}