[SWIP-42] Tweak osToken Redemption Mechanism on Ethereum and Gnosis Chain

Executive summary

In this proposal, we seek DAO approval for the redeployment of osToken redemption functionality in order to incorporate valuable feedback gathered when testing redemptions on mainnet.

The updated functionality introduces a small fee on redemptions, equal to osToken’s value accrual while in the redemption queue, to prevent double-dipping; this bears no effect on the token’s peg and results in a fair exchange rate for the user instead of the protocol paying a premium.

Motivation

During our behind-closed-doors testing of redemptions functionality on Ethereum mainnet and Gnosis Chain, we noticed that redemption amounts contained an immaterial yet meaningful premium to the fair exchange rate of osToken.

This was due to the fact that osTokens continuously accrue value when outstanding, and, once placed in the exit queue, allow redeeming wallets to continue earning staking rewards until the exit process for the underlying ETH is complete.

There is a scenario where such functionality could lead to a slight premium to the fair exchange rate, which is not the desirable outcome when introducing redemptions.

To fix this, we’re introducing a small redemption fee, equal to the estimated amount of rewards to be earned by osToken while in the redemption queue, payable upon redemption of ETH/GNO tokens from the protocol. This nets out any potential benefit to 0 and protects the protocol from paying more than it should (which ultimately comes out of the remaining users’ pockets).

Specification

Ethereum

{
“transactions”: [
{
“data”: “0x3307ce840000000000000000000000009fc8c7f3c1ff6d0df39ecb5870884d59777ea2bb”,
“method”: “setRedeemer(address)”,
“operation”: “0”,
“params”: [
“0x9Fc8C7F3C1ff6d0DF39EcB5870884d59777Ea2Bb”
],
“to”: “0x287d1e2A8dE183A8bf8f2b09Fa1340fBd766eb59”,
“value”: “0.0”
}
]
}

Gnosis Chain

{
“transactions”: [
{
“data”: “0x3307ce840000000000000000000000005d12a024a8807d1b511eaf194d5b17ae57fb8c97”,
“method”: “setRedeemer(address)”,
“operation”: “0”,
“params”: [
“0x5d12A024a8807d1B511eaF194d5B17ae57fB8c97”
],
“to”: “0xd6672fbE1D28877db598DC0ac2559A15745FC3ec”,
“value”: “0.0”
}
]
}

Consideration

This change bears no impact on the underlying redemption mechanics and contract interactions, and represents a cosmetic change in the previously audited functionality.

Discussion

The Snapshot vote to update redemptions can be found here:
Please leave any comments and feedback in this topic. As always, we’re here to any questions you may have.

1 Like