Node Provider Inflation Spiral

Node Provider Inflation Spiral

Please note that aside from raw data, this article is purely speculative with the intention of provoking thought & conversation. This article covers hypothetical scenarios at predetermined price points extrapolating from current metrics to observe potential futures. This article is not financial advice, nor should the scenarios within be considered as fact.

This stems from a conversation with a fellow ecosystem member regarding how Node Providers are rewarded for their contribution to the network - being a pre-determined payment of $SDR in the form of $ICP. If you are unaware what $SDR is; it is a stable currency that consists of a basket of real-world currency’s - it has no association to cryptocurrency & acts as a real world “stablecoin”. While explaining the concept, I began to think deeper about the implications of this functionality;

This meant that each Node has a dollar value assigned to it, that must be paid out - and is automatically done so in the form of $ICP.

This thought immediately drew parallels to the TERRA LUNA scenario. This refers to when the UST stablecoin lost its 1:1 dollar peg, and token holders were forced to “burn” UST to “mint” 1$ worth of LUNA - regardless of the cost of UST or LUNA itself, per the protocols parameters.

This resulted in an inflationary spiral - UST was exchanged directly for LUNA, increasing the supply, which was then sold to exchanges due to market circumstances, decreasing the demand of the token while increasing selling pressure. Hundreds of millions of LUNA tokens were minted & consequently sold, causing a complete collapse in the token price - all due to an algorithm that demanded a predetermined fiat price in the form of cryptocurrency.

While the Internet Computers’ functionality in discussion (Node Provider Rewards) does not exactly align with the functionality that resulted in the collapse of UST & LUNA, - given Node Provider Rewards are distributed on a monthly basis & the IC can scale the amount of Nodes rather robustly (although if a “scale-down” scenario was forced, this would directly degrade subnets, network speeds, and the dApps hosted upon them) - parallels can certainly be drawn in the algorithmic fiat-cryptocurrency exchange functionality.

This of course piqued my interest; I was curious where exactly the breaking point was, - it needed to be calculated in order to prevent an irreversible catastrophic event for the network as a whole - which leads into the rest of the article. To reiterate, please note that this article purely speculative & extrapolative based upon information that is currently publicly available, and is only meant to reflect an extrapolative future assuming consistency in the current trajectory of the protocol.

To determine the stress the network would undergo, I first had to determine the amount of Node Provider Rewards distributed on a monthly basis.

To do so, I’ve gathered Node Provider Addresses from within the following proposals (indicating automated payouts for Node Providers listed), recorded most recent payouts, and utilized the figures to calculate a dollar value reward for each node provider.

However, this is not an extensive list, as the previous proposals include a total of 94 Addresses of Node Providers, while the Internet Computer Dashboard claims there is 96 Node Providers (at the time of writing).

This is most likely attributable to the “Participant Management” topic, in which Node Providers are seemingly added & removed from the network - however, this has no correlation to rewarded Node Providers, as this is handled solely through the “Node Provider Rewards” topic.

It should also be noted that Node Providers with a consecutive history of minting “0 ICP” rewards were removed from the information collected. These Node Providers are most likely inactive, or perform at degraded speeds - earning them rewards of “0 ICP” - as such, they are not relevant to the study, as it is based upon extrapolation of current data.

Aggregating the Node Provider information within the previous proposals produces the following results;

  • The majority of Node Providers are pattern based. Those who sell rewards, do it consistently & regularly. The same can be said for those who keep rewards. This allows data to be extrapolated from past actions.

  • 94 Node Providers are enrolled in “Automatic Reward Minting”

  • Of 94 Node Providers, 66 receive rewards on a regular basis. The remaining 28 consecutively mint “0 ICP” Rewards.

  • Of 66 Node Providers receiving rewards, 20 Node Providers keep rewards, while the remaining 46 sell them to exchanges to maintain operation.

  • In August 2023, the sum of Node Provider rewards was 583,577 ICP. Of which, 275,287.49037424 ICP (47.2%) was sold to exchanges by Node Providers, while 308,289.51 ICP (52.8%) was kept on-chain.

Node Provider Reward Data can be found within the spreadsheet below:

From here, Exchange Data must be recorded & inspected in contrast to the “Node Provider Sell-Off”. The most relevant information to the study will be volume of exchanges, and the supply held within exchange wallets, as this determines liquidity available & required for healthy trading action. Please note that the following data does not include all exchanges, but rather the most prominent in terms of volume & liquidity. Additionally, this is only a collection of active wallets tied to exchanges - there is a possibility that exchanges have unidentified & uncategorized cold wallets that were not included.

Aggregating Exchange Information from CoinMarketCap & the Internet Computer Blockchain Explorer produces the following results;

Utilizing the data provided, it can be observed that Monthly Node Provider Selloffs equate to about 31.5% of daily spot volume.

Alternatively, the quantity of $ICP sold to exchanges on a monthly basis represents about 17.5% of the liquidity held by exchange hot wallets.

This is useful to depict the impact of volume & liquidity, as a recurring pattern of decline in price can be identified coinciding with the monthly Node Provider Reward Schedule.

With the core factors identified, we can begin to extrapolate this data to determine when Node Provider Rewards begin to exceed available exchange liquidity - the scenario most likely to result in a collapse in price.

With the extrapolative values laid out, it is clear that Node Provider Rewards are currently on the brink of unleashing unprecedented levels of inflation, given market trends continue.

This raises the question:

Should the Node Provider Rewards Minting Algorithm undergo modification to prevent the impending inflation spiral?

written by accumulating.icp August 28th


The fact node providers are paid in an $SDR equivalent amount of ICP tokens is extremely alarming in my opinion and this is something very new in crypto, for example BTC and ETH follow a disbursement schedule that rewards a set a amount of tokens regardless of the dollar value at the time.

I think ICP is in fact, set up for an inflationary spiral in terms of node provider rewards, unless the value of ICP rises. There is also an issue that setting up a node is very gate kept at the moment so even if some of the community wanted to keep the network alive in the event of the price spiralling to zero, they pretty couldn’t due to the hardware requirements and the steps involved.

Very well thought out post, I think maybe this is a design flaw on Dfinity’s end and they aimed to solve it in the far future via the badland nodes etc, but in the short term it is worrying.


Hi @Accumulating.icp thanks for posting. I’ve been interested in this topic for a LONG time (here’s a blog I wrote back in May '22 prior to joining DFINITY: Death By Node Rewards?, Part 2 - by Kyle Langham). I love that we have a community that is engaged in these topics and is as passionate as I am to analyze tokenomics from a data perspective.

I’d love to work on improving your model as I think the approach to understanding NP rewards in the context of exchange liquidity is novel and provides another perspective on the topic. Prior to that though, I want to express to everyone reading my perspective that ICP sent to exchanges from node providers is still small relative to the amount of ICP sent to exchanges from neurons dissolving or maturity. For this reason, I still have no concerns over the sustainability of the current tokenomic approach.

Regarding the analysis in the OP, a few things pop out:

  1. For those who don’t know, you can track node provider rewards on this page: Circulation - ICP Dashboard. Last month there was ~580k ICP in node provider rewards.
  2. The claim that 50.5% of NP rewards are sent to exchanges matches a recent calculation I performed that suggested 65% of NP rewards are sent to exchanges (differences are most likely due to chosen timeframes). Many NP chose to receive their rewards in their Coinbase or Binance accounts, so it’s hard to tell if they are selling the ICP or if they are using Coinbase or Binance as the custodian.
  3. @Accumulating.icp - I’d be interested in knowing more about how you chose your date ranges for “Pre Distribution” and “Post distribution” calculations. It seems random from what I can tell:
    Feb [-14 days, +18 days]
    Mar [-14 days, +74 days]
    Apr [-0 days, +25 days]
    May [-17 days, +9 days]
    June [-5 days, +60 days]
    July [-2 days, +5 days]
    Or perhaps I’m misunderstanding the analysis?
  4. The list of hot wallets for exchanges is missing a few. I’ve identified a total of 14 highly-likely hot wallets for exchanges. In addition there are ~20 cold storage wallets I’ve identified as likely owned by exchanges. I’m happy to share those addresses if desired. Nathan Scotland has done great work in this area as well. Net result is I believe there is 66M ICP in wallets controlled by exchanges.

I’d love to keep this conversation going to flesh this analysis out more. Let me know how I can best help.


Thanks for taking the time to respond @Kyle_Langham ! I’d love to continue this conversation with you, but first I’m going to address your pre-existing points/concerns.

This is shortsighted on my part - this definitely would have been easier than manually adding the figures (which is most likely what resulted in my inaccuracy). Thank you for providing the correct metric, and the source to easily find this information!

Thanks for this clarification - so I assume this implies that people have chosen to mint directly to their Coinbase / Binance wallet, to which the corresponding exchange immediately “drains” the account to the primary hot wallet.

This would explain why on the block explorer it appears as though the Node Providers have chosen to send rewards to an exchange upon receiving them.

You scared me with that statement :flushed: I think this is a misunderstanding - to find these values I utilized the 1st & 14th of each month, aligning with the price points referenced.

When looking back, I also noticed these had slight inaccuracies (in the cents), so I’ve also updated this information alongside total Node Rewards for the month.

I also utilized the B221 app to verify exchange information after sourcing them from the block explorer & could not find reference to alternative wallets to what had been provided.

As such, I’d greatly appreciate the additional wallet addresses so I can add them to this article!

66M vs 2M ICP is certainly quite a difference in liquidity!

With those points aside, I’m curious about your stance on the Inflationary Spiral in correlation to algorithmic minting of $ICP for node providers.


What price point initiates a death spiral?
Because ICP will likely see $2.00 and lower.
Bitcoin will dump below 20k, and this will bring icp to its knees.

So we need to have a clear cut answer from dfinity what their plan is.


At 2$, we’re facing 2.4% annual inflation from Node Providers.

At 1.5$, we’re facing 3.2% annual inflation from Node Providers.

At 1$, we’re facing 4.9% annual inflation from Node Providers.

At 0.25$, we’re facing 19.6% annual inflation from Node Providers.

I think the “magic number” queuing an inflation spiral is going to be somewhere around 1$.


Interesting Math!

Might have missed this part but are we calculating under the assumption of static volume?

A sudden shift in volume positive or negative (negative is my current bias) could very much change the landscape rapidly

What I’m personally interested in is the timeline

Trying to do this for fun ATM, but I’d like to see the gradient of the chart and the rate of change of the gradient to see where at current rate, the price would go and the timeline for it

^above would probably be grossly inaccurate due to the fast paced and changing environment but assuming some static variable would allow a picture of the worst case atleast

Incase anyone has the question “who cares about price?” The concern is more about ICP sustainability than “investments”

If we’re able to sustain ICP for multiple years regardless of price action, that would give builders some reassurance


With those points aside, I’m curious about your stance on the Inflationary Spiral in correlation to algorithmic minting of $ICP for node providers.

I’ll start with this question first, since it’s most likely top of everyone’s mind. I calculate that node providers provided 377k of the ICP that went to exchanges in August (580k ICP x 65%). That’s a little more than 10% of the 3.752M ICP that I think went to exchanges in August (calculated by examining hot wallet account behavior). The vast majority (~70%) of that 3.752M was ICP that had previously dissolved off the NNS. From that perspective, I’m not so concerned over node provider rewards at this time, however I agree it’s worth keeping an eye on and we should be willing to act fast should the data tell us to. Just my two cents.

this definitely would have been easier than manually adding the figures (which is most likely what resulted in my inaccuracy)

The dashboard page is good for high level, but you would have had to look at each NP wallet to get to a % sent to exchanges (as you did). As someone who has done the same analysis, I feel your pain :slight_smile: It’s brute work tracing ICP movements. Kudos for doing it!

This would explain why on the block explorer it appears as though the Node Providers have chosen to send rewards to an exchange upon receiving them.

When ICP is sent to an exchange it (almost) always goes to an “client exchange wallet” which tells the exchange which of their clients sent them the ICP. They then (again, almost) always sweep that ICP up to their hot wallet. This behavior helps in analysis because it’s easy to spot when ICP is sent to exchanges.

As such, I’d greatly appreciate the additional wallet addresses so I can add them to this article!

Here’s the hot wallets for exchanges that I feel confident about

Account Name Ledger Account
Binance 1 d3e13d4777e22367532053190b6c6ccf57444a61337e996242b1abfb52cf92c8
Binance 2 220c3a33f90601896e26f76fa619fe288742df1fa75426edfaf759d39f2455a5
Houbi 1 935b1a3adc28fd68cacc95afcdec62e985244ce0cfbbb12cdc7d0b8d198b416d
Okex 1 e7a879ea563d273c46dd28c1584eaa132fad6f3e316615b3eb657d067f3519b5
Coinbase 1 4dfa940def17f1427ae47378c440f10185867677109a02bc8374fc25b9dee8af
Coinbase 2 a6ed987d89796f921c8a49d275ec7c9aa04e75a8fc8cd2dbaa5da799f0215ab0
Coinbase 3 449ce7ad1298e2ed2781ed379aba25efc2748d14c60ede190ad7621724b9e8b2
Coinbase 4 660b1680dafeedaa68c1f1f4cf8af42ed1dfb8564646efe935a2b9a48528b605
Coinbase 5 dd15f3040edab88d2e277f9d2fa5cc11616ebf1442279092e37924ab7cce8a74
Coinbase 6 4878d23a09b554157b31323004e1cc053567671426ca4eec7b7e835db607b965
Gate 1 8fe706db7b08f957a15199e07761039a7718937aabcc0fe48bc380a4daf9afb0
KuCoin1 efa01544f509c56dd85449edf2381244a48fad1ede5183836229c00ab00d52df
Kraken 1 040834c30cdf5d7a13aae8b57d94ae2d07eefe2bc3edd8cf88298730857ac2eb
Unknown 1 acd76fff0536f863d9dd4b326a1435466f82305758b4b1b4f62ff9fa81c14073

There’s a bunch of cold wallets, but they get complicated and some I’m less confident about. However, here is Binance’s cold wallet, which I feel very confident about: 609d3e1e45103a82adc97d4f88c51f78dedb25701e8e51e8c4fec53448aadc29

Let me know how I can further help


I completely agree that in the immediate short term future, this is a non issue.

The primary concern is if we continue upon our current trajectory, without a failsafe in place - amidst an ever-volatile market.

While it’s true this only occurs on a monthly basis - it only takes one month of bad timing to start a landslide that will be very hard to clean up.

I’ve been considering a few ways to “solve” this, and while I don’t think any are going to completely solve the problem, I think it’d be good to start the conversation:

  1. Pay Node Providers in a defined amount of $ICP, over compensate in the short term, introduce halvenings to prevent over compensation longterm.

  2. Pay Node Providers with Cycles burnt on their subnet.

  3. Define a reward pool for Node Providers, similar to staking rewards, in which Node Providers equally split depending on contribution.

Fair enough - much appreciated ser!

Thank you for the clarification here as well :handshake: I will have to look out for this behaviour in the future when doing analysis’.

Much appreciated on the list of wallets - I will index these within the provided google sheet!:heart:


I believe for this topic might be convenient checking also previous discussions:

I have also a strong feeling that via a proposal the number of ICP that can be minted as Node Provider Rewards was limited (to prevent inflation spiral) but didn’t find it so far (I think @diegop was involved…?).

Update: just found it

  • Proposal: 64141 - ICP Dashboard
    • as current monthly total Node Provider Rewards are higher I guess something was changed in between as the proposal (monthly limitation to 100k ICP) passed
      • or it’s limitation per provider so we’re still safe

Thank you for providing this! If fine tuned, this would definitely be the type of “fail safe” that would prevent a “TERRA/LUNA event”.

With that being said, I’m curious for further clarification upon this proposal:

While I recognize it says each Node Provider is capped at 100k ICP monthly, I’m curious if this applies to Nodes or the Node Providers themselves. Some Node Providers host dozens of nodes, and are already running extremely close to this 100k hard cap.

However, based off my math, with this hard cap in place, the maximum monthly inflation should be ~9.6M ICP (assuming the proposal is correct in categorizing Node Providers).

Ironically, this hard cap actually results in more extreme inflation than where we stopped (0.25$) within the inflation extrapolation model.


I’ve been considering a few ways to “solve” this, and while I don’t think any are going to completely solve the problem, I think it’d be good to start the conversation:

There’s a lot of wisdom in this statement. I agree that it is prudent to discuss this potential problem and identify potential solutions should we (the NNS) begin to worry about the potential for a landslide.

I haven’t invested much thought or research into how to solve this potential issue (only how to identify if it is an issue) so I don’t have much to say in regards to suggested resolutions should NP rewards get out of hand. However, I’ll say it’s certainly worth evaluating options and getting consensus around one or two so that the NNS could act fast should the need arise.

I’ll flag this thread with the teams that handle NP rewards within DFINITY so they can add their thoughts. In addition, I hope the community will follow in @Accumulating.icp’s lead and also brainstorm and discuss ideas.


Hello #ICPeople

it’s CryptøBased from twitter @FullyOnChain

Could each node should spin up it’s own 8year neuron automaticly and a percentage off the monthly rewards should be added to it every pay out so it could become more self sustainable and maybe even more profitable over the long term when price off icp grows also imo it would fair if all contributors off the inflation would give in a bit just my thoughts what do you guys think about it


I think this is a creative idea that would foster a stronger relationship & dependence between Node Providers & the blockchain as a whole. It would definitely amplify the “skin in the game” aspect of it, ensuring a portion of rewards are staked to accrue further interest.

With that being said, I believe there’d be a couple issues implementing this:

Primarily, DFINITY is vocally opposed to Canister Controlled Neurons - actively stating they will do what is in their power to circumvent the function as they don’t believe it should exist. This has been showcased numerous times, most notably within the is_self_authenticating function.

Secondarily, I think this has the potential to offer a double edged blade. If it is an indefinitely non-dissolving neuron, I could see the benefit in reduction of shortterm inflation in exchange for minimal long term inflation. Alternatively, if it has the potential to be unlocked, or even sold, via ID Geek, this drastically reduces the effectiveness. Unfortunately, we currently do not have this functionality (indefinitely locked neurons) available to us - so this is something that would require further development.

With that being said, I’d agree that neuron’s are a unique solution to inflation to be explored - doubling as an income source over the long term, as DFINITY has shown.


There’s only two feasible solutions that I can think of:

1.) Some of the node providers pause operations, thereby lowering the amount of $ICP needed to pay node providers.

2.) Someone, (either the community, DFINITY, or a combination of the two) come up with the funds to pay the node providers. And their payments would need to be dispersed in a currency other than $ICP so that node providers don’t just add to the sell pressure when they sell the currency to cover costs. ckBTC would be the best candidate in this case. It’s built on the IC and would be easy to make a protocol that collects the funds from the IC community in a way that’s transparent and auditable.

If the inflation rate gets to a point where it’s out of hand, we’ll probably have to implement some combination of the two solutions i just listed. Unless someone has a better solution.


To reduce inflation reward distribution could be reduced by estimated monthly neuron interest until the reward was completely sustained by the neuron. So the only full reward payment would be the node providers first payment. Afterwards rewards would scale down based on interest accrued monthly. Reward payments would cease completely when the neuron reaches the ability to produce the max hard cap reward regardless of new nodes added etc.

That said node providers will always need x ICP to operate sustainably. So the percentage allotment to neuron should not reduce liquid reward below x. This will be of more importance for the first payment in a schedule like this as once interest begins generating x can come from both rewards and neuron.


How do you guys come up with these complicated solutions.

we could just pay them a fixed rate of icp like every single other blockchain.

We don’t need to reinvent the wheel.


Multicurrency Reward Pool

In line with your second proposition, why not establish a multicurrency reward pool where contributions could come from ICP holders and possibly even external financial systems interested in sustaining the ICP ecosystem? This pool could be auditable and transparently managed by smart contracts. ckBTC, as you mentioned, could serve as an apt candidate for disbursement.

Staggered Sell-off Lock

Instead of doling out ICP rewards that can be instantaneously liquidated, enforce a time-based lock on the ability to sell off the rewarded tokens. The duration of this lock could be inversely proportional to the stability of the ICP value. In times of high volatility, the lock extends, thus discouraging sell-offs and reducing market pressure. This idea could be further nuanced by applying a decay function to the lock period, thereby allowing gradual releases that don’t shock the market.


I completely agree with @Accumulating.icp

We should come up with a solution as soon as we can instead of waiting for the situation to get more concerning . Market forces more often than not are smarter than we think. If icp price gets to a point where we start to be concerned about this issue, that’s prolly already too late . Price goes to 0 and it’s all over .

I really hope the team can brainstorm different ways e.g. set strict limits on node rewards , or pay them in a currency other than fiat , etc. to get this resolved in the short term . Only in that way can we remove all the concerns we have and market forces don’t have a chance either .


What happened to proof of useful work that we where brandishing?