# Tanod chainpeek – EVM Contract Call

> Tanod chainpeek – EVM Contract Call is a paid API for AI agents from tanod.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-10).

Executes a read-only eth_call against an Ethereum or Base smart contract and returns the raw ABI-encoded result

## Facts

- Endpoint: POST https://tanod.dev/v1/chain/call?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-chainpeek-evm-contract-call-2a8becdf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-IRUiW2-cQSXBhsDqTZn6

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 tanod-chainpeek-evm-contract-call-2a8becdf -d '<json body>'
```

Example prompt: What's the total supply of USDC on Base right now? Call the contract at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 with the totalSupply selector (0x18160ddd) on the base chain.

## When to prefer this

Choose this endpoint when you need a lightweight, pay-per-call read access to Ethereum or Base smart contract state without setting up your own RPC node or managing API keys. It is ideal for AI agents that need occasional on-chain lookups (token supply, balances, protocol state) on either Ethereum mainnet or Base, and want to pay only per call in USDC. Prefer it over self-hosted RPC when cost-per-call is acceptable and infrastructure overhead is undesirable.

## Known failure modes

- Contract address does not exist on the specified chain — returns empty result with is_empty: true
- Historical block requested on a non-archive node — may fail or return an error
- Malformed calldata (odd hex length or invalid format) — schema validation error
- Invalid chain name (not 'ethereum' or 'base') — rejected at input validation
- ABI encoding mismatch — call succeeds but returned bytes cannot be decoded without the ABI
- Reverted call — contract execution reverts, typically returned as an error response
- Payment failure — x402 micropayment of $0.002 USDC not completed, request blocked

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

A JSON object containing: the raw ABI-encoded return data as a hex string (result), the block tag used, the contract address called, the 4-byte selector extracted, how many bytes were returned (result_bytes), and a boolean is_empty flag indicating whether the call returned any data. Also includes a note explaining that empty results from addresses without code are normal.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "to": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "Contract (or account) to call."
  },
  "data": {
   "type": "string",
   "pattern": "^0x([0-9a-fA-F]{2})*$",
   "maxLength": 16386,
   "description": "ABI-encoded calldata, 0x-hex with an even number of digits, at most 8 kB (4-byte selector + arguments; 0x18160ddd is totalSupply())."
  },
  "block": {
   "anyOf": [
    {
     "type": "string",
     "pattern": "^(latest|pending|finalized|[0-9]{1,13})$"
    },
    {
     "type": "integer"
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "latest (default), pending, finalized or a block number (older blocks need an archive node and may fail)."
  },
  "chain": {
   "enum": [
    "ethereum",
    "base",
    "robinhood"
   ],
   "type": "string",
   "description": "ethereum, base or robinhood (Robinhood Chain, chain id 4663)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "note": "result is raw ABI-encoded return data; an empty result from an address without code is normal",
  "block": "latest",
  "chain": "base",
  "result": "0x000000000000000000000000000000000000000000000000000f914dad280809",
  "is_empty": false,
  "selector": "0x18160ddd",
  "result_bytes": 32
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-chainpeek-evm-contract-call-2a8becdf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
