The project utilizes ad revenue to waive transaction fees. The end user processing the transaction can choose to enable ads, and if ads are enabled, relevant ads will be shown to the end user during the transaction confirmation on chain, which they can claim every month.
Prize Pool
The project exposes a set of API endpoints that can be used by both advertisers and end-users through third-party wallets if the wallet wishes to implement our APIs or use them directly from our portal. The advertiser interface will be available for them to manage the advertisement pool funds, view analytics, and manage advertisements, etc. Anyone can be an advertiser, whether from a company like Nike or any NFT-based project. The end-user APIs will keep track of actions that a user is performing on-chain. For example, if a user is buying NFTs or any physical product like shoes using blockchain, the API will decode the transaction and save the user action for future references. This is required to show relevant advertisements to the wallet address.
Workflow for a single transaction: A transaction can be a simple transfer of tokens or a complex transaction, such as buying an NFT or an actual physical product using tokens. When the user performs a transaction, our APIs will decode the transaction to check what is happening and will keep a record of the transaction's details. Depending on the wallet's history, relevant advertisements with an advertisement ID will be assigned to the transaction hash. Each advertisement has a duration set up by the advertiser along with other advertisement configurations, and the user needs to view the ads for that duration to claim points. Additionally, there are boost points if the wallet interacts with the ad. At the end of the month, a wallet will be able to claim their points and the respective amount in USDT or any token. Once the advertisement is viewed successfully, the advertiser can view the statistics of their ads in their dashboard. On a failed attempt, the ad ID will be reassigned to a different transaction hash in the future, and the user will lose their reward points for that particular transaction. For advertisers, they will see ads insight without revealing the actual wallet address so that they can improve their ad campaign.
The project has a Nextjs backend setup, which exposes APIs for advertiser and end users and developers, and a MongoDB database to store the details of transactions. These APIs can be integrated within any existing wallet or application. For the frontend, the app is built on Next.js, and frames are created using Frame.js. The app utilizes Pinata for storing ad images/gifs and Pinata Farcaster APIs to obtain user details and analytics. Additionally, the app utilizes Dynamic SDK for user onboarding, and the reward contract is deployed on both the base and Optimism chains using the Hardhat tooling of Ethereum.