πŸ”“Unstake

Need to unstake your FLIP for some reason? It's just as easy as staking.

What Happens When you Unstake?

When you unstake your stFLIP, you exchange it for native FLIP.

For e.g, if you originally staked 1000 FLIP, you'll have received around 1000 stFLIP (perhaps slightly more due to the stakeaggregator). If you held your stFLIP for a year and earned 50% in rewards, your balance will now be 1500 stFLIP. When you burn the stFLIP, you'll receive back 1500 native FLIP.

Step 1: Connect Your Wallet

Just like when staking, the first step is to connect your wallet.

Our unstaking site uses walletconnect, and therefore supports most major wallets including hardware wallets.

Once your wallet is connected, the 'Connect Wallet' button will change to 'Approve'. Users will need to approve their stFLIP for spending via a transaction before they are able to use the 'Submit Unstake' button.

Step 2: Approve stFLIP

When unstaking stFLIP, users need to be aware of how much they approve. In short, they will need to approve a higher amount of stFLIP than they actually own.

This is becuase stFLIP rebases every single block to give rewards (even though they might not be distributed yet). This can cause an error when simply selecting 'max' in metamask and other wallets.

The example below shows a wallet with 99.99 stfLIP, but the spending cap to approve set at 110. This is an example, as our website will automatically select a % buffer higher than the owned stFLIP amount. The important thing is to not reset this to 'max' when unstaking as the transaction is likely to fail.

You may have to approve multiple times if these directions are not followed. This is becuase we do not allow 'unlimited approvals' 'forever', from our dapp.

In fact, this would be dangerous. (Although many dapps prefer to request these unlimited token approvals from users so that they don’t have to call approve() repeatedly) While this is gas efficient, doing so leaves users exposed to a high level of risk, which we want to avoid. Therefore we request approvals every time.

After you've approved, here's an example of what you might see. Here is a user who has an amount of 437 stFLIP approved to spend, if they were to try and unstake 450, then the transaction would fail.

Step 3: Submit Unstake

Once your wallet is connected and stFLIP is approved, enter how many stFLIP you would like to unstake for FLIP.

If the Unstake contract has sufficient FLIP, the unstake will be instant, and you will recieve your FLIP immediately.

If there isn't enough FLIP in the pool for an immediate unstake, you will have to wait until the chainflip auction ends and native FLIP can be unstaked from a validator node. Validators will be set to stop bidding at the next redemption period and the bond will become redeemable in two epochs, once the redemption is submitted it will take two days for it to become redeemable on Ethereum mainnet. These are Chainflip protocol constraints and cannot be circumvented.

The routing will look like this. The top "Unstake" denotes the portion that can be instantly claimed from the Unstake contract; the bottom "Unstake Request" denotes the portion that will go into an unstake request that will become claimable in 3.5-5 days.

If you don't want to wait for an unstake request, there is an 'Instant Unstake' button in order to sell current stFLIP into the curve pool for native FLIP. If this option is taken, there may be a significant difference in the amount of FLIP recieved due to slippage on the open market. The percentage loss here is hugely exaggerated as it is on testnet, but the instant unstake option looks like this:

Confirm this in your wallet, as usual.

Step 4: Recieve FLIP

That's it!

Upon unstake, you will recieve native FLIP. Note that native FLIP does not rebase like stFLIP, and you will no longer accrue rewards from validator nodes.

Last updated