Conduction of the lottery — URP Bounty Quiz
admin admin | August 30, 2018

Dear URP community,

We’ve just reached 5000 successful applications for the quiz. As you may know, 120,000€ worth of URP tokens will be distributed amongst the 5000 winners with the following distribution :

  • 10,000 URP for 10 people
  • 2,500 URP for 40 people
  • 1,000 URP for 150 people
  • 500 URP for 300 people
  • 200 URP for 500 people
  • 150 URP for 4000 people

It’s time for us to explain how the URP Quiz lottery will be run to attribute the special prizes. The lottery system works as follows:

1) We put all the 5000 participants who passed the quiz with a score superior or equal to 61 in a list L, ordered by the ETH address they gave.

2) We issue each participant a number of tickets. The number of tickets each participant has is function of their final score:

– Scores between 61 and 70 (bounds included) get 1 ticket.

– Scores between 71 and 100 (bounds included) get score — 70 tickets.

3) At this stage we have a DataFrame D containing all the N(total) tickets of all participants. The first participant P0 in L has tickets with numbers 0 to (N(P0) -1), the second participant P1 has tickets with numbers N(P0) to (N(P0) + N(P1) — 1)), etc.

4) To have a fair and auditable lottery, we will be using the blockhash from a future Ethereum block (depth=XXX) as a random seed. The random seed generation will be as follows :

– We first transform the blockhash into an integer by casting the string as a base-16 integer.

– We take the remainder of the modulo division of this integer by 10000.

– This remainder becomes the seed.

5) We use the seed to randomly generate a number

from 0 to (N(remaining) — 1), where N(remaining)is the remaining tickets in the list. The pseudo-random generator used will be the random.randrange (0, (N(remaining) — 1)) function in Python 3.5.

– The person who owns the ticket with number

wins, and is awarded 10,000 URP tokens, worth 1000€.

– We remove that person from L, and all their N(winner) tickets from D.

– N(remaining)=N(remaining)-N(winner)

– We re-index the remaining tickets from 0 to N(remaining) -1

6) Repeat step 4) and 5) until all 10 of the 1000€ prizes have been won.

7) Repeat step 4) to 6) for :

– the 40 lots of 250€ prizes,

– the 150 lots of 100€ prizes,

– the 300 lots of 50€ prizes

– the 500 lots of 20€ prizes

8) Attribute each of the 4000 persons in the list who haven’t won any of the special prizes the minimum prize of 15€’s worth of URP tokens.

Once the lottery has been run, we will send to each of the 5000 winners an email telling them which prize they’ve won. The tokens will be distributed after the end of the URP Token Sale.

Thank you all for joining us in the Universal Reward Protocol adventure, and for taking the time to take the quiz and learn about the project.


URP in brief

Universal Reward Protocol is a blockchain-based protocol that lets retailers reward shoppers for any type of shopping behavior, such as simply visiting a store. By accepting to share their shopping behavior data with the network, a shopper earns reward URP tokens, while the data is used by retailers to build redemption offers that best suit each customer’s needs. Shoppers can redeem their tokens through these exclusive and personalized offers.