# Blockscout Contract Inspector (x402)

> Blockscout Contract Inspector (x402) is a paid API for AI agents from kr-x402-mvp.kgy5612.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-11-02).

Returns on-chain contract metadata for a given EVM address on Base or Ethereum, including token info, proxy type, ownership, risk flags, and interface compliance.

## Facts

- Endpoint: GET https://kr-x402-mvp.kgy5612.workers.dev/api/blockscout/contract?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/blockscout-contract-inspector-x402-777b91c9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5SKAwm0bcHJPzh--Qt15N

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 blockscout-contract-inspector-x402-777b91c9
```

Example prompt: Look up the contract details for 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base — I want to know if it's a proxy, who owns it, any risk flags, and the token symbol and decimals.

## When to prefer this

Use this endpoint when an AI agent needs to classify and risk-assess an EVM contract address before interacting with it — especially useful for checking proxy upgradeability, admin control risks, and token metadata on Base or Ethereum mainnet. Prefer this over generic block explorers when you need structured JSON output with risk flags and follow-up endpoint suggestions, and when you are operating without a traditional API key (x402 micropayment via USDC on Base). Not suited for transaction history, event logs, or non-EVM chains.

## Known failure modes

- Invalid or non-checksummed address returns a 400 error
- Address is an EOA (not a contract) — is_contract will be false with minimal data
- Unsupported chain value returns validation error
- Network timeout or worker error returns 5xx
- Contract not indexed by Blockscout returns empty or partial response
- Payment failure (x402) if USDC balance insufficient

## How this service works

Pay-per-call crypto microdata for trading/onchain AI agents via x402 (USDC on Base): Base gas, token risk, balances, multi-venue prices, Hyperliquid book/funding, kimchi premium. No API keys.

## Output

A JSON object containing the contract's kind (e.g. ERC20), token metadata (name, symbol, decimals, total supply), proxy details (type, admin, implementation), ownership info, boolean risk flags (e.g. upgradeable_proxy, has_owner, admin_can_change_logic), interface compliance (ERC165/721/1155), native balance, code size, chain ID, and suggested follow-up API paths for deeper analysis.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "chain": {
       "enum": [
        "base",
        "eth"
       ],
       "type": "string",
       "description": "base (default) or eth mainnet"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "examples": [
        "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
       ],
       "description": "Address to inspect"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "ERC20",
  "next": [
   "/crypto/token-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "/crypto/allowance?owner=&spender="
  ],
  "safe": null,
  "chain": "base",
  "flags": [
   "upgradeable_proxy",
   "has_owner",
   "admin_can_change_logic"
  ],
  "owner": "0x...",
  "proxy": {
   "type": "ZEPPELINOS_LEGACY",
   "admin": "0x4fc7850364958d97b4d3f5a08f79db2493f8ca44",
   "beacon": null,
   "is_proxy": true,
   "implementation": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
  },
  "token": {
   "name": "USD Coin",
   "symbol": "USDC",
   "decimals": 6,
   "total_supply": 4100000000
  },
  "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "summary": "ERC20 USDC behind ZEPPELINOS_LEGACY proxy, has owner",
  "chain_id": 8453,
  "checked_at": "2026-10-30T03:40:00Z",
  "interfaces": {
   "erc165": false,
   "erc721": false,
   "erc1155": false
  },
  "is_contract": true,
  "native_balance": 0,
  "code_size_bytes": 1852,
  "owner_renounced": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/blockscout-contract-inspector-x402-777b91c9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kr-x402-mvp.kgy5612.workers.dev](https://www.zero.xyz/host/kr-x402-mvp.kgy5612.workers.dev/llms.txt)
