> 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/spell/introduction.md).

# Introduction

These contracts are designed to facilitate borrowing, lending, and collateral management functionalities for deployments into outside protocols while utilizing the Blueberry Protocol

* [BasicSpell](/developer-guides/contracts/spell/basicspell.md) - Abstract contract that provides a set of functions to be implemented by its inheriting contracts.
* [AuraSpell](/developer-guides/contracts/spell/auraspell.md) - Contract that provides the functions to be used when interacting with Balancer Pools and stakes the BPT token on Aura.
* [ConvexSpell](/developer-guides/contracts/spell/convexspell.md) - Contract that provides the functions to be used when interacting with Curve Pools and stakes the LP token on Convex.&#x20;
* [IchiSpell](/developer-guides/contracts/spell/ichispell.md) - Contract that provides a set of functions to be used when interacting with the Ichi Vault ecosystem.&#x20;
* [LongShortSpell](/developer-guides/contracts/spell/longshortspell.md) - Contract that provides the functions to allow a user to go directionally long or short a specific asset.
