# transfer

## Description

The `estimateFee` function is used to estimate the transaction fee for different types of ERC-20 token transfers.&#x20;

## Parameters

| Parameter           | Data Type | Description                                                                   |
| ------------------- | --------- | ----------------------------------------------------------------------------- |
| `blockchain`        | string    | The blockchain on which the ERC721 token exists.                              |
| `contract`          | string    | The contract type, in this case, 'erc721'.                                    |
| `functionType`      | string    | The type of function for which to estimate the fee, in this case, 'transfer'. |
| `env`               | string    | The environment or network of the blockchain.                                 |
| `amount (optional)` | number    | The amount of ERC20 tokens to be transferred.                                 |

## Response

| Field          | Data Type | Description                                                           |
| -------------- | --------- | --------------------------------------------------------------------- |
| `code`         | number    | The response code indicating the success or failure of the operation. |
| `result`       | number    | The estimated fee for the contract deployment.                        |
| `VLRYEstimate` | number    | The estimated fee in VLRY (virtual asset).                            |
| `USDEstimate`  | number    | The estimated fee in USD (United States Dollar).                      |

## 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:

<br>

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

### Request

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

```javascript
const { Nft } = require('@nest25/evm-chains-lib');

const nft = new Nft('testnet');

async function main() {
    const result = await nft.estimateFee('eth', 'erc721', 'transfer', 1);
    console.log("result", result);
}

main();
```

### Response

```sh
 result {
        code: 1,
        result: 0.00823501830131858,
        VLRYEstimate: 103.73663534911066,
        USDEstimate: 15.560495302366599
      }
```

### Use Cases

* **User Wallet Integration**: The `estimateFee` function can be used to provide users with an estimated transaction fee before they initiate a token transfer. This gives users the ability to make an informed decision about their transaction.
* **DApp Transaction Confirmation**: In a decentralized application (DApp), when a user initiates a token transfer, the DApp can call this function to display the estimated fee to the user before proceeding with the transaction. This enhances user experience and ensures transparency.
* **Transaction Cost Comparison**: For platforms or services that support multiple blockchain networks, this function can be used to compare transaction costs across different blockchains. This helps users choose the most cost-effective blockchain for their token transfers.
