# evm

## Description

The `isPrivateKey` function is an asynchronous function used to validate whether a given string is a valid private key for EVM chains.&#x20;

It utilizes the ethers.js library to create an Ethereum wallet instance using the provided private key and checks if the derived wallet address is a valid Ethereum address.

## Parameters

| Parameter    | Data Type | Description                      |
| ------------ | --------- | -------------------------------- |
| `privateKey` | string    | The private key to be validated. |

## Response

| Field          | Data Type | Description                                                       |
| -------------- | --------- | ----------------------------------------------------------------- |
| `return value` | boolean   | Indicates whether the private key is valid (true) or not (false). |

## Example Request and Response

### Prerequisites

Before making requests with NO.AI SDK, you must have it installed.

You can install NO.AI SDK using either **`npm`** or **`yarn`**. Use the following commands to install NO.AI SDK:

```sh
npm install @nest25/wallet-lib
OR
yarn add @nest25/wallet-lib
```

### Request

Here is an example of how to make a `isPrivateKey` request using the NO.AI SDK:

```javascript
const { Wallet } = require('@nest25/wallet-lib');

const wallet = new Wallet('');

async function main() {
    const response = await wallet.isPrivateKey('ava', 'your-private-key');
    console.log("response-->", response);
}

main();

```

### Response

{% code overflow="wrap" %}

```sh
   response--> false
```

{% endcode %}

## Use Cases

* **Validating a private key:** By invoking this function with a private key, you can check if the provided private key is valid for Ethereum.
* **Checking address validity:** The function uses the derived wallet address to determine the validity of the private key.
* **Handling errors:** If any error occurs during the creation of the wallet or address validation, the function will catch the error and return `false`, indicating that the private key is not valid.
