# eth\_getLogs

**Parameters:**

1. `Object` - The filter options:

* `fromBlock`: `QUANTITY|TAG` - (optional, default: `"latest"`) Integer block number, or `"latest"` for the last mined block or `"pending"`, `"earliest"` for not yet mined transactions.
* `toBlock`: `QUANTITY|TAG` - (optional, default: `"latest"`) Integer block number, or `"latest"` for the last mined block or `"pending"`, `"earliest"` for not yet mined transactions.
* `address`: `DATA|Array`, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.
* `topics`: `Array of DATA`, - (optional) Array of 32 Bytes `DATA` topics. Topics are order-dependent. Each topic can also be an array of DATA with "or" options.
* `blockhash`: `DATA`, 32 Bytes - (optional, **future**) With the addition of EIP-234, `blockHash` will be a new filter option which restricts the logs returned to the single block with the 32-byte hash `blockHash`. Using `blockHash` is equivalent to `fromBlock` = `toBlock` = the block number with hash `blockHash`. If `blockHash` is present in the filter criteria, then neither `fromBlock` nor `toBlock` are allowed.

```
params: [
  {
    topics: [
      "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
    ],
  },
]
```

**Returns:**

*array* - An array of one of the following, depending on the filter type, or empty if there were no changes since the last poll:

* [eth\_newBlockFilter:](/ebs-documentation/services/rpc/supported-networks/aurora/eth_newblockfilter.md)

  blockHash - The 32 byte hash of a block that meets your filter requirements
* [eth\_newPendingTransactionFilter:](/ebs-documentation/services/rpc/supported-networks/aurora/eth_newpendingtransactionfilter.md)

  transactionHash - The 32 byte hash of a transaction that meets your filter requirements
* [eth\_newFilter:](/ebs-documentation/services/rpc/supported-networks/aurora/eth_newfilter.md)

  *address* - An address from which this log originated

  topics - An array of zero to four 32 Bytes DATA of indexed log arguments. In Solidity, the first topic is the hash of the signature of the event (e.g. Deposit(address, bytes32, uint256)), except you declare the event with the anonymous specifier

  data - It contains one or more 32 Bytes non-indexed arguments of the log

  *blockNumber* - The block number where this log was in. null when its a pending log

  *transactionHash* - The hash of the transactions this log was created from. null when its a pending log

  *transactionIndex* - The integer of the transaction's index position that the log was created from. null when it's a pending log

  *blockHash* - The hash of the block where this log was in. null when its a pending log

  *logIndex* - The integer of the log index position in the block. null when it's a pending log

  *removed* - It is true when the log was removed due to a chain reorganization, and false if it's a valid log

**Code Examples:**

```
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "method": "eth_getLogs",
  "params": [
    {
      "topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"],
      "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    }
  ],
  "id": 74,
  "jsonrpc": "2.0"
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://api.ebs.ezat.io/core/api/v1.0/rpc/aurora/mainnet?x-api-key-id=API-KEY-ID&x-api-key=API-KEY", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

// Result
{
  "id":1,
  "jsonrpc":"2.0",
  "result": [{
    "logIndex": "0x1", // 1
    "blockNumber":"0x1b4", // 436
    "blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d",
    "transactionHash":  "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf",
    "transactionIndex": "0x0", // 0
    "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d",
    "data":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"]
    },{
      ...
    }]
}

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ebs.ezat.io/ebs-documentation/services/rpc/supported-networks/aurora/eth_getlogs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
