# OpenVerbs Chain — Read Contract (eth_call)

> OpenVerbs Chain — Read Contract (eth_call) 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-03).

Calls any read-only (view/pure) function on a deployed EVM contract and returns the decoded result, across Ethereum, Base, Arbitrum, Optimism, and Polygon.

## Facts

- Endpoint: POST https://chain.openverbs.com/v1/read-contract?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-03
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openverbs-chain-read-contract-eth-call-853caaac
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1Hy7GjqZt_t9h_12qqNYs

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-read-contract-eth-call-853caaac -d '<json body>'
```

Example prompt: What's the USDC balance of 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum? Call the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 using 'balanceOf(address) view returns (uint256)'.

## When to prefer this

Use this endpoint when you need to read live, authoritative on-chain state from any EVM smart contract with a known ABI or function signature, without needing to sign a transaction. It is ideal for checking token balances, allowances, oracle prices, DeFi protocol state, and DAO governance data across Ethereum, Base, Arbitrum, Optimism, and Polygon. Prefer it over indexers or subgraphs when you need real-time data at a specific block, or when the contract function isn't indexed elsewhere. It is not suitable for state-changing transactions.

## Known failure modes

- Invalid contract address (not a 40-hex 0x address) — request rejected
- Function signature does not match contract ABI — reverts or returns unexpected hex
- Contract reverts the call (e.g. access control, invalid args) — error response returned
- Unsupported chain specified — enum validation failure
- Return types omitted — raw hex returned instead of decoded values
- Arguments count or type mismatch — call may fail or decode incorrectly
- Querying a non-existent historical block — may return empty or error
- Network congestion causing slow RPC response — latency increase

## How this service works

Call a read-only (view/pure) function on any deployed contract via eth_call and get the decoded result. Give the contract address and a human-readable signature (e.g. 'balanceOf(address) view returns (uint256)') plus args; include return types to decode outputs, else raw hex is returned. Reads allowances, oracle prices and vault/DAO state. Read-only, no signing. Ethereum, Base, Arbitrum, Optimism, Polygon.

## Output

Returns the decoded output of the contract function call (e.g. a uint256 balance, an address, a bool, a tuple) mapped to the return types specified in the function signature. If return types are omitted from the signature, raw hex is returned. The response reflects the on-chain state at the specified block (defaults to latest).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "args": {
   "type": "array",
   "description": "Function arguments in order (numbers may be passed as strings)."
  },
  "block": {
   "type": [
    "integer",
    "string"
   ],
   "description": "Block number or tag (latest, earliest, pending, safe, finalized). Default latest."
  },
  "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."
  },
  "function": {
   "type": "string",
   "description": "Human-readable function signature, e.g. \"balanceOf(address) view returns (uint256)\". Include the return types to decode the result."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/openverbs-chain-read-contract-eth-call-853caaac/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)
