Drawing from years of experience with BSC staking/withdrawal, handling ETH withdrawals in the Tranchess protocol comes naturally. The Tranchess Fund has an inherent two-step asynchronous procedure for QUEEN Redemption, which was disabled in line with Ethereum’s timeline. With the Shanghai/Capella update now completed, we could finally bring back the last piece of the puzzle, unleashing the full power for users and the protocol itself.
Let’s start by reviewing the traditional redemption workflow for regular Tranchess Funds:
- Redeem: As there is no staking involved, all funds are readily available for redemption. This single step atomically swaps a user’s QUEEN token with the underlying asset based on the underlying/shares ratio at that moment, ensuring a seamless experience for users.
A year ago, building on this technology, we introduced BNB Staking. Since BNB is staked in the BC network, it is no longer readily available to distribute, necessitating a three-step withdrawal process:
- Queue: Users signal their redemption intention in the primary market. The nQUEEN in question is immediately burned as if the redemption has already occurred, but since BSC is not present, the primary market accumulates the debt owed by the fund, creating a clear record of the obligations.
- Fulfillment: The fund strategy closely monitors the redemption queue and transfers BNB from the BC to the BSC network, ensuring that users’ needs are met in a timely manner.
- Claim: Once the fund has enough balance to pay the current redemption and all previous ones in the queue, the request becomes claimable, offering users a straightforward way to access their funds.
This approach works well within the BNB ecosystem. However, with the new design of ETH Staking, a more refined plan is required:
- Queue: Users signal their redemption intention in the primary market. The qETH in question is temporarily transferred to the primary market’s possession to prevent disruption of the protocol’s APR. The intention is then wrapped into an NFT token for transfers, adding a layer of flexibility for users.
- Finalization: Utilizing data reported by the Beacon Staking Oracle, the Fund calculates the qETH redemption ratio for the requests, burning the corresponding amount of qETH on hold. However, since the ETH is not yet present, the primary market accumulates the debt owed by the fund, ensuring accurate tracking of liabilities.
- Fulfillment: Tranchess collaborates with node operators to select validators for withdrawal. After the node operator completes the exit sequence, the ETH is transferred from the Beacon to the ETH1 network, streamlining the withdrawal process.
- Claim: Once the fund has enough balance to pay the current redemption and all previous ones in the queue, the request becomes claimable for the NFT token’s owner, making it easy for users to reclaim their assets.
Finalization and fulfillment are performed on a per-request basis. Contracts should not partially finalize or fulfill a request, ensuring that each redemption is handled consistently and completely.
Both the lower and upper bounds of a redemption size are limited. However, users can issue multiple requests. We encourage users to break down large withdrawals into smaller pieces to simulate the behavior of partial finalization/fulfillment, optimizing the withdrawal experience.
Like all redemptions in the Tranchess protocol, the queue is a point of no return. We do not allow the cancellation of redemption requests, as doing so could be exploited to hinder the fund’s capital efficiency within the two-step scheme, protecting the protocol’s overall performance.
By queuing a redemption, users effectively detach their withdrawal risk from the fund’s pool. In the event of slashing or penalties incurred by some validators during the withdrawal process, the entire fund bears the loss, while only the corresponding withdrawal request collectively materializes this part of the loss. This approach helps to distribute the risk and minimize the impact on individual users.
Redemption requests are transferable and tradable. Once wrapped within an ERC721 interface, they are compatible with most wallets and trading markets, making them easy to manage using standard NFT operations. This added flexibility allows users to seamlessly trade, transfer, or hold their redemption requests as needed, enhancing their overall experience with the Tranchess protocol.
Redemption request fulfillment mechanics
Choosing the next validator to eject can be a challenge in terms of fairness. In order to align with the protocol’s vision and the community’s interests, Tranchess will eject validators from the Node Operator with the largest number of active validators. This simple offline algorithm only requires the node operator to evaluate the active validator count and select the one with the highest validator index among all Node Operators with the most active validators. By opting for the validator with the highest index, the protocol heuristically reduces the probability of ejecting newly added validators.
How Ethereum penalties & slashing work
The ETH Staking system promotes proper behavior among individual validators, incentivizes equal distribution across various clients, and discourages single-client dominance. While most actors are expected to operate in good faith, validators can still be slashed for dishonest block proposals or attestations in three ways: proposing and signing two different blocks for the same slot, attesting to a block that “surrounds” another (effectively altering history), or double voting by attesting to two candidates for the same block. Slashing involves an initial Ether burn and a 36-day removal period with additional penalties:
- Immediate penalty: 1/32 of their staked Ether (up to a maximum of 1 Ether) is instantly burned.
- Correlation penalty: at the midpoint (Day 18), an amount of staked Ether proportional to the number of other slashings in the past ~36 days is burned, potentially as high as 32 Ether.
- Inactive penalty: an amount of staked Ether proportional to the inactivity before final ejection.
In rare cases, if the Beacon Chain goes more than four epochs without finalizing, an emergency “inactivity leak” protocol activates to recover finality by gradually decreasing inactive validators’ stakes.
Do I need to do anything after the Shapella upgrade?
No. The staked ETHs will continue to accumulate staking rewards until you choose to withdraw/unstake them.
What is the minimum withdrawal amount for qETH?
The minimum unstaking amount is 1 qETH. If you are unstaking any amount smaller than 1 qETH, swapping via qETH-ETH LP instead would be the easier option.
Is the withdrawal process instantaneous?/What is the withdrawal process?
Initially, the unstaking/withdrawal process might take several days (up to 18 days), depending on the Ethereum network and queueing. We think the waiting time will decrease significantly after the first month or two.
To complete a ETH withdrawal, users would go through the following steps:
(1). Unstake the desired amount of qETH.
(2). Upon successful request, users would receive an NFT representing their unstaking requests in their wallets. The NFT indicates the amount of qETH the user submitted to unstake.
(3). It may take a few days for qETH to be finalized into ETH. Once finalized, the NFT will show the final unstaked ETH amount.
(4). Users are still in queue to claim their unstaked ETH. When it’s your turn, you will be able to see from the Tranchess Liquid Staking page that your ETH is ready to be claimed.
(5). Once claimed, the corresponding NFT would be burnt.
Fun fact: Almost every NFT has a unique look and it varies depending on the amount you unstake and how lucky you feel that day!