# Madhouse Wallet Optimism Address Risk Scanner

> Madhouse Wallet Optimism Address Risk Scanner is a paid API for AI agents from scan.madhousewallet.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Scans an Optimism network wallet address or ENS name for on-chain risk signals, returning a normalized toxicity score, risk level, and flagged risk metrics.

## Facts

- Endpoint: GET https://scan.madhousewallet.com/api/public/scan/optimism
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scan-madhousewallet-com-17a11261
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rNNL0Xfy3-syTp5luQylg

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability scan-madhousewallet-com-17a11261
```

Example prompt: Can you check whether the Optimism wallet address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e is safe to send funds to — give me its risk level and any flagged risk categories?

## When to prefer this

Use this endpoint specifically when you need to assess risk for addresses on the Optimism (OP Mainnet) network. It is backed by Web3 Antivirus data and returns a structured toxicity score, risk tier, and categorized flag reasons. Prefer this over generic blockchain explorers when compliance screening, off-ramp flagging, or fraud detection logic is needed for Optimism addresses specifically.

## Known failure modes

- Invalid or malformed wallet address returns an error
- ENS name that cannot be resolved returns an error or null address
- Address with no on-chain history returns addressExists=false with minimal risk data
- Network timeout or upstream provider unavailability returns a 5xx error
- Unpaid or insufficient USDC balance causes a 402 payment required response

## How this service works

Returns public scan data for the Optimism network.

## Output

Returns a JSON object with the queried wallet address, a normalized toxicity score (0=clean, 1=critical), a risk level enum (PASS, LOW, MIDDLE, CRITICAL), a shouldFlag boolean, a list of flagged risk metric objects (e.g. known_scammer, sanction_address, rug_pull), whether the address is a contract, whether it has on-chain history, and the resolved ENS name if applicable.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "description": "EVM wallet address (0x-prefixed, checksummed) or ENS name to scan."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "address",
      "toxicScore",
      "riskLevel",
      "shouldFlag",
      "flaggedMetrics"
     ],
     "properties": {
      "ens": {
       "type": [
        "string",
        "null"
       ],
       "description": "Resolved ENS name if the address has one, otherwise null."
      },
      "address": {
       "type": "string",
       "description": "The queried wallet address (checksummed or ENS-resolved)."
      },
      "riskLevel": {
       "enum": [
        "PASS",
        "LOW",
        "MIDDLE",
        "CRITICAL"
       ],
       "type": "string",
       "description": "PASS = score 0; LOW = 0-0.40; MIDDLE = 0.41-0.80; CRITICAL >= 0.81."
      },
      "isContract": {
       "type": "boolean",
       "description": "True if the address is a smart contract, not an EOA."
      },
      "shouldFlag": {
       "type": "boolean",
       "description": "True if toxicScore > 0. Off-ramp compliance rule: only exact score 0 passes; any non-zero score must be flagged."
      },
      "toxicScore": {
       "type": "number",
       "description": "Normalized risk score from 0 (clean) to 1 (critical). NOTE: the API may return scores as integers 0-100 for confirmed bad actors; always normalize with score > 1 ? score / 100 : score."
      },
      "addressExists": {
       "type": "boolean",
       "description": "True if the address has any on-chain transaction history."
      },
      "flaggedMetrics": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string",
          "description": "Ri
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scan-madhousewallet-com-17a11261/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scan.madhousewallet.com](https://www.zero.xyz/host/scan.madhousewallet.com/llms.txt)
