> 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/developer-guides/write-functions/surplus-migration/withdrawpol.md).

# withdrawPOL()

```solidity
    function withdrawPOL(Token pool) external returns (uint256);
```

This function allows to disable trading in pools and migrate any available surplus to the CarbonPOL contract.&#x20;

The function is public and can be called by any caller.

Only tokens that are on the whitelist AND in surplus can be effected by this function.

{% hint style="info" %}
It is recommended to call this function only on pools that are in surplus state and part of the [approved whitelist](/developer-guides/read-functions/surplus-whitelist/protectedtokenwhitelist.md)
{% endhint %}

### **Function Arguments**

<table><thead><tr><th width="162">Name</th><th width="114.66666666666663">Type</th><th>Description</th></tr></thead><tbody><tr><td>pool</td><td>Token</td><td>The pool (which is also the token) address to disable and/or migrate surplus </td></tr></tbody></table>

### Example

{% code overflow="wrap" %}

```solidity
withdrawPOL(
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 //token address
)

```

{% endcode %}
