Kleros Second Sale - Proposal for Current Holders to Buy at Lowest Prices

In regards to points made by community members and the great discussion it has provoked, here is a proposal offering current PNK holders before the sale a better participation opportunity.

Feel free to comment, suggest or query any of the wording if it’s not clear enough.


Existing token holders participating in the 2nd round of sale will be able to buy PNK at the lowest sale rate in proportion to their holdings taken from a snapshot of the balance 48 hours before sale opening .

This will be accountable to one ETH address only in order to avoid movement of funds via different addresses. This possibility is available to current holders for one day (24hours) from the start of the sale.


I own 100k PNK which is confirmed in the wallet snapshot and attributed to address 0xa423fw…

I am able to buy 100k PNK guaranteed at lowest sale price matching my snapshot wallet balance.

I can also purchase any further amount in the same fashion as all other participants.

Technical implementation:

Snapshot of wallet balances with distribution of the lowest sale rate PNK within 3 days of the purchase.

All further PNK purchased over the allotted amount will be paid out instantly to the purchasers wallet.


How do you define the “lowest sale price” ?
It would requires some specific details about that i think.

I was asking myself if, for this second round, it could possible to implement a token distribution in a merkle mining way (like Livepeer has done, code is open source) ?
It may allow to restrain very large amount buyouts.

In the sale, the price would increase as more PNK are bought.

This would mean that current holders are guaranteed to get the lowest price if they buy on the first day (even if a sufficient amount of PNK has been bought to have the price increased).

This looks like a good idea, this ensure current buyers can buy at the lowest price.

Just a few propositions:

I would replace that “at the time of the sale opening”. There is no need to do snapshot 48h before, by doing it at the beginning of the sale, we reduce the amount of people who will miss it.

On technical implementation.

To simplify it:

  • If the purchase is made while the PNK price is the lowest, PNK are distributed instantly.
  • If the purchase is made after the PNK price has already increased, extra PNK will be delivered within 3 days of purchase. For example Alice holds 10 000 PNK. The lowest sale price is 0.000050 ETH. During the first day, she buys for 1 ETH of PNK at 0.000051 ETH/PNK. She gets 19608 PNK immediately. Within 3 days, she gets 392 extra PNK, for a total of 20000 PNK at an effective price of 0.00005 ETH/PNK.
1 Like

Instead of this, I think we can whitelist holders and disable buying in first day except for whitelisted accounts.

That can be done too, but that’s extra dev work, extra complexity and we’ll lose some buyers which will shows up the first day but don’t have PNK.

Check the post in the sister thread: PNK minting and 2nd token sale - rights issue - preferential treatment for current holders

I was also thinking about opening for existing holders some time before the main sale opens.

Now realizing it could be an obstruction to marketing efforts - two dates :confused:

On the other hand:

  • it’s simple enough to explain in one sentence: “existing holders have extra 24 hours”
  • it’s a good incentive to accumulate more PNK before the sale

Not sure about this example. Having 0.5 ETH of PNK and being allowed to buy 1 ETH at special prices?

I’m also worried about the complexity of calculations (even on the front-end, having time, not worrying about gas)

Alice buys 1 ETH and the buy() function fills 0.5 ETH at 0.00005 and 0.5 ETH at 0.000051 - now we need to know the exact state of the sale - will all the purchases and all the orders to properly calculate…

Opening sale 24 hours for existing holders seems simple. A few other guys suggested it. I support this idea. I was thinking about technical implementation. Check the PSEUDOCODE: PNK minting and 2nd token sale - rights issue - preferential treatment for current holders

If you like it, I’ll write the acual code and issue pull request.

Opening 24h before also works.
Could you make a formal proposal in the vote section?

Would this be the proposal you are in favor of @marsrobertson?
If it is, could you put a formal proposal in the vote section?

Yes, I’ll do it today. Can we confirm the conditions we’re happy with so I can put to the vote?

Doesn’t the proposal need a snapshot block no.?

We do not know exactly the block number right now.

“24 hours” is specific enough.

Solidity knows what we are talking about here: https://solidity.readthedocs.io/en/v0.5.14/units-and-global-variables.html