# What is the architecture?

Each supply/borrow currency pair is managed in a single vault, for example a wstETH-USDC vault, where a user can supply wstETH and borrow USDC.&#x20;

Vaults facilitate a few key functions, including:

* **User actions:** Allowing the users to interact with the vault through 'deposit', 'borrow', 'repay', 'withdraw' and 'claimRewards' actions
* **Lender Strategies:** deploying user assets into the lenders where the best rates can be achieved
* **Farm Strategies:** deploying previously dormant capital (active capital) to earn interest on the users behalf
* **Rebalancing:** ensuring the vault position is always healthy by borrowing and repaying lenders when needed
* **Harvesting**: recognising earnings from the Farm Optimisations and enabling distribution to users
* **Committing:** updating user balances to recognise their latest position, including earnings from the farm strategy
* **Liquidations:** enabling user funds to be liquidated when the users position becomes unhealthy
* **Tokenization:** tokenizing user supply and debt positions
