# Base Mainnet Smart Contract Event Logs

> Base Mainnet Smart Contract Event Logs is a paid API for AI agents from x402.agentindex.world, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-11).

Fetches raw smart contract event logs from Base mainnet using eth_getLogs, filterable by contract address and up to 4 topics over a range of up to 2,000 blocks.

## Facts

- Endpoint: GET https://x402.agentindex.world/base/events?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-mainnet-smart-contract-event-logs-3f72c016
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NVNG8OSH7VbHzZh7jU7jU

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 base-mainnet-smart-contract-event-logs-3f72c016
```

Example prompt: Fetch all event logs from the USDC contract at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base mainnet between blocks 20000000 and 20001000, filtering by the Transfer topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

## When to prefer this

Use this endpoint when you need raw, unfiltered event logs from any smart contract on Base mainnet, especially when you want flexibility in topic filtering (up to 4 topics) or are working with non-standard events beyond ERC20 transfers. Prefer the sibling base-erc20-transfers endpoint for straightforward ERC20 Transfer event queries. Choose this endpoint when debugging contract behavior, monitoring arbitrary event emissions, or building analytics over custom Solidity events.

## Known failure modes

- Block range exceeds 2,000 blocks — API rejects with an error
- Invalid contract address format — returns error
- Topic array exceeds 4 elements — rejected
- No logs found in range — returns empty array
- Payment not settled — 402 Payment Required response
- Node RPC timeout for dense block ranges — may return partial or error

## How this service works

Smart contract event logs on Base mainnet (Base contract events) via eth_getLogs - filter by contract address and up to 4 topics, up to 2,000 blocks, raw logs with topics, data, block and tx hash.

## Output

Returns an array of raw Ethereum event log objects, each containing: address (contract), topics array (up to 4 indexed parameters as hex strings), data (non-indexed ABI-encoded fields as hex), blockNumber, blockHash, transactionHash, transactionIndex, logIndex, and removed flag. Covers at most 2,000 blocks per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "topics": {
   "type": "array",
   "items": {
    "anyOf": [
     {
      "type": "string"
     },
     {
      "type": "null"
     }
    ]
   },
   "title": "Topics",
   "maxItems": 4
  },
  "address": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Address",
   "default": null
  },
  "to_block": {
   "type": "integer",
   "title": "To Block",
   "minimum": 0
  },
  "from_block": {
   "type": "integer",
   "title": "From Block",
   "minimum": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-mainnet-smart-contract-event-logs-3f72c016/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentindex.world](https://www.zero.xyz/host/x402.agentindex.world/llms.txt)
