> For the complete documentation index, see [llms.txt](https://docs.satay.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.satay.finance/blocks/moveposition.md).

# MovePosition Block

## Overview

The `moveposition_block::moveposition_block` module contains the block implementation for MovePosition. Modules in the `blocks` package are modules that contain convenience functions that interface with an underlying protocol(e.g. echelon, moveposition, etc). These block functions are used by [concrete strategy implementations](https://github.com/Canopyxyz/canopy-docs/blob/master/satay/strategy-implementations/README.md) to interact with an underlying protocol, instead of interacting with it directly.

## Public Functions

### Lending Operations

* `lend<CoinType>(account: &signer, packet: vector<u8>)`: Lends coins to the protocol using the provided packet data.
* `borrow<CoinType>(account: &signer, packet: vector<u8>)`: Borrows coins from the protocol using the provided packet data.
* `redeem<CoinType>(account: &signer, packet: vector<u8>)`: Redeems previously lent coins using the provided packet data.
* `repay<CoinType>(account: &signer, packet: vector<u8>)`: Repays borrowed coins using the provided packet data.

### Account Information

* `get_collateral_balance<CoinType>(account: address): u64`: Returns the collateral balance for a specific coin type in an account.
