alexanderzatko / rovas

Application for participating in the NEO economy
0 stars 0 forks source link

Allow buying Merits #188

Open alexanderzatko opened 4 months ago

alexanderzatko commented 4 months ago

Merits are granted when a person surrenders the exchange value they earned in or outside of Rovas to "mankind". Currently this happens only if somebody buys or rewards a product — the product shareholders receive Merits in the amount that is commensurable with the number of Chrons or Euros paid (while an equivalent amount of Chrons is destroyed).

This proposed feature changes the existing functionality (1) and adds ability to buy Merits outright (2).

  1. There is a difference between buying a good or service produced in Rovas (a) and rewarding a project that does not provide a good or service in return (b). In the first case (a), the buyer deserves no Merits, as they receive a tangible benefit for their money. In case (b) however, the payment-making user has the right to be rewarded for their donation with Merits. Therefore the existing project rewarding functionality must allow the rewarding user to get Merits for that portion of their reward, for which they do not receive any good or service. The determining factor is the project price. If a project does not have a price, or a buyer pays more than the project price, then the donated portion of the payment can be rewarded with Merits.
  2. In addition to donating money to a particular project as described above in case (1), people will be able to go to the Forex page and buy Merits for their Chrons or Euros.

In the first case, Rovas will use the following algorithm to convert national currency to Merits:

  1. only Rovas registered users can have Merits, therefore a donor must register and log into Rovas first
  2. when making a donation and paying with national currency, Rovas will ask the donor to provide their tax residence country. This information will be used to determine the average hourly pay rate (AHR) for the donor
  3. Rovas will divide the paid amount with the AHR to determine the amount of labor time equivalent to the donation amount
  4. The donor will receive Merits in the amount equal to ten times the calculated donation time
alexanderzatko commented 3 months ago

To prevent fraudulent purchases of Merits, new fields will be added to the projects form, for the organization ID and an URL pointing to a web page, where the ID can be verified. If the ID is missing, or does not verify (how?), payments made to the project will not earn Merits to the donor, or can be revoked if granted without merit.

Here is the scenario this feature is addressing:

  1. Registered user A creates a project in Rovas and sets it up in a way that allows donors to earn merits for their donations.
  2. The user B pays into the project, receives Merits and the paid national currency goes to the beneficiary of the project, which is the user A.
  3. The user A is the same person as the user B, or the user B has an agreement with the user A to return the paid money to them.
  4. The end result is that the user B has merits AND the money they used to "buy" them.
alexanderzatko commented 2 months ago

The 2nd scenario was coded and deployed to production. It would be desirable however to change the NACE category the purchased Merits are classified with, in case when the buyer pays with Chrons. In that case, we can determine what areas (NACE codes) the user earned the Chrons in, and use that information to classify the Merits purchased instead of the "catch-all" 64.99 category currently being used.