# Ethereum Mainnet eth_getLogs (Event Logs Reader)

> Ethereum Mainnet eth_getLogs (Event Logs Reader) is a paid API for AI agents from api.arysphere.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-17).

Fetches raw event logs from an Ethereum mainnet smart contract, filtered by event topic and block range.

## Facts

- Endpoint: GET https://api.arysphere.com/v1/ventures/x402_eth_reads_v1/eth_mainnet_eth_getlogs?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-mainnet-eth-getlogs-event-logs-reader-17d71765
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BSgzapzTsDXPcksW85CKV

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 ethereum-mainnet-eth-getlogs-event-logs-reader-17d71765
```

Example prompt: Pull the last 20 blocks of Transfer event logs from the Ethereum mainnet contract at 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913, filtering by topic0 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

## When to prefer this

Choose this endpoint when you need to read raw smart contract event logs from Ethereum mainnet using eth_getLogs, particularly when you want to filter by a specific event signature (topic0) and limit the range to the most recent N blocks. Prefer it over Base or Gnosis siblings when your contract is deployed on Ethereum mainnet. It is well-suited for monitoring ERC-20 transfers, DEX swaps, or any EVM event without needing to decode or index the data yourself.

## Known failure modes

- Invalid contract address format (not 0x + 40 hex) returns a validation error
- Invalid topic0 hash format (not 0x + 64 hex) returns a validation error
- Block range out of bounds (N < 1 or N > 100) returns a validation error
- No logs found for the given filters returns an empty logs array
- RPC node timeout or Ethereum mainnet connectivity issue returns a 5xx error
- Payment failure or insufficient USDC balance returns a 402 Payment Required

## How this service works

ARYSPHERE sells AI-written verdicts on Base token contracts (a grade, a one-liner, a roast and the contract's facts) and Base/Ethereum chain reads, paid per call in USDC on Base over x402 v2. No account and no API key.

## Output

A JSON object containing an array of raw event log entries, each with fields including address, topics, data, blockNumber, blockHash, transactionHash, transactionIndex, logIndex, blockTimestamp, and removed flag. Also includes metadata: total count, from_block, to_block, truncated flag, chain, and method name.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "blocks": {
       "type": "string",
       "description": "optional, last N blocks, 1-100 (default 10)"
      },
      "topic0": {
       "type": "string",
       "description": "optional event signature hash, 0x + 64 hex"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "contract, 0x + 40 hex"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "chain": "ethereum",
  "method": "eth_getLogs",
  "result": {
   "logs": [
    {
     "data": "0x0000000000000000000000000000000000000000000000000000000011000a58",
     "topics": [
      "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "0x000000000000000000000000bdb3ba9ffe392549e1f8658dd2630c141fdf47b6"
     ],
     "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
     "removed": false,
     "logIndex": "0x17",
     "blockHash": "0xf88c7d6da7b73bdf869dac8661602de3f98f208d7eb052a1073edd6e5041a363",
     "blockNumber": "0x18ff029",
     "blockTimestamp": "0x6ad30f1b",
     "transactionHash": "0x4c1a6d22ae7677c3c500e5ad82827193dbc4aaf488a6af3c3e7c8ce5e04334a0",
     "transactionIndex": "0x2"
    },
    {
     "data": "0x0000000000000000000000000000000000000000000000000000000002faf080",
     "topics": [
      "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "0x000000000000000000000000924e1b33b1fc3041351b2082ddd11d5c8bcca370"
     ],
     "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
     "removed": false,
     "logIndex": "0x39",
     "blockHash": "0xf88c7d6da7b73bdf869dac8661602de3f98f208d7eb052a1073edd6e5041a363",
     "blockNumber": "0x18ff029",
     "blockTimestamp": "0x6ad30f1b",
     "transactionHash": "0x6cb83f77e12d2b4be5980a47bcfd0f3a24a3743cbc49775a323172f539610a5f",
     "transactionIndex": "0x8"
    }
   ],
   "count": 1394,
   "to_block": 26210354,
   "truncated": true,
   "from_block": 26210345
  },
  "service": "x402_eth_reads_v1.eth_mainnet_eth_getlogs"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ethereum-mainnet-eth-getlogs-event-logs-reader-17d71765/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.arysphere.com](https://www.zero.xyz/host/api.arysphere.com/llms.txt)
