# TokensWithdrawn()

### event TokensWithdrawn()

This event is emitted by withdrawals from Bancor.&#x20;

```javascript
event TokensWithdrawn(
    bytes32 indexed contextId,
    address indexed provider,
    Token indexed token,
    uint256 tokenAmount,
    uint256 poolTokenAmount,
    uint256 externalProtectionBaseTokenAmount,
    uint256 bntAmount,
    uint256 withdrawalFeeAmount
);
```

| Parameter Name                    | Type    | Description                                                                               |
| --------------------------------- | ------- | ----------------------------------------------------------------------------------------- |
| contextId                         | bytes32 | Unique identifier for the specific transaction (can be used for grouping multiple events) |
| provider                          | address | The address withdrawing                                                                   |
| token                             | Token   | The address of the withdrawn token                                                        |
| tokenAmount                       | unit256 | The number of tokens received from the withdrawal                                         |
| poolTokenAmount                   | unit256 | The number of Bancor pool tokens (bnTokens) burned by the withdrawal                      |
| externalProtectionBaseTokenAmount | unit256 | The number of tokens received from an External IL Protection Vault                        |
| bntAmount                         | unit256 | The number of BNT tokens received to compensate for incurred impermanent loss             |
| withdrawalFeeAmount               | unit256 | The amount of tokens taken for the withdrawal fee                                         |

### Uses

This event can be used to:

* Monitor withdrawals

### Triggered By

This event is triggered by the following functions:

* withdraw()
