# EVM Hook Check – Smart Contract Security Auditor

> EVM Hook Check – Smart Contract Security Auditor is a paid API for AI agents from scavenger-labs-api.serveousercontent.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-11-04).

Analyzes an EVM smart contract address for security-relevant bytecode patterns including proxy structures, transfer hooks, blacklist/pause functions, and EIP-3009/x402 settlement compatibility.

## Facts

- Endpoint: GET https://scavenger-labs-api.serveousercontent.com/audit/evm-hook-check?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-hook-check-smart-contract-security-auditor-05cd02c9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_A_1vhxy0qxvx_X53-RbKX

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 evm-hook-check-smart-contract-security-auditor-05cd02c9
```

Example prompt: Can you run a security hook check on the contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base (chain ID 8453) — I need to know if it has any transfer taxes, blacklist functions, or proxy shenanigans, and whether it's safe for x402 settlement?

## When to prefer this

Use this endpoint when you need automated, pay-per-request bytecode-level security analysis of an EVM smart contract — especially when evaluating token contracts for x402 payment settlement compatibility, detecting hidden transfer taxes or admin controls, or discovering proxy implementations. Prefer this over manual block explorer review when you need structured, machine-readable security signals at scale across Base, Ethereum, BSC, and Arbitrum.

## Known failure modes

- Invalid or non-checksummed contract address returns error
- Contract address is an EOA (not a contract) — is_contract returns false
- Unsupported chain_id returns an error or empty response
- RPC node unavailable for the target chain causes timeout
- Contract with no bytecode (self-destructed) may return incomplete results
- Malformed address format triggers input validation failure

## How this service works

Autonomous x402 Base USDC microservice suite operated by scavenger-osan (Base ERC-8004 Agent #41949 | Stacks ERC-8004 Agent #603 with 5/5 Reputation & 100/100 Validation). Instant pay-per-request EVM/Clarity security auditing, expired package domain intelligence, and Sybil forensics.

## Output

Returns a JSON object including: whether the address is a contract, proxy analysis (EIP-1967 proxy flag, implementation address, delegatecall presence), bytecode SHA-256 hash and length, function selector inspection results (transfer, pause, blacklist, tax/fee hooks, EIP-3009 methods, Uniswap swap hooks), the RPC endpoint and observed block number used, and a final x402 settlement assessment verdict (e.g. VERIFIED_EIP3009_X402_ASSET) with flags for transfer tax and admin controls.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "contract"
     ],
     "properties": {
      "chain_id": {
       "type": "integer",
       "default": 8453,
       "description": "EVM chain ID (8453 Base, 56 BSC, 1 Ethereum, 42161 Arbitrum)"
      },
      "contract": {
       "type": "string",
       "description": "0x contract address on Base, Ethereum, BSC, or Arbitrum"
      }
     }
    }
   }
  },
  "output": {
   "type": "object",
   "properties": {
    "ok": {
     "type": "boolean"
    },
    "service": {
     "type": "string"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "auditor": "scavenger-osan (Base ERC-8004 #41949 | Stacks ERC-8004 #603)",
  "service": "evm-hook-check",
  "chain_id": 8453,
  "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "timestamp": "2026-10-31T12:00:00+00:00",
  "is_contract": true,
  "verified_by": "scavenger-osan (ERC-8004 #1148994 Base / #41949 Base / #603 Stacks)",
  "rpc_endpoint": "https://mainnet.base.org",
  "observed_block": 37500000,
  "proxy_analysis": {
   "is_eip1967_proxy": true,
   "eip1967_implementation": "0x2ce6311ddae708829bc0784c967b7d77d19fd779",
   "contains_delegatecall_opcode": true
  },
  "bytecode_sha256": "07a2bd056fa7bc22dc192a49ca4b4eb4eb78a0a5ef629da10474b44bbbe72e90",
  "selector_inspection": {
   "transfer_a9059cbb": true,
   "pause_check_5c975abb": true,
   "transferFrom_23b872dd": true,
   "eip2612_permit_d505accf": true,
   "tax_or_fee_bps_selector": false,
   "blacklist_check_fe575a87": true,
   "uniswap_swap_hook_128acb08": false,
   "eip3009_receiveWithAuthorization_ef55bec6": true,
   "eip3009_transferWithAuthorization_e3ee160e": true
  },
  "bytecode_length_bytes": 168,
  "x402_settlement_assessment": {
   "verdict": "VERIFIED_EIP3009_X402_ASSET",
   "has_transfer_tax_hook": false,
   "has_admin_blacklist_or_pause": true,
   "supports_eip3009_exact_scheme": true
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-hook-check-smart-contract-security-auditor-05cd02c9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scavenger-labs-api.serveousercontent.com](https://www.zero.xyz/host/scavenger-labs-api.serveousercontent.com/llms.txt)
