LRC Staking and Claiming Instructions

Matthew Finestone
Loopring Protocol
Published in
7 min readMar 9, 2020

Note: since this post was published, a staking UI has been released, which is likely the preferred way for most stakers: https://staking.loopring.org. You can still use these instructions if you prefer to interact with the smart contracts directly.

LRC is the Loopring protocol’s token. It can be staked by holders to earn protocol fees (a percentage of the volume flowing through all Loopring-based DEXes), and is staked by DEX owners as a bond for service-level guarantees. More information on LRC mechanics here.

About 10% of the total LRC supply is currently staked.

Below we will reiterate how to stake, and explain how to unstake (claim & withdraw). We recommend reading the entire article before claiming or withdrawing, as there is some timely information at the end.

89 days ago we announced the LRC staking contract so holders could begin staking their claim to protocol fees. As the minimum staking period is 90 days, the earliest stakers will very soon be able to claim/withdraw their protocol fee rewards. As there is not yet a UI to allow staking or claiming, all stakers thus far have staked by interacting with the smart contract directly. Similarly, for now, claiming will need to be done by interacting with the smart contract. We expect to have a Staking UI by May 1st. The LRC staking contract lives here:

https://etherscan.io/address/stakingpool.lrctoken.eth

How to Stake

Below we use etherscan.io to demonstrate how you can stake LRC. You can also use MyEtherWallet or MyCrypto.

Step #1
Visit the LRC contract: etherscan.io/address/lrctoken.eth#writeContract, and click “Connect to Web3” to unlock your wallet using MetaMask or another Web3 provider.

step #1

Step #2
Fill in the approve function form with 0xF4662bB1C4831fD411a95b8050B3A5998d8A4A5b as the value of _spender, and the amount of LRC you want to stake (with 18 extra ‘0’s) — the example below staked 12,345 LRC. Then click “Write” to sign and send the transaction. Wait for 1 confirmation. This allows the contract to use this amount of LRC. (Note, this address you are calling the spender is the LRC staking contract itself, i.e. the one you are about to go to in step #3).

step #2

Step #3
Visit the LRC Staking contract: etherscan.io/address/stakingpool.lrctoken.eth#writeContract, and unlock your same wallet again as in step #1, if necessary. (Note: *this is a different contract than the one in step #1*)

Step #4
Fill in the stake function form with the same amount you used in step #2, click “Write” to send another transaction, then wait for 1 confirmation. This is staking action.

step #4

Step #5
That’s it. To verify you did it correctly, visit 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, and the time you need to wait (seconds) before you can claim LRC reward, the time you need to wait (seconds) before you can withdraw staked LRC, and the current reward. Remember token amounts have an extra 18 ‘0’s after.

step #5

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.

Extra Rewards From Foundation Coming May 1st

As mentioned last week in our February Monthly Update, to reward people for staking (especially before protocol fees pick up with increased volume), the Loopring Foundation will deposit 2 million LRC as a reward for all participants around May 1st. This is basically a thank you to stakers, and a way to bootstrap some rewards in these early days of Loopring DEXes.

Of course, we will deposit these LRC into Loopring’s protocol Fee Vault, the contract to which protocol fees go, and from which LRC stakers are rewarded. You can always keep track of the LRC balance in the vault address. There’s currently ~697,000 LRC in there.

https://etherscan.io/address/feevault.lrctoken.eth

Because of this upcoming LRC infusion on May 1st, we recommend waiting until that time to claim your rewards. Of course, you are absolutely free to claim whenever you want.

Happy staking!

Loopring is a protocol for building high-performance, non-custodial orderbook exchanges on Ethereum using zkRollup. You can sign up for our Monthly Update, learn more at Loopring.org, or check out a live exchange at Loopring.io.

TwitterRedditTelegramGitHubDiscordYouTubeLinkedIn

--

--