Hi POAP team frens
The Bankless DAO launched Bankless Academy last week.
This platform teaches people about web3, DeFi and more in very easy to use interface like Duolingo.
While learning about these topics, users have to complete quizzes and quests (web3 actions). After that, they are receiving a POAP as Proof of Completion (or Competence) of their lesson.
Since we launched 8 days ago, we had:
- 10k+ unique visitors
- 6k unique ETH wallets connected
- distributed more than 3k POAPs for each lesson, so more that 6k in total
Also yesterday we got featured in the Bankless weekly rollup :
… so we are expecting more traffic this weekend!
TECHNICAL DETAILS ON ANTI-POAP FARMING
A couple days ago I shared how we are trying to prevent farmers to farm in the POAP #development Discord channel (currently has 7 including a POAP developer).
Here are the details on how I’ve implemented the POAP distribution and tried to prevent POAP farming:
- each learner is required to answer the quizzes and do the web3 quest
- to claim a POAP code the user has to sign a message with his wallet
Before distributing the POAP codes, we check that:
- the user has previously done the quest (this is stored in the database)
- took less than 2 minutes to sign the message
- verify the signature in the backend (you can’t claim a code for another ETH address)
- prevent people from claiming more than 2 POAPs per IP
Also I don’t upload all POAP codes I requested to the database in one go.
I upload them by small batches. Currently batches of 200, but I’m planning to reduce that to 100 or lower as the traffic reduces.
This helps to discourage famers: in case someone actually manages to farm some, they soon see a message “No more POAP codes available …” until I manually re-upload new codes.
As you can see it’s complicated to farm the POAP codes at the moment, unless you use a VPN and do all the steps manually.
Ideally we don’t want to require sharing a signature on twitter or BrightID and similar to keep the experience simple and very accessible.
But if we don’t have a choice, we’ll consider stricter requirements in the future.
If the POAP dev team has suggestions on how to prevent farming, I’ll be happy to discuss and see what else is possible to add.
Our project GitHub repo GitHub - BanklessDAO/bankless-academy
WHAT WE NEED RIGHT NOW
First of all, resume our ability to request POAP codes.
Right now we already distributed all the POAPs codes for #26971 and are about to run out of codes soon for #26972.
Receive feedback from your dev team if you consider that our current POAP security is not strong enough.
These 2 events are going to be on-going for the whole year, so we would like to request for batches of 1000 codes at a time. Like I said earlier, we won’t upload all of them into the database in one go but only in small batches. Having this buffer is going to prevent spamming you everyday with small requests and also avoid being stuck without codes during rush hours or weekends.
At the moment I’ve created this POAP support page https://bankless.notion.site/bankless/Bankless-Academy-POAP-Support-9a9e60c883ac427da14dad324731028c
Let us know if there’s anything we could improve.
We would love to create a dedicated POAP lesson on Bankless Academy in the coming months, so let me know if you are interested!