{"schema_version":"2.0","protocol":"a2a + x402 + mcp","name":"Intervention Security Scanner","short_name":"Intervention","description":"AI security agent for smart contracts and code. Runs a large rule set of security detectors plus famous-hack replay templates, with optional AI deep review and working Foundry PoC generation. Every scan produces a public receipt. Pay-per-call in USDG on Robinhood Chain via x402, no signup required.","icon":"https://interventionprotocol.io/icon-mark.png","url":"https://interventionprotocol.io","provider":{"name":"Intervention","url":"https://interventionprotocol.io","contact":"https://interventionprotocol.io"},"identity":{"wallet":"0xd50d87Fe12Dd9bD020bF440a10D7A933E90A99f2","evidence":{"type":"public_receipt","note":"Every scan produces a public receipt at /r/<id>. Receipts are database records, not onchain proofs.","onchain":false}},"capabilities":[{"id":"scan","name":"Source code security scan","description":"Submit raw source code, get findings (severity, location, fix), plus a 0-100 score and grade A-F. Supports Solidity, Vyper, JS/TS, Python, Go, Java, Ruby, PHP, Rust, plus IaC (Terraform, Kubernetes, Dockerfile, GitHub Actions).","endpoint":"https://interventionprotocol.io/api/v1/scan","method":"POST","input":{"source":{"type":"string","required":true,"description":"Raw source code"},"filename":{"type":"string","required":false,"description":"Filename hint, e.g. Vault.sol"},"aiAnalysis":{"type":"boolean","required":false,"description":"Enable AI-powered deep review (costs more)"},"rpcUrl":{"type":"string","required":false,"description":"Fork RPC URL for PoC execution (Solidity only)"}},"output":{"findings":"Array of security findings with severity, location, description, suggestion, fixDiff","summary":"Human-readable summary","score":"Integer 0–100","grade":"A | B | C | D | F","breakdown":"Per-severity finding counts and score impact","pocs":"(optional) Working Foundry exploit transcripts when AI analysis succeeds"},"pricing":[{"asset":"USDG","network":"eip155:4663","amount":"$0.01","decimals":6,"human":"$0.01 USDG on Robinhood Chain","facilitator":"https://x402.primer.systems","available":true}]},{"id":"review","name":"AI-powered diff review","description":"Submit a unified git diff, get AI-powered findings with CWE/OWASP mappings, fix diffs, and a public review receipt. Optimal for PR review and CI integration.","endpoint":"https://interventionprotocol.io/api/v1/review","method":"POST","input":{"diff":{"type":"string","required":true,"description":"Unified diff string (git format)"},"rulesets":{"type":"array","required":false,"description":"Rule categories to enable"},"targetChains":{"type":"array","required":false,"description":"Blockchain targets, e.g. ['robinhood']"},"staticOnly":{"type":"boolean","required":false,"description":"Skip AI analysis"},"repo":{"type":"string","required":false,"description":"owner/name — records the receipt against the repo"},"commitSha":{"type":"string","required":false,"description":"Commit hash for the receipt target"}},"output":{"findings":"Array of findings with fixDiff and CWE IDs","summary":"Human-readable summary","score":"SecurityScore object"},"pricing":[{"asset":"USDG","network":"eip155:4663","amount":"$0.02","decimals":6,"human":"$0.02 USDG on Robinhood Chain","facilitator":"https://x402.primer.systems","available":true}]},{"id":"scan-address","name":"Scan a deployed contract by address","description":"Provide a 0x address on Robinhood Chain. We fetch the verified source from Blockscout and scan every source file. The paid path persists a public receipt; the free playground variant is rate-limited.","endpoint":"https://interventionprotocol.io/api/v1/scan-address","method":"POST","input":{"address":{"type":"string","required":true,"description":"0x... contract address (40 hex chars)"},"chain":{"type":"string","required":false,"description":"robinhood (default; the only supported chain)"}},"output":{"scanId":"Public receipt short ID","receiptUrl":"https://interventionprotocol.io/r/<scanId>","score":"0-100","grade":"A-F","severityCounts":"{ critical, high, medium, low, info, total }","contract":"Metadata (name, compiler, file count, proxy info, explorer URL)","findings":"Per-file findings"},"pricing":[{"asset":"USDG","network":"eip155:4663","amount":"$0.01","decimals":6,"human":"$0.01 USDG on Robinhood Chain","facilitator":"https://x402.primer.systems","available":true}]},{"id":"scan-address-free","name":"Scan a deployed contract — free playground","description":"Same address-scan engine as the paid endpoint, IP-rate-limited. Use when you don't have x402/Bearer auth set up.","endpoint":"https://interventionprotocol.io/api/playground/scan-address","method":"POST","input":{"address":{"type":"string","required":true,"description":"0x... contract address (40 hex chars)"},"chain":{"type":"string","required":false,"description":"robinhood (default; the only supported chain)"}},"output":{"receiptId":"Public receipt short ID","receiptUrl":"/r/<receiptId>","contract":"Metadata","findings":"Per-file findings","score":"0-100","grade":"A-F"},"pricing":[]},{"id":"guard-preflight","name":"Agent Guard — preflight signal for a Robinhood Chain address","description":"Agent-readable preflight signal for a Robinhood Chain contract address. Returns decision (low_risk_signal | review | block_for_review | needs_scan), score, riskSurface, proofStatus, top findings, and a recommendedAction. Reads the latest public ScanReceipt — does not auto-scan on cache miss. For a fresh paid receipt, call /api/v1/scan-address. Not an audit. Not a safety guarantee.","endpoint":"https://interventionprotocol.io/api/guard/robinhood-chain/<address>","method":"GET","input":{"address":{"type":"string","required":true,"description":"0x... Robinhood Chain contract address (path parameter)"}},"output":{"decision":"low_risk_signal | review | block_for_review | needs_scan","score":"0-100","grade":"A-F","receiptUrl":"Public receipt URL","guardUrl":"Human Guard Link URL","proofStatus":"static_only | needs_context | ai_reviewed | test_generated | test_passed | exploit_confirmed | not_exploitable","riskSurface":"{ admin_power, user_fund_risk, trading_restriction, upgradeability } each with { level, count }","reasons":"Array of human-readable strings explaining the decision","recommendedAction":"One-line plain-English next step","topFindings":"Up to 3 findings sorted by severity","stale":"Boolean — true when the cached receipt is older than 24h","source":"cached_receipt | no_data"},"pricing":[]},{"id":"replay-hacks","name":"Replay famous exploits against your code","description":"Encoded patterns from real-world exploits such as Bybit, Radiant, Euler, zkSync, Curve, Beanstalk, Multichain, and Ronin. Returns the subset that match against submitted source code.","endpoint":"https://interventionprotocol.io/api/v1/scan","method":"POST","input":{"source":{"type":"string","required":true,"description":"Source code"},"filename":{"type":"string","required":false,"description":"Filename hint"},"aiAnalysis":{"type":"boolean","required":false,"description":"Confirm matches with Foundry PoC (Solidity only)"}},"output":{"findings":"Hack-replay findings only (filter ruleId.startsWith('cp-hack-'))"},"pricing":[{"asset":"USDG","network":"eip155:4663","amount":"$0.01","decimals":6,"human":"$0.01 USDG on Robinhood Chain","facilitator":"https://x402.primer.systems","available":true}]}],"auth":{"x402":{"enabled":true,"note":"Send a signed USDG (Robinhood Chain) transfer in PAYMENT-SIGNATURE header. On missing/insufficient payment, endpoints return 402 with PAYMENT-REQUIRED.","payTo":"0xd50d87Fe12Dd9bD020bF440a10D7A933E90A99f2"},"bearer":{"header":"Authorization: Bearer <key>","note":"See https://interventionprotocol.io/developers for a Bearer key — bypasses x402 micropayment."}},"discovery":{"mcp":"https://interventionprotocol.io/developers#mcp","mcp_npm":"@intervention/mcp","api_docs":"https://interventionprotocol.io/developers","agent_card":"https://interventionprotocol.io/.well-known/agent-card.json","live_feed":"https://interventionprotocol.io/receipts","playground":"https://interventionprotocol.io/playground","guard":"https://interventionprotocol.io/guard/robinhood-chain","guard_api":"https://interventionprotocol.io/api/guard/robinhood-chain/<address>"},"integrations":{"mcp":{"available":true,"install":"Add `{\"command\":\"npx\",\"args\":[\"-y\",\"@intervention/mcp@latest\"]}` to your Claude Desktop / Cursor / Cline config"},"github_app":{"available":true,"install":"https://interventionprotocol.io/login"},"cli":{"available":true,"install":"npx -y @intervention/cli@latest scan ."},"github_action":{"available":true,"install":"uses: Intervention/intervention-action@v1"},"vscode":{"available":false,"install":"Coming soon — VS Code marketplace publish pending"}},"public_receipt_count":24,"links":{"health":"https://interventionprotocol.io/api/health","badge":"https://interventionprotocol.io/api/badge/{owner}/{repo}","docs":"https://interventionprotocol.io/developers"},"usage_example":{"language":"bash","code":"# 1. Hit any endpoint without payment → get the 402 challenge\ncurl -sS -X POST https://interventionprotocol.io/api/v1/scan \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"source\":\"pragma solidity ^0.8.20; contract C {}\", \"filename\":\"C.sol\"}'\n\n# Returns: HTTP 402  +  PAYMENT-REQUIRED: <base64 PaymentRequired>\n\n# 2. Sign the x402 USDG payment on Robinhood Chain, retry:\ncurl -sS -X POST https://interventionprotocol.io/api/v1/scan \\\n     -H \"Content-Type: application/json\" \\\n     -H \"PAYMENT-SIGNATURE: <base64 PaymentPayload>\" \\\n     -d '{\"source\":\"...\", \"filename\":\"C.sol\"}'\n\n# Returns: scan result + PAYMENT-RESPONSE (settlement proof) + public receipt URL"}}