Upgrade coming to the Flow Epoch smart contracts to introduce delegator staking minimums

The Flow team has tentative plans to introduce delegator staking minimums on mainnet on July 5th. This upgrade will unstake delegators who are below the minimum. More information is below.

Expected dates to get the changes in effect is as follows:

  • CanaryNet: Monday, June 26th, 2023
  • Testnet: Wednesday, June 28th, 2023

And assuming that the upgrades on the canary and testnet go well,

  • Mainnet: Wednesday, July 5th, 2023

This will hopefully give users plenty of time to update their transactions.

The changes to the smart contract code that will be used for the upgrade can be found in this pull request

The specific sequence of transactions that will be executed for this upgrade are documented in the service account repo.

Note - We are open to changing the timeline if the community provides feedback on the suggested change.

Why This Change is Happening

  • Delegators with very little stake take up a lot of computational resources of the network with very little benefit. A minimum stake requirement prevents this. More details in the FLIP
  • Admin objects for protocol operation were all intended to live in the service account, which is the account with the most safeguards. The refactor makes this possible. More details are in the PR.

Action Required

  • Delegators who are below the staking minimum, which is currently planned to be 50 FLOW, will be unstaked and refunded their staked FLOW. If a delegator wants to remain staked and continue to receive rewards, they will need to stake FLOW above the minimum.

If you have any questions regarding these changes, please ask in the PR comments, on Discord in the #developers channel, or reply here.

Hi, the 50 Flow as minimum for staking, sounds like you do not expect for the token to have any meaningful value again.
It could only further harm the worthless token, I would recommend you significantly reconsider that change

50 may be too big size if $flow price recovers in the bull market, 5 minimum threadhold sounds more reasonable for any market condition.

the 50 FLOW minimum is for current market conditions. if the market changes in the future, we’ll definitely make proposals to update it to a more reasonable number, just like we would with node staking minimums

It would make more sense to take decisions for the operational part of the blockchain that are mostly independent from the market conditions, hence, more future proof.

Also according to a TG user, the problem (many accounts with small amount) appears at less than <5 flow staked.

So a 5 flow min sounds reasonable to save on resources and future proof, in a way that you will not need to adjust it no matter the price.

Putting a min so high, seems like a desperate move and hides further devaluation of the token.
And most importantly more centralization when the price increases.

Token prices should (or will not) not recover by increasing the costs of operating on the chain.

Thank you for the feedback! This change is to specifically address the network performance and the security issue. Token price was not really on our minds at all when discussing this. You are correct in saying that most of the problems appears in accounts with less than 5 staked, but there is still a significant performance improvement by increasing the minimum to 50 as well that can’t be ignored. The minimum also prevents users from spamming delegator registrations which is a security risk, and with current market conditions, 5 FLOW isn’t really enough for that.

Delegators do not directly contribute to network functionality or security, yet consume a disproportionate amount of the network’s resources. After the discussion on the FLIP, 50 FLOW emerged a good number given the current market conditions based on the calculations shown in the FLIP. There were also community members who were pushing for a higher minimum stake for delegators during the FLIP process, so this was a good compromise. The minimum is easy to upgrade, so if the market rapidly changes in the future, anyone in the community can make a proposal to decrease the minimum and we can collaborate as a community and decide on it quickly.

I hope that is satisfactory reasoning for you. We really appreciate your participation and would definitely welcome a formal FLIP from you that we can all discuss together in github or on a community call like we have done with previous tokenomics proposals.

Contracts are upgraded on Canary

Contracts are upgraded on Testnet

Interesting, thanks for sharing.

Roughly how many tokens would get unstaked upon introduction of the 50 minimum?

If a delegator doesn’t have 50 or more FLOW staked, then all their tokens will be unstaked. Anyone who has 50 or more FLOW staked will not be affected

I mean collectively on the network level, i.e. the currently staked 729 Mn tokens, by how much does that amount shrink if the minimum is introduced?

In other words, how many delegators are impacted by this?

Our calculations were that it would affect somewhere around 5k delegators out of about 20k delegators, but because most of them are staking extremely small amounts of FLOW, it means that only a few hundred thousand FLOW will be unstaked in total if none of them take any action, which is a very small percentage of the 729Mn tokens staked in total.

Makes sense, thank you!

how it would affect if the limit was 10flow or 15flow instead?

Not sure, we didn’t do the exact calculations for those values, but if I had to predict, it might only be around 3k delegators and less than 100k FLOW, but those are just educated guesses, not from actual research

if you didnt make these calculations how did you end up deciding the 50flow for the minimum and not less?
Also, in your previous message
“Token price was not really on our minds at all when discussing this.”
yet in the same message you also mention twice the “market conditions”.

It seems like the only reason you selected that minimum is actually the price of $flow and not much else…
Which is a problem because
a) you are not making decisions to improve your product (the network)
b) you do not know economics and speculate that such move could help the price of the token
c) you are basing part of your decision on speculators (comm members) that most likely also have no clue about economics and they are desperate to pump their long dead bags.

Maybe that works out, who knows.
But what I know is that if you focus on building your product and make people to WANT to use it then everyone wins.

If you just keep increasing costs (storage, now min stk) in hopes of this making the price of flow to move up, then you may as well scare the few builders out…

I apologize, I think there was a misunderstanding. Token price was definitely on our minds in the sense that we wanted the minimum to be a reasonable cost for delegators at the current prices, but we did not make this decision because we thought it would make the token price increase. We chose it because of performance and security reasons and the minimum can and will likely change if the price increases significantly, subject to discussion with the community.

As for the calculation for the specific numbers you asked, we made calculations for other values, just not the exact one you asked about, which is why I wanted to be clear that I was just extrapolating. The community has been pretty confident about the numbers we chose and there hasn’t been any other pushback besides from you, so we still feel good about moving forward with it. We really appreciate your feedback though! If you feel like it should be changed in the future, please submit a formal FLIP with your own research and calculations and the community will be happy to discuss it. :slight_smile:

hey folks - The mainnet upgrade for this change has been postponed to next week. We need some more time to test this change thoroughly on canary and tesnet.
Sorry for the inconvenience.
It has now been scheduled for 12th July (Wednesday next week).

The smart contracts are upgraded on mainnet. Delegators below the 50 FLOW minimum will be unstaked at the end of the epoch in about 4 hours.