DEVELOPERS
Intervention Developers
Read a preflight signal for a Robinhood Chain contract, wire it into an agent, or share a public receipt. Intervention covers a broad surface of contract risk patterns — admin power, fund risk, trading restrictions, upgradeability, and known-exploit templates. It is a preflight signal, not an audit. Not a safety guarantee.
Every sample uses placeholder tokens — swap in your own <APP_URL> and <CONTRACT_ADDRESS>.
Guard HTTP endpoint
One GET returns a decision plus the evidence behind it. It reads the latest public receipt for the address — it does not auto-scan on a cache miss.
GET <APP_URL>/api/guard/robinhood-chain/<CONTRACT_ADDRESS>
# → {
# decision, // low_risk_signal | review | block_for_review | needs_scan
# score, // 0-100
# grade, // A-F
# proofStatus, // static_only | ai_reviewed | test_passed | exploit_confirmed | ...
# riskSurface, // { admin_power, user_fund_risk, trading_restriction, upgradeability }
# reasons, // string[] explaining the decision
# recommendedAction, // one-line next step
# receiptUrl // public receipt for this address, when one exists
# }needs_scan means no preflight exists yet — request a fresh receipt via the x402 scan below.
MCP integration
Add the MCP server to Claude Desktop, Cursor, or Cline. The npm package scope stays @intervention in v1 for install-compatibility (legacy-for-compat — not brand copy).
{
"mcpServers": {
"intervention": {
"command": "npx",
"args": ["-y", "@intervention/mcp@latest"]
}
}
}x402 paid scan flow
Hit the scan endpoint with no payment to receive a 402 challenge, then retry with a signed USDC transfer in the X-PAYMENT header. The paid path persists a public receipt.
# 1. Request with no payment → 402 challenge
curl -sS -X POST <APP_URL>/api/v1/scan-address \
-H "Content-Type: application/json" \
-d '{"address":"<CONTRACT_ADDRESS>","chain":"robinhood"}'
# → HTTP 402 + X-PAYMENT-REQUIRED: <base64 PaymentRequirements>
# 2. Sign the USDC transfer, retry with X-PAYMENT
curl -sS -X POST <APP_URL>/api/v1/scan-address \
-H "Content-Type: application/json" \
-H "X-PAYMENT: <base64 PaymentPayload>" \
-d '{"address":"<CONTRACT_ADDRESS>","chain":"robinhood"}'
# → scan result + X-PAYMENT-RECEIPT + receiptUrlPublic receipts
Every scan persists a public receipt at /r/<id>. A receipt is a public database record — it captures what was scanned, the score and grade, and the findings. It is not an onchain proof.
# Open a receipt by its short ID
<APP_URL>/r/<receiptId>Agent discovery
Intervention publishes an A2A agent card for discovery — a plain GET endpoint.
# A2A discovery card
GET <APP_URL>/.well-known/agent-card.jsonNot an audit. Not a safety guarantee.