> For the complete documentation index, see [llms.txt](https://v1.docs.blueberry.garden/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v1.docs.blueberry.garden/developer-guides/contracts.md).

# Contracts

## Blueberry Bank Components

### Blueberry Bank product is mainly composed of 5 components:

1. [**Blueberry Bank Contract:**](/developer-guides/contracts/blueberry-bank/introduction.md) the main contract that stores users\` positions and tracks the borrowing of tokens.
2. [**Blueberry Oracle Contracts**](/developer-guides/contracts/oracle.md)**:** The contracts that identify position values and token prices.
3. [**Blueberry Spell Contract**](/developer-guides/contracts/spell.md)**:** the contracts which define the specific deployment of the strategy in the spell. E.g. The contract interacts with DEXes and wrapper contracts to open/close users' positions.
4. [**Blueberry Vault Contracts**](/developer-guides/contracts/vault.md)**:**&#x20;
   1. [**Blueberry SoftVault Contracts**](/developer-guides/contracts/vault/softvault.md)**:** The contracts that allow users to lend tokens (ERC20) and earn lending interest (interest rate is reflected from how much users borrow the token (Active utilization rate)). This is using the underlying Blueberry Money Market (Compound Fork) [Lending Protocol](/lending-protocol/overview.md)
   2. [**Blueberry HardVault Contracts**](/developer-guides/contracts/vault/hardvault.md)**:** The contracts that allow users to lock LP (ERC1155) tokens as collateral.
5. [**Blueberry Wrapper Contracts**](/developer-guides/contracts/wrapper.md)**:** the contracts that handle the farming process (i.e. deposit into Masterchef contract) and wrap/unwrap user's collateral and forward wrapped tokens to bank/spells.

{% content-ref url="/pages/oqpdT3035GOpUSFNi1js" %}
[Deployed Contracts](/developer-guides/deployed-contracts.md)
{% endcontent-ref %}
