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

Followem

Universal permissionless promotional and referral system for ethereum onchain activities.

Followem

Created At

Scaling Ethereum 2023

Winner of

🥈 Connext — Best Crosschain App

Project Description

Our goal is to help projects increase their revenue by providing a permissionless way to run advertising campaigns on the blockchain.

Imagine a project owner or contributor wants to help mint NFTs in a specific contract. They can create a campaign using our factory contract on an arbitrary L2, specifying the user acquisition reward and the total amount they are willing to pay. Then, anyone can use the generated link or widget to bring in a new audience.

When someone mints an NFT through our forwarder contract, it sends a message using Connext to the L2 campaign contract, which increases the commission to be received by the referral.

As soon as someone has minted the NFTs, relevant promoters can claim the available commission.

This principle can be applied to other value-transferring activities on the blockchain.

Using such a system improves transparency and trust between project owners and promoters. Its permissionless nature also allows anyone to participate and generate value for the project and themselves.

Another interesting property of such a tool would be a standard event that is emitted when someone interacts through the forwarder contract. This would allow for tracking paid promotional activities.

For example, if someone is offered a reward to mint an NFT, people who follow their account for insights, or "alpha," may not know whether the influencer minted the NFT on their own or is being rewarded for it. With such a standard interface, wallet tracking applications would be able to display such paid activities happening on the blockchain.

How it's Made

By using L2 networks (Optimism, Polygon and Gnosis) as well as Connext we are able to offload gas costs for the referral system built.

When the campaign is deployed the creator is specifying function signature that would count towards receiving commission.

Our forwarder smart contract on L1 is receiving calldata that is used to call promoted target contract. Tokens received within the interaction are forwarded to the account that originally called the contract and the signature of the method executed on the target contract are posted via connext to L2 where the campaign is deployed. As soon as the message arrives and validates in the campaign contract we unlock commission for the promotion to specified advertiser.

For handling the results of interaction for promoted contracts we implement a router logic which maps function signatures + generic or specific target addresses to deployed contract implementations. Our forwarder contract is using delegatecall to call those implementation staying with the context of its storage.

background image mobile

Join the mailing list

Get the latest news and updates