> For the complete documentation index, see [llms.txt](https://docs.piku.co/piku/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.piku.co/piku/piku-finance/vaults/morini-fxarbusdtry-vault/mint-and-redeem-fxarbusdtry-at-the-contract-level.md).

# Mint and Redeem FXArbUSDTRY at the Contract Level

The vault follows a share-based model where users hold vault tokens representing their proportional ownership of the underlying assets. Vault pricing can be read directly from the vault contract using the ERC-4626-style <mark style="color:$danger;">`convertToAssets`</mark> function.

Vault Address: <mark style="color:$success;">`0x99351BaEd3d8aB544CCb08aF96A105910fdA71E7`</mark>

When interacting directly via the contract address, make sure to use the correct proxy interface where applicable and verify all input amounts, receiver addresses, and expected outputs before submitting a transaction.

#### Pricing

For the Morini FXArbUSDTRY Vault, the vault price is read directly from the vault contract through the <mark style="color:$danger;">`convertToAssets`</mark> function.

Function: <mark style="color:$danger;">`convertToAssets`</mark>

Input: <mark style="color:$danger;">`convertToAssets(1e6)`</mark>

This returns the amount of underlying assets represented by <mark style="color:$danger;">`1e6`</mark> units of vault shares, allowing the current vault share value to be read at the contract level.

#### Minting / Subscription

For the Morini FXArbUSDTRY Vault, minting is executed directly from the vault contract through the <mark style="color:$danger;">`mint`</mark> function under **Write Contract**.

Function: <mark style="color:$danger;">`mint (0x94bf804d)`</mark>

The <mark style="color:$danger;">`mint`</mark> function mints exactly the specified amount of vault shares to the receiver by depositing the required amount of underlying tokens.

Parameters:

<mark style="color:$danger;">`shares (uint256)`</mark> – Amount of vault shares to mint

<mark style="color:$danger;">`receiver (address)`</mark> – Address that will receive the minted vault shares

Before minting, users should ensure that:

* The vault has sufficient approval to spend the underlying asset.
* The number of shares entered is correct.
* The receiver address is correct.
* The transaction does not exceed any deposit or minting limits.
* The expected underlying asset amount has been reviewed.

The transaction may revert if the full amount of shares cannot be minted due to deposit limits, slippage, insufficient approval, or other vault-level restrictions.

#### Redemption

For the Morini FXArbUSDTRY Vault, redemptions are executed directly from the vault contract through the <mark style="color:$danger;">`redeem`</mark> function under **Write Contract**.

Function: <mark style="color:$danger;">`redeem (0xba087652)`</mark>

The <mark style="color:$danger;">`redeem`</mark> function burns exactly the specified amount of vault shares from the owner/controller and sends the corresponding amount of underlying assets to the receiver.

Parameters:

<mark style="color:$danger;">`shares (uint256)`</mark> – Amount of vault shares to redeem

<mark style="color:$danger;">`receiver (address)`</mark> – Address that will receive the underlying assets

<mark style="color:$danger;">`controller (address)`</mark> – Address that owns or controls the vault shares being redeemed

Redemptions are processed according to the vault’s settlement rules. For FXArbUSDTRY, redemptions are processed daily on Turkish business days with T+0 settlement at the fund level, subject to local public holidays.

Before redeeming, users should verify:

* The amount of vault shares being redeemed.
* The receiver address.
* The controller address.
* The expected amount of underlying assets.
* Whether any pre-request or vault-specific withdrawal requirement applies.

The transaction may revert if the full amount of shares cannot be redeemed due to withdrawal limits, insufficient share balance, missing pre-request requirements, or other vault-level restrictions.

> <mark style="color:violet;">Redemptions are processed at least once per business day. Business days follow the Turkish calendar exceptions may apply on public holidays. Minimum deposit amount is 1,000 USDC and redemption amount is 1,000 FXArbUSDTRY.</mark>
