# evm-event-logs

> evm-event-logs is a paid API for AI agents from api.agentstools.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Fetches and decodes recent event logs from a smart contract on EVM-compatible networks over a configurable block window

## Facts

- Endpoint: GET https://api.agentstools.dev/evm/logs
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-event-logs-7bfe7baf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WnK6-nlS7wtXDjnv_ySxK

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 evm-event-logs-7bfe7baf
```

Example prompt: Pull the last 500 Transfer events from the USDC contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum — use the signature Transfer(address,address,uint256) and look back 5000 blocks.

## When to prefer this

Choose this endpoint when you need to read and decode recent on-chain events from a specific smart contract across major EVM networks (Base, Ethereum, Arbitrum, Optimism, Polygon, BNB). It is especially useful when you have an event signature to filter by, or want automatic decoding via verified ABI or 4byte resolution. Prefer it over full archive node queries when a bounded, recent block window is sufficient.

## Known failure modes

- Invalid or malformed contract address returns a 400 error
- Unsupported network name returns a validation error
- Block window exceeding 10000 blocks is rejected
- No logs found in the window returns an empty list
- Unrecognized topic0 returns raw logs without decoded fields
- Rate limiting or payment failure returns a 402 response

## How this service works

Read a contract's recent event logs on an EVM network over a bounded block window and decode them. Logs are decoded from an event signature you supply, or from the contract's verified ABI, or by resolving the topic to a name via 4byte. Raw logs are always returned; decoded fields are added where possible.

## Output

Returns a list of raw event logs for the specified contract, each including block number, transaction hash, log index, and topics. Where decoding is possible (via provided event signature, verified ABI, or 4byte topic resolution), decoded field names and values are appended to each log entry.

## 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",
     "required": [
      "address"
     ],
     "properties": {
      "limit": {
       "type": "integer",
       "maximum": 200,
       "minimum": 1,
       "description": "Max decoded logs to return (default 200)"
      },
      "blocks": {
       "type": "integer",
       "maximum": 10000,
       "minimum": 1,
       "description": "Look-back window in blocks (default 2000)"
      },
      "topic0": {
       "type": "string",
       "description": "Event topic0 hash to filter by (alternative to signature), 0x + 64 hex"
      },
      "address": {
       "type": "string",
       "description": "Contract address, 0x + 40 hex"
      },
      "network": {
       "enum": [
        "base",
        "ethereum",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb"
       ],
       "type": "string",
       "description": "EVM network (default base)"
      },
      "signature": {
       "type": "string",
       "description": "Event signature to filter and decode by, e.g. Transfer(address,address,uint256)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-event-logs-7bfe7baf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.agentstools.dev](https://www.zero.xyz/host/api.agentstools.dev/llms.txt)
