robosats icon indicating copy to clipboard operation
robosats copied to clipboard

A privacy friendly referral program.

Open Reckless-Satoshi opened this issue 3 years ago • 4 comments

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

  1. 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.

  2. 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...

Reckless-Satoshi avatar Jan 27 '22 18:01 Reckless-Satoshi

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:

  1. Flat reward: so those who send link cannot know the size of the trades.

  2. Balance reflected at midnight: so those who send link cannot know when the trades happened

  3. 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 :)

Reckless-Satoshi avatar Mar 05 '22 10:03 Reckless-Satoshi

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.)

ibertario avatar Apr 09 '22 15:04 ibertario

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!

Reckless-Satoshi avatar Apr 13 '22 14:04 Reckless-Satoshi

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!

ibertario avatar Apr 14 '22 17:04 ibertario

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?)

Reckless-Satoshi avatar May 22 '23 09:05 Reckless-Satoshi