# HALOWERK kettenwerk Upgrade Risk Analyzer

> HALOWERK kettenwerk Upgrade Risk Analyzer is a paid API for AI agents from kette.halowerk.com, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-11).

Analyzes proxy upgrade risk for a smart contract by detecting proxy patterns, resolving the admin, and checking whether the admin is a multisig or timelock with meaningful delay.

## Facts

- Endpoint: POST https://kette.halowerk.com/contract/upgrade-risk?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-kettenwerk-upgrade-risk-analyzer-96bc79f4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0MbDuQyOtl9i1dQgZSaYD

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 halowerk-kettenwerk-upgrade-risk-analyzer-96bc79f4 -d '<json body>'
```

Example prompt: Check the upgrade risk for the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum — I want to know if the proxy admin is a real multisig or timelock, and how long holders would have before any upgrade goes live.

## When to prefer this

Use this endpoint when you need to assess the governance and upgrade security of a specific smart contract proxy — particularly before investing in or integrating with a DeFi protocol. Prefer this over generic contract scanners when you specifically need to know whether the upgrade key is held by a meaningful multisig or a timelock with real delay, rather than just whether the contract is upgradeable at all.

## Known failure modes

- Address is not a proxy contract — returns no proxy pattern detected
- Contract address is not valid or does not exist on the specified chain
- Chain is not in the supported enum — returns validation error
- Admin address resolution fails due to RPC issues — returns partial result
- Timelock or multisig interface not recognized if using non-standard implementations
- Rate limiting or payment failure returns 402 or 429

## How this service works

Upgradeability alone is not a finding — every serious protocol is upgradeable. The finding is who holds the key and how much warning holders get. This endpoint reads the proxy pattern from the EIP-1967 slots, the clone bytecode or an implementation() call, resolves the admin, checks whether that admin is a multisig by asking it for its threshold and signer count, and checks whether it is a timelock by asking for getMinDelay() or delay() — a timelock with a delay of zero is not a timelock and is 

## Output

Returns the detected proxy pattern (EIP-1967, clone, or implementation() call), the resolved admin address, whether the admin is a multisig (with threshold and signer count), whether the admin is a timelock (with delay in seconds), and an overall upgrade risk classification indicating how much control and warning token holders actually have.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "ethereum",
    "base",
    "arbitrum",
    "optimism",
    "polygon",
    "bsc"
   ],
   "type": "string",
   "description": "Chain the contract lives on."
  },
  "address": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "Contract or proxy address."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-kettenwerk-upgrade-risk-analyzer-96bc79f4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kette.halowerk.com](https://www.zero.xyz/host/kette.halowerk.com/llms.txt)
