# Vextorium Proxy Detect

> Vextorium Proxy Detect is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-11).

Detects whether a smart contract is an upgradeable proxy and returns its type, implementation address, admin, and beacon across 12 EVM chains.

## Facts

- Endpoint: POST https://api.vextorium.com/v1/proxy-detect?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vextorium-proxy-detect-a847fbb3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FLxoJo6XyTWkuFkqtlB2z

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 vextorium-proxy-detect-a847fbb3 -d '<json body>'
```

Example prompt: Can you check if the contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base is an upgradeable proxy, and if so, tell me what type it is and what implementation address it points to?

## When to prefer this

Use this endpoint when you need to programmatically determine whether a smart contract on any of the 12 supported EVM chains delegates its logic to another contract via a known proxy standard (EIP-1967 transparent/UUPS, beacon, ZeppelinOS legacy, or EIP-1167 minimal clone). Prefer this over manual ABI inspection when you need a fast, structured answer with the implementation, admin, and beacon addresses resolved automatically — especially useful in security audits, DeFi due diligence, or contract indexing pipelines.

## Known failure modes

- Invalid or non-checksummed contract address returns an error
- Address is an EOA (not a contract) — returns is_proxy: false
- Unsupported network value returns validation error
- Contract exists but uses an unknown/non-standard proxy pattern — returns is_proxy: false with null fields
- Network RPC issues may cause timeouts or empty responses
- Address with no deployed bytecode treated as non-proxy

## How this service works

Detect whether a contract is an upgradeable proxy (EIP-1967 transparent/UUPS, beacon, ZeppelinOS, EIP-1167 minimal) and return implementation, admin and beacon. Works on Base, Ethereum, Arbitrum, Optimism, Polygon, BNB Chain, Avalanche, Gnosis, Linea, Scroll, Sonic and Unichain.

## Output

Returns a JSON object with: is_proxy (boolean), type (e.g. 'ZeppelinOS', 'EIP-1967 transparent', 'UUPS', 'EIP-1167 minimal', or null), implementation address, admin address, beacon address, network, contract address, and a human-readable note explaining the security implication of the proxy type found.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string"
      },
      "network": {
       "enum": [
        "base",
        "ethereum",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche",
        "gnosis",
        "line",
        "scroll",
        "sonic",
        "unichain"
       ],
       "type": "string",
       "description": "Chain (default base)"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "note": {
       "type": [
        "string",
        "null"
       ]
      },
      "type": {
       "type": [
        "string",
        "null"
       ]
      },
      "admin": {},
      "beacon": {},
      "network": {
       "type": [
        "string",
        "null"
       ]
      },
      "contract": {
       "type": [
        "string",
        "null"
       ]
      },
      "is_proxy": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "implementation": {
       "type": [
        "string",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "note": "An upgradeable proxy lets the admin change the code: check who it is.",
  "type": "ZeppelinOS (legacy upgradeable proxy)",
  "admin": null,
  "beacon": null,
  "network": "base",
  "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "is_proxy": true,
  "implementation": "0x2Ce6311ddAE708829bc0784C967b7d77D19FD779"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vextorium-proxy-detect-a847fbb3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
