# deposit()

{% 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 **deposit()**

{% code title="BancorNetwork.sol" %}

```solidity
    function deposit(Token pool, uint256 tokenAmount)
        external
        payable
```

{% endcode %}

`deposit` is a function that allows you to deposit tokens into a Bancor liquidity pool.

### **Function Arguments**

| Name        | Type    | Description                                      |
| ----------- | ------- | ------------------------------------------------ |
| pool        | Token   | The address of the token deposited into the pool |
| tokenAmount | uint256 | The amount to deposit                            |

{% hint style="success" %}
Bancor v3 use the Token address to indicate the pool mapping. Meaning, when asked to provide a `pool` address, you can use the `token` address.
{% endhint %}

{% hint style="info" %}
All pools on Bancor are initiated with a 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 %}

### BNT Deposits

When you `deposit` BNT into the Bancor pool, you will receive vBNT equal to the number of pool tokens.&#x20;

Bancor v3 supports infinity pools and deposits as a result. However, the trading liquidity is limited based on the `poolFundingLimit()` function.

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.&#x20;
