Proposal for a decentralized reward program like rainfall

I want to propose a new rewards program similar to rainfall that uses a smart contract and would be inherently less centralized, less complex, and less error prone than our existing rewards programs.

Instead of holding fox in their wallet to be eligible for rewards, it could be done in a smart contract as follows:

Use the existing staking contract code with FOX as the staking token (instead of uniswap fox/eth LP tokens) and USDC or whatever token we want as reward token (maybe even fox). This would be a bit different than rainfall in that there would be no “random” rewards but in the end it achieves the same thing – rewarding users for their relative fox holdings. It also adds some additional friction to the movement of fox tokens by having them staked.

It’s awesome from a developer perspective because rainfall has LOT of complexity and needs at least 3 different systems to talk with each other (watchtower, northstar, axiom + token ledger & various databases). Using a contract could remove most of this complexity while turning it into a decentralized reward system that does the same thing with less potential for bugs and less maintenance (worrying about hot wallet funding, etc). We might want to modify the existing contracts and allow us to end the rewards program early / withdraw excess funds but it wouldnt be that hard

Would love to hear anyones thoughts on this or other ways we could do it

11 Likes

This is a great idea. I’ve been thinking we need something similar. Do you think this contract or similar could handle FOX back and FOX fuel. How could we use a smart contract to tell it that an address has earned rewards based on a recent trade, that they can claim sometime in the future when they have earned “x” amount.

2 Likes

@technojak

Ive thought a bit about rewards like fox fuel / fox back that are dependent on individual trades but it gets more complex and cant be done so easily in a purely decentrallized way

This idea is more similar to our rainfall program that randomly rewards users in proportion to the amount of fox they hold. I like it because it sticks to our decentralized ethos while reducing complexity compared to rainfall

2 Likes

couldn’t we use the the block nonce to assign a single winner every block from a random position in the merkle true? (and perhaps a random amount) We could even use a claim system to make the operational cost be free our side (aside from the rewards themselves).

I guess that would make 6,500 winners a day :joy: perhaps we could pad the randomness to only pick a winner half the time.

2 Likes

I love this proposal @elmutt and fully support the creation/moving of our current rainfall system to something like this. It fits better with our ethos towards decentralization and would be more sustainable long term.

I would fully support a vote on making this proposal happen and writing a new smart contract to transfer our reward system to.

2 Likes

Do you think this is possible on main-net ETH @elmutt? I feel the micro-payments of per-block rewards would be a huge cost sink in gas. Would be great on a layer 2 like xDAI.

1 Like

@Marley why couldn’t this just work like the staking contract where rewards accrue and users can decide when to pay gas to withdraw? Seems like that would work fine on mainnet.

I wasn’t thinking of the user paying gas. That would be fine :cowboy_hat_face:

1 Like

I love this smart contract idea since it has worked so well for Max FOX.

@elmutt something not included in your proposal. Are you looking for FOX tokens bounty to accomplish this? Or have this be a bountied project for the community?

1 Like

@Marley

Gas fees aren’t a concern in this case because there wouldn’t be any transactions triggered per block or on a regular bases by an oracle or anything like that.

It would use the existing staking contract (with some modifications) which allows users to “stake” their fox and then “claim” their rewards at any time. Gas would be paid by user at time of claim

3 Likes

The like this idea a lot. We win together, evenly.

3 Likes

@SS-Matt

Mostly I just wanted to throw the idea out there and gauge peoples feelings on it. I would love to work on this for a fox bounty as an individual or along with a small team.

It’s hard for me to determine an appropriate bounty right now mostly because I’m not sure of the entire scope of work yet. Mostly I’m unsure of what the new UI/UX would look like if it were to replace rainfall and how we get signoff for that new UI from the community in a decentralized way.

I feel like I would need to talk with someone more familiar with the UX / design side of things and then come up with a more concrete proposal of exactly what the work entails and who would be involved

3 Likes

UX/UI, you say… calling @beard

2 Likes

I love this idea a lot.

@technojak what do you think about rewards for staking fox instead of rewards triggered by a trade? Curious if you think it is as good? If not, is there anything that can be done to make it more exciting?

2 Likes

@elmutt this seems to have pretty strong support, I think you should move forward to boardroom ideation phase.

1 Like

Just want to re-iterate @elmutt - I think this is a great idea and I really think you should move this forward to boardroom as the next stage soon! We will need this sooner than later and I think the community would have a lot of interest in funding the buildout of this.

1 Like