project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

Refer: Sibyl resistant referral campaigns

Refer is a sibyl resistant referral protocol for on-chain campaigns. No more bots in your drops. More community in your community.

Refer: Sibyl resistant referral campaigns

Created At

Superhack

Winner of

🏊 Worldcoin — Pool Prize

🏊 Mode — Prize Pool

🏆 Superhack 2023 Finalist

Project Description

Refer is a no-code tool, backed by a new protocol, to setup and participate in on-chain referral campaigns. It demonstrates proof of humanness with Worldcoin, crosschain with LayerZero, and account abstraction with Safe & Pimlico.

To participate, all the following functionality is available through our website:

  1. Campaign manager defines a Campaign Token to promote*. Users need to acquire this token in order to be eligible. Other campaign configurations like max participations and reward amounts are available.
  2. Campaign manager defines a Reward Token to use as in incentive. Users are given Reward Token after proving ownership of the Campaign Token.
  3. Referer creates share codes to give to friends after validating they are human with Worldcoin.
  4. Referree claims share code. After proving ownership of the Campaign Token and their humanneess, they are given Reward Token.

Without proof of personhood, referrals were open to sibyl attacks. This means that each user could create many addresses and "game the system". With Refer we enable the possibility to make rewards correlated to people referred and not capital. Providing a powerful marketing tool to drive adoption and reward community members.

  • The campaign manager currently needs to manually approve the campaign contract to spend/send rewards on its behalf. This is a one time operation.

On-chain addresses: https://www.omo.so/sybil-resistant

| Chain Name | Mainnet | Testnet | |------------|---------|---------| | Ethereum | - | 0x316468A21476b648864c282d8ac4869f4Ce04d38 | | Optimism | 0x5b5097ebb5b0caa20968e262b386774d7582ddb6 | 0x9b55bf8f871155f94f973252736c7acc4de76424 | | Base | 0xD6aD1B7daaeeA3Ad95e3AeF65a4259dBa7b6856A | 0xCe7d9aE54199a4f847DfD168d929a286D72BE953 | | Zora | 0x32888423d4B8Aa9a555C9DBAd82a898646B69925 | 0xCe7d9aE54199a4f847DfD168d929a286D72BE953 | | Mode | - | 0x5816c73FE88a53b1286d6761F470865bA871f968 |

How it's Made

  • 100% on-chain: All state for the referral campaigns is managed on-chain.
  • Worldcoin: IDKit for onchain verification. The referrer and referree are both checked for humanness before
  • LayerZero: Cross chain communication so that users can prove ownership of a token on one OP chain and be rewarded on another. We also demonstrate this being used to validate Worldcoin on chains where it is not available natively.
  • The Graph: Indexing contract state for querying from the frontend.
  • Deployed everywhere: Refer has been deployed to Optimism, Base, Zora, and Mode. On Zora and Mode Worldcoin has been disabled since it is not supported. Addresses: https://www.omo.so/sybil-resistant
  • Paymaster for every campaign (unfinished): Campaign contracts serve as 4337 paymasters for referers and referrees. Sending user operations is finished, but paymaster not fully functional. This is convenient because gas fees can be withdrawn from the same fund as the reward tokens.
  • OpenZeppelin: Primitives for ERCs, Clones, and more.
  • Pimlico: Using their bundler for sending User Operations.
  • Safe: Account abstraction module used to interact with paymaster.
  • ERC20 + ERC721 support: Both ERC20s and ERC721s are fully supported as either campaign or reward tokens.
background image mobile

Join the mailing list

Get the latest news and updates