> For the complete documentation index, see [llms.txt](https://docs.noderpc.xyz/node-rpc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.noderpc.xyz/node-rpc/ethereum-api-endpoints/eth_newblockfilter.md).

# eth\_newBlockFilter

Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call [eth\_getFilterChanges](/node-rpc/ethereum-api-endpoints/eth_getfilterchanges.md).

## **Parameters**

None

## Returns

&#x20;`QUANTITY` - A filter id.

## Example

*NOTE:* In this example we are using public Ethereum endpoint. Ideally, for your own projects, you should use your own endpoint, which you can generate for free by connecting to your wallet [here](https://www.noderpc.xyz/).

{% tabs %}
{% tab title="ethers" %}

### Query

*NOTE:* `ethers` used below is a well-known web3 library, check it out [here](https://github.com/ethers-io/ethers.js/).

```javascript
import { ethers } from 'ethers';

const provider =
  new ethers
    .providers
    .JsonRpcProvider("https://www.noderpc.xyz/rpc-mainnet/public")

const fetchLogs = async ()=> {
  const filterId = await provider.send("eth_newBlockFilter");
  const logs = await provider.send("eth_getFilterChanges", [filterId]);
  console.log(logs);
}
fetchLogs();

```

### Result

```json
[]
```

{% endtab %}
{% endtabs %}

###
