# depositFor()

{% hint style="danger" %}
Some pools might be in deficit which might effect the ability to withdraw the full amount you have deposited ([more info](https://blog.bancor.network/market-conditions-update-june-19-2022-e5b857b39336)).
{% endhint %}

### Function depositFo&#x72;**()**

```
function depositFor(
        address provider,
        Token pool,
        uint256 tokenAmount
    )
        external
        payable
```

`depositFor` is a function that allows you to deposit tokens into a Bancor pool on behalf of a different address and make sure that the received pool tokens will be sent to that address (and not the transaction initiator).

### **Function Arguments**

| Name        | Type    | Description                                                                            |
| ----------- | ------- | -------------------------------------------------------------------------------------- |
| provider    | address | Indicating the address that will receive the pool tokens at the end of the transaction |
| pool        | Token   | The address of the token deposited into the pool                                       |
| tokenAmount | uint256 | The amount to deposit                                                                  |

{% hint style="info" %}
All pools on Bancor are initiated at 1:1 ratio between reserve to pool token. Once fees are collected, this ratio will change to represent the increased value of pool tokens to reserve. For example, if the ratio is 1 pool token : 2 reserve, it means that the pool token value has doubled since initiation.
{% endhint %}

See [Errors and Troubleshooting](https://docs.bancor.network/developer-guides/write-functions/adding-liquidity/deposit-troubleshooting) for a list of common errors and how to resolve them.
