# eth\_getLogs

**Parameters:**

*object* - The transaction call object which contains the following fields:

&#x20;    *fromBlock* - string - (optional, default: "latest") The block number as a string in hexadecimal format or tags. The supported tag values include **earliest** for the earliest/genesis block, **latest** for the latest mined block, **pending** for the pending state/transactions, **safe** for the most recent secure block, and **finalized** for the most recent secure block accepted by more than 2/3 of validators. **safe** and **finalized** are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

&#x20;    *toBlock* - string - (optional, default: "latest") The block number as a string in hexadecimal format or tags. The supported tag values include **earliest** for the earliest/genesis block, **latest** for the latest mined block, **pending** for the pending state/transactions, **safe** for the most recent secure block, and **finalized** for the most recent secure block accepted by more than 2/3 of validators. **safe** and **finalized** are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

&#x20;    *address* - string - (optional) The contract address or a list of addresses from which logs should originate

&#x20;    *topics* - string - (optional) An array of DATA topics and also, the topics are order-dependent. [Visit this official page to learn more about topics](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter)

&#x20;    *blockHash* - string - (optional) With the addition of EIP-234, blockHash is a new filter option that restricts the logs returned to the block number referenced in the blockHash. Using the blockHash field is equivalent to setting the fromBlock and toBlock to the block number the blockHash references. If blockHash is present in the filter criteria, neither fromBlock nor toBlock is allowed

**Returns:**

*result* - An array of log objects, or an empty array if nothing has changed since last poll

&#x20;    *address* - string - The address from which this log originated

&#x20;    *topics* - array - An array of (0 to 4) 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 declared the event with the anonymous specifier)

&#x20;    *data* - string - It contains one or more 32 Bytes non-indexed arguments of the log

&#x20;    *blockNumber* - string - The block number where this log was in. null when its pending. Null when it's a pending log

&#x20;    *transactionHash* - string - The hash of the transaction from which this log was created from. null if the log is pending

&#x20;    *transactionIndex* - string - The integer of the transaction's index position that the log was created from. Null when it's a pending log

&#x20;    *blockHash* - string - The hash of the block where this log was in. Null when it's a pending log

&#x20;    *logIndex* - string - The integer of the log index position in the block. Null when it's a pending log

&#x20;    *removed* - boolean - It is true if 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": [
    {
      "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    }
  ],
  "id": 1,
  "jsonrpc": "2.0"
});

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

fetch("https://api.ebs.ezat.io/core/api/v1.0/rpc/bsc/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));
```


---

# 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/binance-smart-chain/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.
