Withdraw

Overview

Byzantine provides a seamless way to deposit assets and earn rewards through restaking. This guide explains how to interact with Byzantine vaults for withdrawals.

Withdrawing your assets from Byzantine is a simple two-step process that ensures security through a waiting period.

Withdrawal Flow

Step-by-Step Guide

Step 1: Request Your Withdrawal

Choose one of these methods based on what you want to specify:

Method
Use When
Function

By Assets

You know exactly how many tokens you want to withdraw

withdraw(assets, receiver, owner)

By Shares

You know exactly how many shares you want to redeem

redeem(shares, receiver, owner)

Where:

  • assets: Number of tokens to withdraw

  • shares: Number of vault shares to redeem

  • receiver: Address that will receive the withdrawn assets

  • owner: Address that owns the shares (usually your address)

Step 2: Complete Your Withdrawal

After the waiting period has passed:

  1. Call completeWithdrawal(requestId)

  2. Your assets will be transferred to the receiver address you specified

What You Should Know

⏱️ Waiting Period

  • Every withdrawal has a mandatory waiting period

  • The duration varies by protocol

⚠️ Slashing Risk

  • During the waiting period, your withdrawal amount may be reduced if the protocol experiences slashing

  • This mechanism protects the protocol and other users

🔍 Tracking Your Withdrawals

  • Monitor the status of your pending withdrawals:

    • getWithdrawalRequest(requestId): Get details of a specific request

    • getQueuedWithdrawalRequests(staker): View all your pending withdrawals

Technical Reference

// Request withdrawal by specifying asset amount
function withdraw(
    uint256 assets,
    address receiver,
    address owner
) external returns (uint256 shares);

// Request withdrawal by specifying share amount
function redeem(
    uint256 shares,
    address receiver,
    address owner
) external returns (uint256 assets);

// Complete the withdrawal after waiting period
function completeWithdrawal(
    bytes32 requestId
) external;

Additional Resources

For specific withdrawal instructions:

Last updated