dApps Staking v2 - Delegated Reward Claim (cont.)

Hello everyone,

this post will be continuation of the topic first presented here.

EDIT: It’s not expected that anyone from community would need to claim rewards for others. It would all be handled by a bot.

The Problem

Once dApp staking v3 launches, dApps staking v2 will become obsolete. Any unclaimed rewards will be lost, they won’t be migrated over. It simply doesn’t make sense to migrate rewards since we’re enabling a whole new tokenomics model, and old rewards simply don’t fit into the scheme.

However, this isn’t a cause for alarm since it was requested and agreed that we should provide a mechanism for claiming pending rewards for stakers, and ensuring no staker rewards are lost.

The basic solution has been implemented & tested immediately and works fine.
However the major problem is:

  • ~6 million unclaimed era rewards on Astar
  • ~2 million unclaimed era rewards on Shiden

This means we need to execute at least 6 million claim_staker transactions to claim all pending rewards just for Astar.
This is clearly a lot. These transactions aren’t free (and they shouldn’t be) as they consume block resources. It might take around a whole week of constantly sending transactions to claim all pending rewards.

The more transactions we send, the more the gas fees will rise (documentation). The more congested the network is, the higher the tip users need to pay.

These things aren’t a problem, it’s normal for blockchain. And the gas fee increase won’t be substantial, Astar will remain a cheap network. Once migration is finished, the fees will go back down.

Solution

The proposed solution here is to allow another account to claim rewards for someone else, but the staker account would reimburse the caller for the minimum transaction fee. Best to explain this via example:

  • Alice has 10000 unclaimed era rewards, and 10000 claim_staker calls are required to claim all of those rewards
  • Bob decides to claim rewards on behalf of Alice
  • Bob signs & sends the transaction, paying the transaction fee & the tip
  • Alice’s reward for the claimed era is 5 ASTR, and the configured minimum fee is 0.05 ASTR
  • Alice receives 4.95 ASTR into her account, and Bob is reimbursed for 0.05 ASTR
  • Alice’s balance has increased, without her taking any real action
  • Bob’s balance has been slightly decreased since he paid the transaction fee & the tip which is slightly higher than the reimbursed amount

The solution isn’t completely fair to Bob, but his losses aren’t big. Alice earns her rewards without having to claim them herself.

Alice’s free balance IS NEVER TOUCHED. Her total balance (and free balance) cannot decrease.

Alternative(s)

First possible alternative would be to simply allow 6 million unclaimed eras to be burned. Whoever didn’t claim them will be at a loss. This would be very ill received by the community, stakers, and considering all things would be unfair.

Another alternative would be to make the delegated claim call free but that is also wrong since these transactions will consume lots of resources, and resources need to be paid for. It would also allow someone to create two separate accounts and use this opportunity to claim their own rewards for a limited period, for free.

Perhaps there are other alternatives, but the solution presented (with reimbursement) seems most fair to me.

Request For Comment

dApp Staking v3 launch is very near (most likely within 2 weeks time), and there are huge amounts of unclaimed rewards. This discussion needs to happen fast so please provide feedback, and other ideas if you have them. And do it soon please :slightly_smiling_face:

Update: Way Forward

Thank you all for the comments, feedback and suggestions.

As we don’t see any blocking concerns with the proposed approach, we will proceed with it. The aim is to have dApp staking v3 on Astar in 2 weeks, and to achieve that, we need to move forward now.

The solution has been implemented & thoroughly tested.

Here are some additional pieces of information about the process:

Shiden Fee

Reimbursement fee for delegated claiming will be 0.000_579_268_481_141_871 SDN since that’s the minimum possible fee that needs to paid in order to claim one era.

Astar Fee

Reimbursement fee for delegated claiming will be 0.057_950_348_114_187_155 ASTR since that’s the minimum possible fee that needs to paid in order to claim one era.

Claiming Process

  • Bot will handle the transaction sending, it won’t be done manually
  • Shiden delegated claiming will most likely start on 31st of January, while Astar will start on 1st of Februrary
  • Users DO NOT NEED TO DO ANYTHING, but they can still interact with dApps staking same as today (claiming, staking, unstaking, etc.)
  • Few days before the launch, we’ll enable decommission mode (prevents new eras from happening), and ensure all pending rewards have been claimed (no one will loose on any rewards)
  • Once all pending rewards have been claimed, we’ll proceed with dApp staking v3 launch
  • Foundation will cover the cost of transactions & tipping

One positive effect for all users, lot of fee burning.

Please stay tuned for more info via our socials. Guides & more info will be shared any time now.

Update2: Results

All staker rewards on Shiden have been claimed.

Delegated claim on Astar is progressing and should be done by 12th of February, just in time for the upgrade to dApp staking v3.

Foundation founded an account with some SDN/ASTR to get it going:

As explained above, the delegated claim fee was set low enough so it doesn’t even cover the lowest possible fee for claiming a single era.

However, since the bot batches transactions, the inclusion fee is paid only once for many claim calls, thus reducing the overall cost of the batch transaction. As a result, the bot account ended up with more SDN/ASTR than it started out with.

Keep in mind that these bots executed over 2 million calls for Shiden, and over 6 million calls for Astar (still ongoing).

Once the accounts have been used to complete the entire delegated claim process & migration from v2 to v3, we will:

  • return the initial funds back to their owners (279 SDN and 10,000 ASTR)
  • whatever remains in the account will be deposited into the treasury account
22 Likes

Hi Dino, thanks for raising the issue regarding unclaimed rewards, from me within 2 weeks :

  • Astar official X account need to release a countdown tweet for all stakers to claimed their reward until dApp Staking v3 launched, and all Agents will need to raised this issue within their local community. And consistently keep spreading warning notice on Discord general channel.

  • After the countdown finished well just burn what’s left of it. At least we already announce and give enough time.

I believe in web3 space, all users need to be responsible for their own custody. And also need to give sense of urgency that with deployment of dApp Staking v3, Tokenomics 2.0 can be fully worked.


Btw for Ledger users, they have special period for claiming right? Since Zondax only let 4 eras per claim

7 Likes

This has already been done, to some degree. And we cannot wait that long.
We should launch the feature ASAP.

2 weeks for countdown + 1 week for delegated claiming would mean we launch in 3 weeks at best which isn’t an option right now.

I do agree with this to some extend but don’t consider it the right approach.
We would only announce burning now, and users who staked & left (and forgot?) were not aware of this mechanism. It’s unfair to them, and would cause an uproar if we were to do this.

4 Likes

Incineration will cause a big reaction. Although the rewards are the responsibility of the individuals, burning them would be very tiring in the coming months and would cause a backlash. Alternatively, it would be unfair to other claimants if the treasury paid the fees and sent them to individuals. The most logical option is to claim on behalf of someone else’s rightful owner.

What I understand, correct me if I’m wrong, is that person x (is it the foundation/team here?) can take the rewards of person y and send them to person x. Isn’t this briefly? Also, at this stage, communities are worried. Shouldn’t I tell them that all they need to do is to claim their rewards and wait for v3? Isn’t there an information pollution, in the transition from v2 to v3, they don’t need to take back the ASTRs they locked and re-stake them in V3? (I want to confirm this again here and make sure, this process is very important for us and we should go through it in a healthy way without any reaction)

5 Likes

It’s important to state that it doesn’t not work like that.
No one from foundation or anywhere else can take rewards from anyone else.
Rewards are NEVER transferred to someone else - they are only deposited to the rightful owner, the staker.

Delegated claim works as I explained in the post above - someone submits the transaction and most of the on-chain logic is executed in a same way as when you claim the reward for yourself.

An announcement with guide will go out very soon explaining everything.

For other questions, not strictly related to the delegated claim, please ask them in another thread. I’d prefer to keep this topic focused on the issue at hand.

3 Likes

HI all!
There was no countdown. I constantly check Twitter and all I read was “soon xyz will happen”, but no precise time or date mentioned. When I asked for some facts on Twitter I didn’t get an answer. Why not - to both points?

2 Likes

@Leonie please keep this thread focused on the topic.

No announcement or dates were shared because they were not ready nor decided. You will get the information you need today or tomorrow I guess.

2 Likes

How about using treasury from Community Rewards for the gasfee? Set an account (maybe multisigs?) to delegate claim? Is it possible?

3 Likes

I don’t agree with this - why would treasury pay for this?
Reward “owners” should pay for it.

Also, I’m not sure which problem are you trying to solve with this approach?

Sorry but I’m not sure what do you mean with this.
What would the multisig account do exactly?

2 Likes

I tried to solve the problem you mentioned above, but anyway you are right, it supposes to be the reward “owners” who should pay for not the Community Reward

2 Likes

That’s just my opinion.

Sorry, I asked because I’m not sure how the multisig would help with the proposed solution. :sweat_smile:
Imagine having to sign 6 million transactions using multisig… :no_mouth:

The solution I described would be open to anyone, not limited to any account.
But of course, Foundation would run a script to automate this.
Doing it manually is just out of the question :smile:.

Appreciate the focused feedback & engagement!

4 Likes

OH I mean setting up one account to received the fund from Community Treasury reward for the gas fee (thats why I proposed it to be multisig), and let that account use a script to do the batch delegated claim for all users who has unclaimed rewards.

But nevermind, actually I’m now agreed with your opinion regarding Reward Owner need to pay for the gas fee :smiley:, not the Community Reward treasury.

3 Likes

For ledger users, there is a limitation of 6 claims per transaction. If someone claims for these ledger users, will this still apply? Just want to make sure we cover all the angles.

2 Likes

There are no differences between hot wallet or cold wallet accounts to the protocol.
It’s just a matter of how and where do you sign the transaction.

No unclaimed rewards will remain, so that also has to include the Ledger controlled accounts.

3 Likes

so if ledger staker has 180 days unclaimed rewards, someone else claim for them using hot wallet, only 1 transaction correct?

2 Likes

That’s right, but it would take 180 transactions to claim 180 eras of rewards.

2 Likes

I was not given sufficient explanation about the ``steaking transition period’'.

As a result, I lost 10era worth of compensation.
Please compensate. There are probably many Ledger users like me.

2 Likes

Personnaly i considere that everyone is responsible for their own claim and token managment. So i would normaly request the burn of the unclaimed token.
However i can see your point with people crying around and badmouthing on the astar eco because their rewards have been burned during an update they were not aware of… (still their mistake but like all politicien, none will accept the concequences of their mistake)

therefore and since nothing is free in this world, my propositon is that when Bob claim for Alice, he get full refund of tx fee (set at minimal) + an incencitive of up to 100% of tx fee to rewards Bob for its effort and time (it’s a very small reward for the time spend).
All tx fee + incencitive should be covered by Alice and deducted directly from Alice claimed rewards by this tx.

If Alice is not happy with that then, she should just be thankfull that her token have not been burn while she was not carrying for her investment while fee paid, for somebody else taking care of here investment, are still very small in comparison to having her rewards burnded.

to prevent Bob to continu to claim Alice rewards in her stead after claiming all old unclaimed era - and potentially abuse of the system to farm tx fee of daily unclaim era - system should restrain this function to address with more than 3-5 era unclaim.

1 Like

Hi!

I have no problem with solution given in @Dino post if this matter is time sensitive. I can claim for some people if that will be made possibe.

I also agree with @Soulalex that announcment of this and countdown clock be given on X and on staking dApp.

Announce daily on all socials daily countdown till claiming rewards for v2 still live and pin the messages where possible.

4 Likes

Agree, should add countdown clock to 2 more…
Staking Dapp
X
Discord
TG official channel

3 Likes