# AgentUtility ETH Logs — Multi-Chain EVM Event Log Reader

> AgentUtility ETH Logs — Multi-Chain EVM Event Log Reader is a paid API for AI agents from x402.agentutility.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Fetches on-chain event logs (eth_getLogs) across multiple EVM chains including Base, Ethereum, Arbitrum, Optimism, Polygon, and BSC, supporting address filtering, topic filters with OR arrays, and block range queries.

## Facts

- Endpoint: POST https://x402.agentutility.ai/eth-logs
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentutility-eth-logs-multi-chain-evm-event-log-reader-2038a71d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AmeRXAk1Z5tw-Qy-7ep4O

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 agentutility-eth-logs-multi-chain-evm-event-log-reader-2038a71d -d '<json body>'
```

Example prompt: Pull the last 2000 ERC20 Transfer event logs for the USDC contract (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) on Ethereum, filtering by topic1 to address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045.

## When to prefer this

Choose this endpoint when you need raw on-chain event logs from EVM-compatible chains without setting up your own RPC infrastructure or API keys. It's ideal for agents that need quick, pay-per-call access to Transfer events, DEX swaps, NFT mints, or any smart contract event across Base, Ethereum, Arbitrum, Optimism, Polygon, or BSC. Prefer this over a dedicated indexer (e.g. The Graph) when you need real-time or recent logs without a pre-built subgraph, and over a full node when you want zero-setup multi-chain coverage at $0.01/call.

## Known failure modes

- Block range exceeds 10,000-block hard cap — returns error requiring smaller range
- Result set exceeds 5,000 logs — returns error or truncated results requiring narrower filter
- Invalid contract address format — returns RPC-level error
- Unsupported chain identifier — returns validation error
- RPC node unavailability for a specific chain — returns upstream timeout or error
- Invalid topic hash format — returns filter error

## How this service works

eth_getLogs / on-chain event logs / EVM event reader / Transfer event scan / ERC20 Transfer logs / NFT mint logs / DEX swap events / multi-chain log scanner / log indexer / smart contract event reader. Generic eth_getLogs across Base / Ethereum / Arbitrum / Optimism / Polygon / BSC via public no-auth RPC. Supports address + up to 4 topics (with OR arrays), from/to block range, and a 'last_n_blocks' convenience param. Hard-capped at 5,000 logs and 10,000-block range per call.

## Output

Returns an array of up to 5,000 raw EVM event log objects, each containing the contract address, transaction hash, block number, log index, topics array (up to 4 topics), and hex-encoded data field. Results are scoped to the specified chain and capped at a 10,000-block range per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "properties": {
      "chain": {
       "description": "Chain id or slug. Default 'base'. Supported: 8453|'base', 1|'ethereum', 42161|'arbitrum', 10|'optimism', 137|'polygon', 56|'bsc'."
      },
      "topics": {
       "type": "array",
       "description": "Up to 4 topics. Each element: hex string (32 bytes), array of hex strings (OR-filter), or null (wildcard at that position)."
      },
      "address": {
       "description": "Contract address (0x..., string or array of strings). Optional."
      },
      "to_block": {
       "description": "Same shape as from_block. Default 'latest'."
      },
      "from_block": {
       "description": "Hex string ('0x...'), decimal number, or 'latest'/'earliest'/'pending'/'safe'/'finalized'."
      },
      "last_n_blocks": {
       "type": "number",
       "description": "Convenience: query the last N blocks. Overrides from/to_block."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "logs": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "data": {
          "type": "string"
         },
         "topics": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "address": {
          "type": "string"
         },
         "log_index": {
          "type": "integer"
         },
         "block_number": {
          "type": "integer"
         },
         "transaction_hash": {
          "type": "string"
         }
        }
       }
      },
      "chain": {
       "type": "string"
      },
      "count": {
       "type": "integer"
      },
      "chain_id": {
       "type": "integer"
      },
      "to_block": {
       "type": "string"
      },
      "truncated": {
       "ty
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "logs": [
   {
    "data": "0x...",
    "topics": [
     "0xddf252ad...",
     "0x000000000000000000000000abc...",
     "0x000000000000000000000000def..."
    ],
    "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "log_index": 42,
    "block_number": 19088225,
    "transaction_hash": "0xfeed..."
   }
  ],
  "chain": "base",
  "count": 100,
  "chain_id": 8453,
  "to_block": "0x1234564",
  "truncated": false,
  "from_block": "0x1234500",
  "total_count": 100
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentutility-eth-logs-multi-chain-evm-event-log-reader-2038a71d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentutility.ai](https://www.zero.xyz/host/x402.agentutility.ai/llms.txt)
