How to Unstake (Claim & Withdraw)

First a note on what is the difference between claiming and withdrawing, and a few other notes on LRC staking.

Claiming claims your share of the protocol fees (rewards) and automatically adds them to your staked amount.

Withdrawing simply withdraws your staked amount from the contract and back into your wallet. Thus, it follows that to receive your rewards, you must claim first.

Recall that stakers receive LRC rewards proportional to their accumulated points, where points are the product of the amount of staked LRC and the average staking period of each token. The earlier and more LRC a user stakes, the more he or she will get out of the staking rewards.

Claim on Loopring protocol fees = LRC staked * duration of stake

A side effect of this “average staked token age” concept is that claiming your rewards means you are adding a fresh batch of LRC to your staked amount, and this claimed amount has an age of 0 at that moment. Thus, your average age will always get somewhat younger when you claim rewards.

For example, if today is day 90 and you had staked 10,000 LRC originally, and suppose the rewards you claim today also equal 10,000 LRC, your new total age for your staked LRC will be 45 days old. Your new total staked LRC amount will be 20,000, and will continue accruing points right away. You will be able to claim and/or withdraw again when 45 more days pass (since token age must be greater than 90 days to claim and/or withdraw).

Note: whenever a user claims his or her staking reward, all the user’s points will be cleared (reset) to maximize the user’s return, aka claiming the maximum amount. Conversely, when you withdraw, it can be the full or partial amount, and it does not reset token age.

Ok. back to instructions on how to claim or withdraw.

How to Claim

Step #0

Before claiming, you can verify the amount of rewards available to your staking address by visiting the LRC Staking contract: etherscan.io/address/stakingpool.lrctoken.eth#readContract, and fill in the getUserStaking function form with your Ethereum address and click “Query”. You will see the amount of LRC you have staked in total, the time you need to wait (seconds) before you can claim LRC reward (if 0, you are ready), the time you need to wait (seconds) before you can withdraw staked LRC (if 0, you are ready), and your current reward. Remember token amounts have an extra 18 ‘0’s after.

Step #1

Visit the LRC Staking contract: etherscan.io/address/stakingpool.lrctoken.eth#writeContract, and click “Connect to Web3” to unlock the same wallet address you originally staked with using MetaMask or another Web3 provider.

step #1

Step #2

Click “Write” under the claim function. Confirm the transaction in your wallet, and wait for 1 confirmation. Note: If your address is indeed able to claim (has an average token age greater than 90 days), this step will be allowed. If your staked LRC age is less than 90 days old, it will show an error when you are trying to sign the transaction: this is normal, you are just too early.

step #2

Step #3

That’s it. Like in step #0 above, you can once again verify your new status by visiting etherscan.io/address/stakingpool.lrctoken.eth#readContract, and fill in the getUserStaking function form with your Ethereum address and click “Query”. You will see the new, total amount of LRC you have staked (original plus what you just claimed).

How to Withdraw

Step #0

You can repeat step 0 from above to see your current state of affairs (amount, timing, etc).

Step #1

Visit the LRC Staking contract: etherscan.io/address/stakingpool.lrctoken.eth#writeContract, and click “Connect to Web3” to unlock the same wallet address you originally staked with using MetaMask or another Web3 provider.

Step #2

Fill in the amount you would like to withdraw (your full amount or any partial amount) in the withdraw function form, remembering to add 18 ‘0s’ to the number. Click “Write” to confirm the transaction, and wait for 1 confirmation. If you are not able to withdraw yet, you will see an error before you can sign the transaction.

step #2

Step #3

That’s it. You can check your Ethereum address to see the amount of LRC that you’ve received from the staking contract. Or once again check step #0 to see what remains in the staking contract.