# sol

## Description

The `estimateFee` function is used to estimate the transaction fee for a given event in a specified environment.

## Parameters

| Name    | Type   | Description                                                                                    |
| ------- | ------ | ---------------------------------------------------------------------------------------------- |
| `event` | string | The name of the event for which to estimate the transaction fee                                |
| `env`   | string | The name of the environment (e.g., testnet, mainnet) for which to estimate the transaction fee |

## Response

| Name     | Type   | Description                                                                                               |
| -------- | ------ | --------------------------------------------------------------------------------------------------------- |
| `code`   | number | A code indicating the success or failure of the function (1 = success, 0 = failure)                       |
| `result` | string | The estimated transaction fee (in a string format) if the event is supported and the environment is valid |
| `error`  | string | The error message if the function fails to estimate the transaction fee                                   |

## 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 `estimateFee` request using the NO.AI SDK:

{% code overflow="wrap" %}

```javascript
// import Nest SDK
import { Wallet } from 'nest25/wallet-lib';

// Create a new instance of the Wallet class
const wallet = new Wallet();

const main = async () => {
  // estimate the fee for a transfer
  const response = await wallet.estimateFee('solana', 'transfer');
  // print the response
  console.log(response);
};

main();
```

{% endcode %}

### Response

{% code overflow="wrap" %}

```sh
  { code: 1, result: '0.000005' }
```

{% endcode %}

## Use Cases

* **Building Applications:** Developers building applications that interact with blockchain networks can use this function to estimate the transaction fee for a specific event in a specified environment.
* **Performance Optimization:** The function can be used by developers to optimize the performance of their applications by choosing the most cost-effective event to perform based on the estimated transaction fee.

###
