> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# net_peerCount | Polygon

> Polygon API method that returns the number of peers connected to the node. Call net_peerCount on Polygon through Chainstack nodes.

Polygon API method that returns the number of peers connected to the node. This method can be useful for developers who want to monitor the connectivity of their node and ensure that it is functioning as expected. By checking the number of connected peers, developers can verify that their node is receiving updates and is properly synchronized with the network.

## Parameters

* `none`

## Response

* `quantity` — an integer value indicating the current number of peers connected to the node

## `net_peerCount` code examples

<CodeGroup>
  ```javascript ethers.js theme={"system"}
  const ethers = require('ethers');
  const NODE_URL = "CHAINSTACK_NODE_URL";
  const provider = new ethers.JsonRpcProvider(NODE_URL);

  const peersCount = async () => {
    const peers = await provider.send("net_peerCount");
    console.log(`Peers connected: ${peers}`);
  }

  peersCount()
  ```

  ```python web3.py theme={"system"}
  from web3 import Web3  
  node_url = "CHAINSTACK_NODE_URL"
  web3 = Web3.HTTPProvider(node_url)

  peers = web3.provider.make_request('net_peerCount', [])
  print(peers)
  ```
</CodeGroup>

## Use case

One practical use case for the `net_peerCount` method is to monitor the number of peers connected to a node and take some action if the number drops below a certain threshold. For example, a developer might want to send a notification to check the node if the peer count is low for more than 10 minutes.

Here is an implementation of this concept using ethers.js:

```javascript index.js theme={"system"}
const ethers = require("ethers");
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const MIN_PEER_COUNT = 5; // Set the minimum number of peers.
let lowPeerCountTime = null; // Track the time when peer count first dropped below the threshold.

/**
 * Checks the number of connected peers and sends a notification if the peer count has been low for more than 10 minutes.
 */
function checkPeerCount() {
  provider.send("net_peerCount").then((peerCountHex) => {
    const peerCount = Number(peerCountHex); // net_peerCount returns a hex string; convert it to a number.
    console.log(`Number of connected peers: ${peerCount}`);

    if (peerCount < MIN_PEER_COUNT) {
      // Peer count has dropped below the threshold.

      if (lowPeerCountTime === null) {
        // This is the first time we've seen a low peer count.
        lowPeerCountTime = Date.now();
        console.log(`Low peer count detected at ${new Date(lowPeerCountTime)}.`);

      } else if (Date.now() - lowPeerCountTime > 10 * 60 * 1000) {
        // Peer count has been low for more than 10 minutes, send a notification.
        console.log('Sending notification to check the node.');
        // TODO: Add code here to send a notification, e.g. via email or SMS.

      }
    } else {
      // Peer count is above the threshold.
      lowPeerCountTime = null;
      
    }
  });
}

// Check the peer count once when the script starts.
checkPeerCount();

// Check the peer count every minute.
setInterval(checkPeerCount, 60 * 1000);
```

This code defines a function called `checkPeerCount` that retrieves the current number of connected peers by sending the `net_peerCount` RPC request with `provider.send`. Since `net_peerCount` returns a hexadecimal string, the function converts it to a number with `Number()`. The function then checks whether the peer count is below a minimum threshold (defined as `MIN_PEER_COUNT`), and takes appropriate action based on the result.

If the peer count is below the threshold and this is the first time the count has dropped below the threshold, the function records the current time and logs a message to the console. If the peer count remains below the threshold for more than 10 minutes, the function logs a message to the console indicating that a notification should be sent and optionally sends a notification via email or SMS.

If the peer count is above the threshold, the function resets the `lowPeerCountTime` variable to null.

By running the `checkPeerCount` function periodically, we can ensure that we are notified if the peer count drops below a certain threshold and stays low for an extended period of time, which can indicate issues with the node's connectivity.


## OpenAPI

````yaml openapi/polygon_node_api/client_info/net_peerCount.json POST /a9bca2f0f84b54086ceebe590316fff3
openapi: 3.0.0
info:
  title: net_peerCount
  version: 1.0.0
  description: This is an API example for net_peerCount.
servers:
  - url: https://nd-828-700-214.p2pify.com
security: []
paths:
  /a9bca2f0f84b54086ceebe590316fff3:
    post:
      tags:
        - upload
      summary: net_peerCount
      operationId: peerCount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  default: 1
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: net_peerCount
      responses:
        '200':
          description: The peer count information
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: string

````