> For the complete documentation index, see [llms.txt](https://cetus-1.gitbook.io/cetus-developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cetus-1.gitbook.io/cetus-developer-docs/developer/via-sdk-v2/sdk-modules/cetusprotocol-vaults-sdk/vest.md).

# Vest

**1. Get Vault's Vest Information List**

Get vest information for multiple vaults.

```typescript
const vestInfoList = await sdk.Vest.getVaultsVestInfoList([vaultId])
```

**2. Get Single Vault's Vest Information**

Get vest information for a specific vault.

```typescript
async getVaultsVestInfo(vault_id: string, force_refresh = true): Promise<VaultsVestInfo>
```

**3. Get User's Vault Vest NFT List**

Get all Vault Vest NFTs owned by the specified address. Each NFT contains the following information:

* id: NFT ID
* index: Index
* vault\_id: Vault ID
* lp\_amount: LP token amount
* redeemed\_amount: Redeemed amount
* impaired\_a: Token A impairment
* impaired\_b: Token B impairment
* period\_infos: Period information
* url: NFT URL
* name: NFT name
* vester\_id: Vester ID

```typescript
const vestNFTList = await sdk.Vest.getOwnerVaultVestNFT(senderAddress)
```

**4. Build Redeem Transaction**

Build the redeem transaction payload. &#x20;

Parameter description:

* options: Array of redeem options, each option contains:
  * vault\_id: Vault ID
  * vesting\_nft\_id: Vesting NFT ID
  * period: Period
  * coin\_type\_a: Token A type
  * coin\_type\_b: Token B type
* tx: Optional transaction object

```typescript
 const vestInfo = await sdk.Vest.getVaultsVestInfo(vaultId)
const tx = await sdk.Vest.buildRedeemPayload([
  {
    vault_id: vaultId,
    vesting_nft_id: '0x...',
    period: 1,
    coin_type_a: vestInfo.coin_type_a,
    coin_type_b: vestInfo.coin_type_b,
  }
])

// Execute transaction
const transferTxn = await sdk.FullClient.executeTx(send_key_pair, tx, false)
```

####
