Receipt Token

This feature is currently only available on Ethereum mainnet

In v1.1 of the Karak Restaking contracts, we introduce the ability for a staker to withdraw their deposit receipt token from the VaultSupervisor . To withdraw the underlying asset, the holder of the receipt token must return the receipt token to the VaultSupervisor and wait the WITHDRAW_DELAY period to withdraw the underlying token. The address of the receipt token is the address of the vault.

Withdrawing Receipt Token

A staker can withdraw their receipt tokens, also known as shares, after depositing by calling this function on the VaultSupervisor. You can find the vault addresses on Contract Addresses

function gimmieShares(IVault vault, uint256 shares) public

Depositing and withdrawing receipt tokens at once

A staker can deposit and immediately get the receipt tokens in the same tx by calling the below function. The minSharesOut field is the minimum number of shares that the vault should mint else the transaction will revert.

function depositAndGimmie(IVault vault, uint256 amount, uint256 minSharesOut)

Returning Receipt Token

To withdraw, the staker has to return the receipt token to the VaultSupervisor by calling

function returnShares(IVault vault, uint256 shares)

Last updated