Held Amount, Graceful Exit, and Hard Drive Failures


  • RAID is unnecessary because the network ensures data integrity
  • Run a separate node for each hard drive so drive failure doesn’t take down any more than the payouts and data already lost.
  • At least 50% of your SNO earnings will always be held back without a graceful exit.
  • All hard drives eventually fail.


  • You will always lose at least 50% of your SNO earnings.

The only logical step to take is to perform a graceful exit at 15 months to claim all your SNO earnings. Followed by creating new node on the same hardware, repeating the cycle every 15 months until the hard drive fails.

Unless you’re getting SMART errors, you have no idea a drive is dying. By the time you get SMART errors you may already be so close to failure that you’ve already lost data, failed audits, and the node disqualified OR the drive will fail even before a graceful exit can be completed.

I am also considering spinning up new nodes continuously and keep their size relatively small. Whenever a new node is „grown up“, I could then graceful exit on the oldest one…
So I would minimise possible losses if one of my drives fails.

But on the other side, the older the node and the data on it is, the more egress will be there…

1 Like

This strategy makes absolutely no sense. From month 10 on there is 0% held back from earnings. By starting over every time you would also be starting the held amount period over at 75% held back. All you’re doing by starting over is losing all data and income that would generate and rotate in new held amount to exactly the same amount. If you share enough space, you’re not going to care about the held amount left over after month 15. You’d be making that amount of money each month. And starting over means you’re back to making almost nothing again. Please think this through before you make a stupid decision.

This part isn’t even close to true. After 9 months there is no additional money held back and after month 15 you get half of what was held back. By then what’s left behind is a fraction of total earnings and not something you should be worried about.


This makes sense, but for different reasons:

  • If you’re running your storage node on a system that you are also using for other purposes, the system is already full and you need to quickly free some space for those other purposes, then you can sacrifice (if not old enough) or graceful exit one small node instead of everything. I remember that Storj had plans for a partial GE, but it’s not implemented yet.
  • If you plan to add drives to your node after the first node gets full or have a node in a different location in the future, then you will be able to “replant” a pre-vetted small node to the new drive/location and gain benefits of a vetted/older node faster on that new drive/in that new location.

Though, this is a trade-off: vetting nodes on the same location will take increasingly more time, so the held back earnings that you’d get back in the 15th month will be held longer. That should not mean they will cumulatively be lower, though, just later.

Also, you can use Brightsilence’s calculator to estimate how much will be held after the 15th month. It’s far less than just “50% of earnings”.

So far from my observations age of data correlates negatively with egrees, so that might actually be another good point for your idea.

1 Like

I did that so I wouldn’t have to start from 0 when my node dies. Keeps the held amount low and the node might be already 6-12 months before you need it (the old one dying or you expanding).
But it’s a contingency plan. Makes no sense to abandon (GE) a node after 15 months because the new node will take 15 months to get the same amount of data again and therefore yield low returns…


What do you mean by “partial GE”?
I made a GE on a specific satellite and my node is still working for other satellites.

“I want to reduce the node by 2 TB” by transfering stripes to other nodes, instead of waiting for 2TB of deletions. Reduce storage / partial graceful "exit"

Well this is terribly embarrassing. :cold_sweat:

I misinterpreted the held back amount docs.

I took the following to mean 50% of earnings are kept forever until a GE.

  • Month 15 : 50% of total withholdings are returned to Storage Node Operator, with the remaining 50% held until the node gracefully exits the network
1 Like

No. Indeed, it means that from Month 15, you will get back 50% of the total held amount.

The docs are misleading. It’s month 16 when you get the 50% back because paid in arrears?
And it is per satellite so europe north will be month 20?

Each satellite count the age independently. So, it will be after 15 months for every node. The payout process has messed a little bit, because the held amount for 15 months you will receive in a month 16th (“payouts are sent in the first two weeks of the next month for the previous”).
However, if date of joining was close to the end of the month (or beginning of the month), it could be month 17. I hope this bug is fixed.
My nodes got back 50% of the held amount in the 16th month.

Still struggling with the held amounts. here a case where it states 100% held returned (consistent for all nodes >15month). Should it not be 50% of the held amount?

Stefan bentens (no name shown but it must be this one) shows Held total but no held returned (but I am pretty sure there was storj paid after 15month).
Is my understanding correct, that after 15month (all nodes) the held amount total should not change anymore and held returned should be stable after ~17month.

The left column is the amount that is still held. So what you are seeing means that 50% is still held ($6.51) and 50% has been returned ($6.51). So before 50% was returned there was $13.02 held. You can see this held amount having been returned by going up to the Payout History table and looking at this node for September (or maybe October).

The Stefan satellite sent the held amount, and then updated the info on all online nodes, then it was shutdown.
There will not be any updates from that satellite, you have only a local records in your database about it.
So for that satellite you will see only last updated info when your node was online.
The held amount after 50% return will remain until you call a Graceful Exit (one way ticket) or if node is disqualified (in that case the remained held amount will be used to recover missed pieces).

I think you’re confused because the idea behind a partial graceful exit is not to exit some satellites only, it aims at providing a way to tell satellites that you need some space back.

So for instance, let’s assume you have a 16TB full node on which you need 4TB of free space for your personal use: Today you have only 2 options:

  • Reduce the allocated space to 12TB, and wait for natural deletions to slowly decrease the amount of space used by your Node. This could take months, if not years…
  • Run a “total” graceful exit that would make your node leave some satellites (or all of them) for good, in a irreversible way.

StorjLabs is willing to provide a 3rd option they called “partial exit” which is a complicated name just for being able to start a procedure sending part of our data to other nodes, similarly to what happens when running a graceful exit, but only for a certain amount of the data. This way you could get your 4TB back in a few weeks, without leaving any satellite, and without having to wait forever for natural deletions to occur.

As a side note, I think it should be renamed, it’s confusing. “Node shrink”, “Reduce space” or similar would make more sense to me…


I agree. The name of this operation shouldn’t be associated with the idea of a graceful exit. I find it very confusing.