> For the complete documentation index, see [llms.txt](https://docs.bancor.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bancor.network/guides/bancor-etherscan-guide/withdrawing-tokens/initiating-the-withdrawal.md).

# Initiating the Withdrawal

Initiating the withdrawal requires depositing your pool tokens into the pending withdrawal contract, starting the cooldown period.&#x20;

The process consists of 3 steps:

1. [Determine the number of pool tokens to withdraw](#1.-identify-the-number-of-pool-tokens-to-withdraw)
2. [Approve](#2.-approve)
3. [Initiate the withdrawal](#3.-initiate-the-withdrawal-begin-cooldown)

### 1. Determine the number of pool tokens to withdraw

{% hint style="info" %}
If you are withdrawing your entire balance, you can skip this step and use the total number of pool tokens in your wallet in the WEI format in the following steps.&#x20;
{% endhint %}

This step will explain how to calculate the number of bnTokens you need to withdraw to receive a specific number of tokens. &#x20;

* Visit the `BancorNetworkInfo` [on etherscan](https://etherscan.io/address/0x8E303D296851B320e6a697bAcB979d13c9D6E760#readProxyContract)
* Execute the `underlyingToPoolToken` function (this is a Read function)

![](/files/Oo83yVjVM0zJkIUVd6yL)

`Input variable`

| Name   | Type    | Description                                                                 |
| ------ | ------- | --------------------------------------------------------------------------- |
| pool   | Token   | The address of the underlying token                                         |
| amount | uint256 | The amount of underlying token you would like to withdraw (in `WEI` format) |

{% hint style="info" %}
For ETH use *0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE*
{% endhint %}

`Output response`

| Name            | Type    | Description                                                    |
| --------------- | ------- | -------------------------------------------------------------- |
| poolTokenAmount | uint256 | The amount of bnToken representing the underlying token amount |

Save the value as this represent the input amount needed to use in the next steps

### 2. Approve

In order for the contract to interact with the tokens in your wallet and perform the transaction, an `Approve` must be set first for the contract.

* Visit the relevant pool token token contract, for example: \
  [bnBNT](https://etherscan.io/token/0xAB05Cf7C6c3a288cd36326e4f7b8600e7268E344#writeContract) | [bnETH](https://etherscan.io/token/0x256Ed1d83E3e4EfDda977389A5389C3433137DDA#writeContract) | [bnDAI](https://etherscan.io/token/0x06CD589760Da4616a0606da1367855808196C352#writeContract) | [bnLINK](https://etherscan.io/token/0x516c164A879892A156920A215855C3416616C46E#writeContract)
* Execute the `Approve` function (this is a Write function)&#x20;

![](/files/KvRqRZZKXS1qxOrf545q)

<table data-header-hidden><thead><tr><th width="220"></th><th></th></tr></thead><tbody><tr><td>spender</td><td>The contract address of the <code>BancorNetwork</code> <a href="/pages/iStK5vfPhzSkgGPem4ru#the-following-network-contracts-are-required">found here</a></td></tr><tr><td>value</td><td>The amount you would like to approve (it can be identical or more than the amount you wish to withdraw, BUT NOT LESS) in <code>WEI</code> format as <a href="/pages/ptmiyfiWw9tCRpQ3xIH6">explained here</a></td></tr></tbody></table>

{% hint style="warning" %}
The number of tokens you approve represents the bnToken you would like to liquidate
{% endhint %}

* Click `Write` to sign the `Approve` in your wallet

### 3. Initiate the withdrawal (begin cooldown)

This step will explain how to call the initiate cooldown function

* Visit `BancorNetwork` contract [on etherscan](https://etherscan.io/address/0xeEF417e1D5CC832e619ae18D2F140De2999dD4fB#writeProxyContract)
* Execute the `initWithdrawal` function (this is a Write function)&#x20;

![](/files/e2Y9tt1DyWYcq1ZqPoQI)

`Input variable`

| Name            | Type    | Description                                                                                                        |
| --------------- | ------- | ------------------------------------------------------------------------------------------------------------------ |
| poolToken       | Token   | The bnToken address ([found here](broken://pages/iStK5vfPhzSkgGPem4ru#the-following-pooltokens-will-be-available)) |
| poolTokenAmount | uint256 | The amount of bnTokens to liquidate ([found in step 1](#1.-identify-the-amount-to-liquidate))                      |

This will initiate the cooldown process and allow to [complete the withdrawal](/guides/bancor-etherscan-guide/withdrawing-tokens/completing-the-withdrawal.md)
