> For the complete documentation index, see [llms.txt](https://brian-broeking.gitbook.io/honey-defi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brian-broeking.gitbook.io/honey-defi/reference/api-reference/wrappers.md).

# Wrappers

On-chain objects wrappers

### Client

{% embed url="<https://github.com/honey-labs/honey-sdk/blob/master/src/wrappers/client.ts>" %}

Very simple wrapper that should mostly only be used for testing. The client wrappers gives the wallet linked to it the ability to initialize new markets.

### Market

{% embed url="<https://github.com/honey-labs/honey-sdk/blob/master/src/wrappers/market.ts>" %}

Another simple wrapper that should only be used for testing or the initial setup of markets. HoneyMarket only has one function that initializes a reserve that is denominated by the token mint desired (USDC, SOL, etc)&#x20;

### User

{% embed url="<https://github.com/honey-labs/honey-sdk/blob/master/src/wrappers/user.ts>" %}

This is where the bulk of the operations occur. Depositing, withdrawing of both NFT and base tokens as well as borrow and repayment of loans happens within this wrapper. The wallet address associate with this wrapper also derives each of the auxiliary accounts needed for the protocol, obligation state, NFT collateral state, etc.

### Reserve

{% embed url="<https://github.com/honey-labs/honey-sdk/blob/master/src/wrappers/reserve.ts>" %}

The HoneyReserve holds most of the general data having to do with the initialization configuration of pools to borrow against and current state of the pool (total loans, deposits, uncollected fees, etc)
