> For the complete documentation index, see [llms.txt](https://docs.solv.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solv.finance/developer-guide/smart-contracts/contract-architecture.md).

# SolvBTC Contract

<figure><img src="/files/KyMmjzmtkHOVKMYjakli" alt=""><figcaption></figcaption></figure>

## Router contract functions

#### Code URL

&#x20;<https://github.com/solv-finance/SolvBTC/blob/main/contracts/SolvBTCRouter.sol>

### Deposit

```solidity
/**
 * Subscribe with payment currency (i.e. WBTC) and receive SolvBTC.
 * @param poolId: The pool ID corresponding to SolvBTC or SolvBTC LST.
 * @param currencyAmount: Amount of currency to be deposited.
 * @return shareValue: Amount of SolvBTC to be received after subscription.
 */
function createSubscription(bytes32 poolId, uint256 currencyAmount) external returns (uint256 shareValue);
```

### Withdraw Request

```solidity
/**
 * Redeem with SolvBTC and receive currency (i.e. WBTC).
 * @param poolId: The pool ID corresponding to SolvBTC or SolvBTC LST.
 * @param redeemAmount: Amount of SolvBTC to be withdrawn.
 * @return redemptionId: TokenId of the redemption SFT to be received after redemption.
 */
function createRedemption(bytes32 poolId, uint256 redeemAmount) external returns (uint256 redemptionId);
```

### Revoke Withdraw Request

```solidity
/**
 * Revoke redemption with target the tokenId of redemption SFT and receive SolvBTC 
 * with an equivalent amount of the value of the redemption SFT token.
 * @param poolId: The pool ID corresponding to SolvBTC or SolvBTC LST.
 * @param redemptionId: TokenId of the redemption SFT to be revoked.
 */
function cancelRedemption(bytes32 poolId, uint256 redemptionId) external;
```

## Withdraw Functions

#### Code URL

<https://github.com/solv-finance/solv-contracts-v3/blob/main/sft/abilities/contracts/multi-repayable/MultiRepayableDelegate.sol>

### WithDraw(Claim)

```solidity
function claimTo(address to_, uint256 tokenId_, address currency_, uint256 claimValue_) external
```
