PNK minting and 2nd token sale - affiliate, bounty, referral

Chances are the 2nd token sale will come to fruition: PNK minting and 2nd token sale

Thinking and planning ahead…

You’ll notice a lot of question marks - this is because I’m only presenting a starting point of a discussion and I’m looking forward to reaching a consensus.

Aligning incentives

  • Kleros surely wants to sell the full round at favorable prices

  • PNK token owners want to ensure decent price and liquidity.

  • Telegram trolls can do what they do best

  • I personally would like to share Kleros widely…

  • …and have an incentive to do this

(note that 2nd token sale will operate on a different premise that 1st one)

General assumptions

  • It is not time-sensitive, the affiliate program can conclude after the sale

  • Low cost, low maintenance

  • Can be low tech, such as calculating in Excel / Google Sheets (no smart contract required)

  • Editing 3 lines in to accept extra field in buy function (referrer) and emit event is acceptable…

  • …this is to avoid labor-heavy process of re-reviewing the smart contract

¿Avoiding distraction?

  • If there is an additional field “referral” that could act as a distraction.

  • Definitely don’t want to distract on the most important, money-making page.

  • I’m guilty of it - whenever there is a promo code field - next 10 minutes are gone.

  • To avoid distraction, suggesting displaying referral field only when someone visits the sales page from a referral link.

¿Avoiding confusion?

  • I have visited the sales page on my phone and I got the referral field

  • I have visited it again on my laptop, connected Trezor, now it’s gone

  • To avoid confusion, when visiting from a referral link, show an explanation:

“You’ve been referred by mars
"Referral field is visible only when visiting from the referral link.
“This is to avoid distraction for visitors without it so they do not search on the internet”
“Read more about the affiliate program on:
"Bookmark this page for easy access in the future "

A little bit concerned about guys who will not read it.

On the other hand, if we do a decent job communicating about the referral program, the rules, the rationale behind them - our audience is smart (above the average) people. Surely they can understand

¿URL structure?

¿Affiliate register?

¿Extra % bonus amount?

  • Big enough to incentivize action.

  • Small enough so it does no become a goal in itself.

  • For reference, the token allocation for airdrops is 4%:

  • On that basis, I suggest dedicating 4% for the affiliate budget, split the following way:

    • 3% for the referrer - this is to incentivize promoting

    • 1% for being referred - this is to incentivize using the referral link

¿Relying on existing incentives?

  • I’m already a medium-sized token owner (200k + some more coming from the bounty)

  • Maybe my existing stake of PNK should warrant me acting like someone who promotes the sale, even without the affiliate commission?

  • In the previous IICO round my incentives were not aligned, as someone who sent some ETH into the IICO I did not want others to participate to obtain more PNK.


I think that the referral program can benefit and incentivize all the parties involved.

I’m keen to find a way that maximizes value whilst minimizing the side effects.

(the distraction of finding promo code and confusion related to hiding fields)

Let’s talk, let’s think…



I’m in favor of some scheme like this. We need to think a bit about the specifics of the numbers of the referral (how many tokens, how gets them, etc.) to avoid it’s gamed, etc.

But I think we could implement something like this.


The 2nd round of sale is very fair, no fomo.

The referral should also be very fair, no fomo.

Many questions raised in the opening post.

I might be smarter than an average labourer but I’m not smarter than everyone and definitely not smarter that everyone else combined :slight_smile:

The concern about distraction and confusion - we are 100% fully open-source transparent - I don’t want to distract someone who decided to buy and make them search for a referral link. I don’t want to confuse someone who is looking for a referral field in a situation when it was there the last time.

These are two conflicting views.

We better find a solution, consensus, workaround…

I don’t have a strong opinion on this one, but if it does not lead to extra complexity in the sale for people not using the referral system, it might be a good idea.

I think people had enough time to discuss it and the sale is starting soon.

Could you make a formal proposal in the vote section? @marsrobertson

1 Like
  1. Amount of bounty to be paid: up to 4% of the sale, in alignment with the existing airdrop pool allocation document

  2. The amount of extra to be paid to referrer 6%.

  3. The amount of extra to be paid for being referred: 3%

    (decided to increase the number to promote the referral system)

  4. 9% is the total bonus but only 4% allocated but not all purchases will be through the referral scheme. If the 4% pool is exhausted then:

    A) no more payouts
    B) scale down proportionally (so it is not 6/3 but 5.4/2.7)

  5. Minimal changes to the existing smart contract. Pass the referrer field and add that field in the emit event.

  6. Calculate the rewards within reasonable time (10 days) upon concluding the sale manually in Google Sheets.


On the front-end some changes will be required.

  1. Show / hide referral field depending on the URL, this is to avoid confusion and guys leaving the sales page hunting for coupons.

  2. Motivation for such decision to be fully communicated in Terms & Conditions.

    (those who read them can use referral code included right there)

  3. Display a message:

    “You’ve been referred, bookmark this page or add /ref to the URL to display this field. If you want, we can set up a cookie so the field is preserved upon visits”

    (we can also set up a cookie by default)

URL structure?

JavaScript can easily check if the ref field is ETH address, if not lookup in the affiliate register.

Affiliate register

  • Concerned it’s unnecessary complexity.
  • On the other hand it’s easier to pass human readable referral name.
  • On the other hand, if the referrer field is not visible by default, no need for it to be human readable.

Affiliate register presudocode

contract AffiliateRegistry {
  mapping(string => address) register;
  registerAlias(string alias) {
    require(!register[alias], "alias already registered")
    register[alias] = msg.sender


As you can see, still some decisions to be made:
:one:How much bonus?
:two:Bonus for both?
:three:How much allocated for bounty? (what when exchausted?)
:four:Hiding the referrer field in the form?
:five:Affiliate register?
:six:URL structure?
:seven:Setting a cookie?

I don’t think you should give stuff for people being referred (or maybe 1% at most).
I also don’t think we should do anything modifying smart contracts, we can log on the frontend people accessing the sale via a referral link.

I would not use a pool as this complicates it without any benefit.

Also there is the storytelling bounty which serves this purpose.
So I’m not sure we’d need referral in addition.

I think there should be some carrot, otherwise why would I use that link? Some incentive is required.

That could be easily gamed, tricked. Only real ETH sent matters. Adding one extra field and emitting the event is simple enough.

Here is my logic behind it:

  • 6% and 3% for the referrer and being referred.
  • But only 4% allocated for bounty.
  • What if everyone is using the referral program?
  • That’s why suggested proportional reduction of payouts in case 4% allocation is exhausted.

That was so quick: Kleros Storytelling Rewards

I estimate I’ve spent close to 10 hours thinking, analyzing, writing, editing, formatting all the forum messages in this thread alone.

Me too.

Many considerations, many decision points. Complexity is the opposite of simplicity, simplicity (intuitive understanding) is required for adoption.

1 Like

I’m for having a referral. Network effect can be astronomic in a token sale. We all saw a lot of instances of this no need to mention. I’m not sure having a referral is decisive on this but surely it will have some positive impact.

If we want to have referral we need to finalise a number of parameters.

I’m worried that there is a number of decision points.

Starting from: DO WE DISPLAY “referrer” FIELD IN THE DEFAULT VIEW?

I’m actually not sure, I’m worried it is a distraction, I know myself, I’d be browsing internet searching for the promo code…

(on that basis in I’m suggesting hiding it, enabling only when the URL contains the ref)

There is some work involved, some decisions to be made.

I’m happy with the storytelling bounty too - “talk is cheap, show me the code” - not anymore, now I can share some war stories as well…