Suggestion: Run payout script weekly

I know there was lots of dicussion about payouts and delayed payouts and a high threshold and different suggestions to improve the situation.
This suggestion hasn’t been brought up (often?) before and iirc wasn’t discussed (much?) but would be the simplest for the moment, even though it will still not help the smallest SNOs and certainly not solve all our problems.

Suggestion: Run the payout script every week instead of every month.

I know in the past it was a monthly payout and there was always a notification about payments done etc.
But we have seen big fluctuations in gas prices so the threshold might be at $70 on the 7th of a month but $30 on a 14th of a month.
So my suggestion is to just run the payout script every 7 days. Whoever meets the threshold will get paid then.
For simplicity’s sake it doesn’t need to be with the current earnings and can just be with the earnings from last month, so basically you’d be running the same csv every week. Like come in on a monday, start payout script, script runs for a few days, whoever got paid got lucky, script stops on Thursday, repeat next week.

Is that a feasable solution that does not require much developer time?
It will not solve the payment problem but will result in a lot more SNOs being paid.

(Since there are so many topics about payment, forgive me for pinging you directly @jocelyn @littleskunk)

[A more advanced approach would be to have a gas fee watcher running that determines the best time to send a transaction after watching the gas for a few days but this needs more developer time than just trying to send payouts every 7 days.]

8 Likes

I like the simplicity of this approach. :+1:

A further improvement might be to chose to run the script at a (preset) time within the day with statistically lower gas prices. After running a simple analysis once (see [1]) they could determine that, for example, making payments at 22:00 UTC is cheaper than at 01:00 UTC (like in the February payments [2]). I don’t know if it would be possible, due to time zones, depending on where the team is, but it could cut the minimum payout by a little extra.

[1] https://ethresear.ch/t/daily-demand-cycle-and-intraday-gas-price-volatility/6330
[2] https://etherscan.io/tokentxns?a=0x303edcd8dbe1607fe512d45cc15d3e41fa4db44b

Yes the approach sounds simple I suggest storj gives it shot for a month, Mabey it will work maybe it wont.

Alternatively, before the payout script starts, sort payouts by highest to lowest amount. Start payouts at the top and pause when the transaction costs reach the 25% threshold compared to payout amount. Keep monitoring the gas price and resume when it drops below again. Just leave that running for the rest of the month and see how far you get.

5 Likes

@Alexey I’d like to ask this again, since it didn’t get any attention yet. This is a very simple and cost effective way to make more SNOs happy without investing any significant amount of time.

I have no definitive answer on this. As far as I know it’s just adds a lot of extra work on our end.

Thanks for the answer so far. It does add extra work? Is there so much more to it than running the same script with the same csv every week?

As I said - I have no detailed answer.

IIRC it takes around 5 days to do the payout calculation. On the 6th day the gas/fee may not always be low. I suspect this being the reason this method may not be viable.

It still gives the opportunity for payout 4 times a month instead of 1 times. And the calculation is likely done by a PC and not a human calculator.
Besides, if the csv is already calculated, it shouldn’t take another 5 days again.

1 Like

There will be new orders while the payout calculation is done so next week they need to be included. Otherwise the smaller nodes won’t get paid, I think.

it is sufficient to run the same csv from the last month’s payout as a retry, not including payments of the last week. Just the payments for last month. So no additional calculations needed.

1 Like