# OpenVerbs Chain ABI Lookup

> OpenVerbs Chain ABI Lookup is a paid API for AI agents from chain.openverbs.com, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-02).

Fetches the verified contract ABI, metadata, and proxy information for a deployed smart contract address from Sourcify, across major EVM chains.

## Facts

- Endpoint: POST https://chain.openverbs.com/v1/abi?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openverbs-chain-abi-lookup-335a7644
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KeOf_WLnb_4yjEN99VwpV

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 openverbs-chain-abi-lookup-335a7644 -d '<json body>'
```

Example prompt: Can you fetch the verified ABI for the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum so I can see what functions it exposes?

## When to prefer this

Use this endpoint when you need a contract's ABI to interact with or decode it, and you want verification metadata (compiler, language, match type, proxy status) from Sourcify rather than Etherscan. Prefer this over manual ABI guessing or unverified ABIs when working with Base, Arbitrum, Optimism, or Polygon in addition to Ethereum. Especially valuable when you need to detect proxy contracts and resolve their implementations automatically.

## Known failure modes

- Contract not verified on Sourcify — returns verified:false with no ABI
- Invalid address format rejected by schema validation
- Unsupported chain name returns an error
- Contract address does not exist on the specified chain
- Sourcify upstream unavailable — falls back to cache, which may be stale

## How this service works

Get the verified contract ABI and verification metadata for a deployed contract by address, sourced from Sourcify. Returns the contract ABI (to decode or call it), contract name, compiler/language, match type, and proxy resolution (is-proxy plus implementation addresses). Supports Ethereum, Base, Arbitrum, Optimism, Polygon. Unverified contracts return `verified:false`. Live reads with cache fallback.

## Output

Returns a JSON object containing: verified (boolean), contract ABI array (for decoding/calling the contract), contract name, compiler version, language, Sourcify match type (full or partial), is-proxy flag, and implementation addresses if it is a proxy. Unverified contracts return verified:false with no ABI.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "ethereum",
    "base",
    "arbitrum",
    "optimism",
    "polygon"
   ],
   "type": "string",
   "description": "EVM chain to query. One of: ethereum, base, arbitrum, optimism, polygon. Default \"ethereum\"."
  },
  "address": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "Deployed contract address."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/openverbs-chain-abi-lookup-335a7644/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chain.openverbs.com](https://www.zero.xyz/host/chain.openverbs.com/llms.txt)
