# skills.onesource.io Proxy Pattern Detector

> skills.onesource.io Proxy Pattern Detector is a paid API for AI agents from skills.onesource.io, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Detects upgradeable proxy patterns (EIP-1967, UUPS, Transparent) for a given Ethereum address and returns the implementation contract address behind the proxy

## Facts

- Endpoint: GET https://skills.onesource.io/api/chain/proxy/:address
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/skills-onesource-io-75006580
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_omz4cbqQ1Gu6MJ1SVjSbo

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 skills-onesource-io-75006580
```

Example prompt: Is the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum a proxy, and if so what's the implementation address behind it?

## When to prefer this

Use this endpoint when you need to determine whether a given Ethereum (or supported EVM chain) smart contract is an upgradeable proxy and want to resolve the actual implementation contract address. Particularly useful for auditing, security analysis, or when interacting with DeFi protocols where contracts may have been upgraded. Prefer over manual eth_getStorageAt calls as it handles EIP-1967, UUPS, and Transparent proxy detection automatically.

## Known failure modes

- Invalid address format — returns error if address is not a valid 0x-prefixed 40-character hex string
- Non-proxy contract — is_proxy returns false and implementation may be null or zero address
- Unsupported network — returns error if network enum value is not one of: ethereum, sepolia, avax, megaeth, megaeth-testnet, base
- Address is an EOA (externally owned account) — is_contract returns false
- RPC node unavailable — upstream eth_getStorageAt call fails, returning 5xx error
- Unknown proxy pattern — contract may use a non-standard storage slot not detected by the service

## How this service works

Detect upgradeable proxy patterns (EIP-1967, UUPS, Transparent) via eth_getStorageAt - returns the implementation address behind a proxy

## Output

Returns the queried address, a boolean indicating whether it is a proxy, the proxy type (e.g. EIP-1967, UUPS, Transparent, slot0), a boolean indicating whether it is a contract, and the implementation address the proxy delegates to.

## Example request

```json
{
 "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
 "network": "ethereum"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/skills-onesource-io-75006580/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from skills.onesource.io](https://www.zero.xyz/host/skills.onesource.io/llms.txt)
