robosats
robosats copied to clipboard
A privacy friendly referral program.
Eventually the usefulness of RoboSats will boil down to how much liquidity is in the book.
In order to increase liquidity organically (i.e., make the platform more popular) one could think of a referral program; that is, a user is rewarded for recommending the platform to other potential users. However, implementing a referral program is extremely difficult while 1) avoiding users to spy on each other and 2) keeping minimal tracking and logs.
Example Implementations
-
Reward a user X% from the fee for every trade of the referred users (aka Binance model). Issue: can easily be exploited by a user to spy on other users' trading activity, especially if the rewards are deterministically linked to the users activity.
-
Direct single payout for every new user that is referred. Issue: the low barrier to create new users in RoboSats makes it very easy to abuse this feature. One can create a referral link and reward himself many times.
I do not think there is an optimal solution, therefore a referral program will probably never be implemented. However, it makes for an interesting thinking puzzle... Maybe there is a way to solve it...
It is clear a method for organic growth is needed. Referrals are the most appropriated ones. I will be working on implementing a referral program starting today.
- [x] Profile pop up shows your robot's referral link and rewards accumulated.
- [x] Tapping on rewards allows you to submit a LN invoice to withdraw them.
- [x] A new user landing in the homepage from a referral link will create a robot that
is_referred=true
- [x] At trade time, the referred robots has an extra flat fee (e.g. 100 Sats, in concept of tip to his referee)
- [x] Everyday midnight rewards are added up to the balance of the referees.
Why this set up? Mostly to limit spying with referral links and avoid exploits:
-
Flat reward: so those who send link cannot know the size of the trades.
-
Balance reflected at midnight: so those who send link cannot know when the trades happened
-
The new user tips his referee: so this feature cannot be exploited to make the platform run into loses by automating bot creation and self-referrals.
Of course, this is just a start. Most important is to implement the system. Parameters can be changed later :)
Some improvements that can make the system stronger:
- Reward ID is created only after a trade is completed
- You obtain a CODE, a shareable LINK (..../ref/CODE) and an ADMIN REFERRAL LINK
- With the admin referral link, you can see what you have obtained, withdraw... and maybe donate the sats to RoboSats.
This solves the issue: Referral codes persistence and links with Robots and prevents some marginal Robots reuse.
A little T&C can be added (about the amount of time the earnings are saved without any admin referral link login, security implications, etc.)
Yay! Good ideas, thanks for the brainstorm.
- Reward ID is created only after a trade is completed
It's preferable to not have to complete a trade to obtain a link. It is not trivial to complete a trade and we do not want to incentive self-trading to create referral links. In addition, it opens the door to potentially be able to link a real ID with a referral code... Not great for privacy. Better if a robot can be used for referrals only.
- You obtain a CODE, a shareable LINK (..../ref/CODE) and an ADMIN REFERRAL LINK
An admin referral link implies an admin panel and a UI element. Too much work as of now. Probably on a future version, not a priority as of now.
- With the admin referral link, you can see what you have obtained, withdraw... and maybe donate the sats to RoboSats.
Pretty cool!
Very good feedback, thank you!
Better if a robot can be used for referrals only.
This can be a good way to do the work!
At the moment the referral program has been totally dismantled as it is incompatible with the upcoming federated frontend (many coordinators, who will tip who and why?)