# SDK

## Mint SolvBTC/LSTs

```typescript
createSubscription(poolId: string,currencyAmount: string): Promise<ContractTransaction>;
```

### Parameters

```typescript
poolId:string; // SolvBTC or SolvBTC.LSTs pool id
currencyAmount: string; // The payment currency quantity of the current pool. 
If the pool id is SolvBTC.LST, the currency is SolvBTC
```

### Result

Returns the Evm chain transaction object, which defaults to pending status

## Request Redemption

```typescript
createRedemption(poolId: string, redeemValue: string): Promise<ContractTransaction>;
```

### Parameters

```typescript
poolId: string; //SolvBTC or SolvBTC.LSTs pool id
redeemValue: string; // redemption quantity 
```

### Result

Returns the Evm chain transaction object, which defaults to pending status

Notice: After the operation is successful, the user will receive a redemption SFT

## Cancel Redemption

```typescript
cancelRedemption(poolId: string, openFundRedemptionId: string): Promise<ContractTransaction>;
```

### Parameters

```typescript
poolId: string; //SolvBTC or SolvBTC.LSTs pool id
openFundRedemptionId: string; //User’s redemption SFT ID
```

### Result

Returns the Evm chain transaction object, which defaults to pending status

## Claim

Get the withdrawable amount

```typescript
claimableValue(tokenId: string | number): Promise<string>;
```

### parameters

```typescript
tokenId: string | number;  //User’s redemption SFT ID
```

### Result

Current withdrawal amount

### Claim

```typescript
claimTo(params: ClaimToParams): Promise<ContractTransaction>;
```

### Parameters

```typescript
type ClaimToParams = {
to: string;  // Withdrawal address
tokenId: string | number; //User’s redemption SFT ID
currency: string; //The contract address of the withdrawal asset 
amount: string | number; // Withdraw amount
}
```

### Result

Returns the Evm chain transaction object, which defaults to pending status

## Set Pool Nav

### setSubscribeNav

```typescript
setSubscribeNav(poolId: string, time: string, nav: string): Promise<ContractTransaction>;
```

### Parameters

```typescript
poolId: string; //SolvBTC or SolvBTC.LSTs pool id
nav: string; //nav value
```

### Result

Returns the Evm chain transaction object, which defaults to pending status

### setRedeemNav

```typescript
setRedeemNav( poolId: string, redeemSlot: string, nav: string, currencyBalance: string ): Promise<ContractTransaction>;
```

### Parameters

```typescript
poolId: string; //SolvBTC or SolvBTC.LSTs pool id
redeemSlot: string; //Redemption SFT batch no.
nav: string; //nav value
currencyBalance: string; // Total amount managed by the pool
```

### Result

Returns the Evm chain transaction object, which defaults to pending status

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solv.finance/developer-guide/solvbtc-and-solvbtc.lsts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
