How to Emergency Withdraw funds from a Staking Pool on Crystl Finance
Hey Crystl Crew! We wanted to bring you a brief tutorial on how to emergency withdraw your staked CRYSTL from any given pool on our platform! We’ve recently hit a bit of a snag with a particular pool, where the earned token has a tokenomic hang up that is preventing the staking pool contract from harvesting the rewards to the users address.
Because of the way our staking pool contracts work, when a user attempts to withdraw their CRYSTL, it also attempts to harvest the rewards, in some cases, there can be a hang up here!
If you absolutely MUST get access to your CRYSTL, and are comfortable with sacrificing your accrued rewards (emergency withdraw bypasses the harvesting of rewards, so only your CRYSTL is returned), you can call the Emergency Withdraw function from the staking pool contract itself!
Step 1: Navigate to the pool contract on polygonscan. This can be found by viewing the pool in card view, dropping down the “Details Tab” and selecting “View Contract”.
Step 2: In the Polygon Scan UI, you should see a button that says “Contract”, click on that and it will take you to the source code for this contract!
Step3: From here, at the top of the screen you’ll see 3 options, “Code”, “Read Contract”, and “Write Contract”. We’ll be sending a command to this contract, so select the “Write option.” You will also need to connect your wallet by clicking the “Connect to Web3” button and accepting the dialogue prompts to connect to MetaMask or via Wallet Connect.
Step4: Scroll down until you see “Emergency Withdraw”
Lastly, you’ll be asked to confirm the transaction in your wallet, and pay an appropriate gas fee. Upon completion of this transaction, your CRYSTL tokens will be returned to your wallet, while leaving the rewards behind!