Search projects, hackathons, sponsors and tech

    ← All projects

    Raffle Degen Tips

    Tip with DEGEN, earn a chance to win — where generosity meets opportunity

    Demo

    About

    The problem it solves Many Farcaster users have a DEGEN tip allowance, but often there’s not enough time to reward the best casts, and those tips go unused. Our project enables users to send DEGEN tips directly from a Mini app, granting them a ticket to enter a raffle in return. This not only encourages engagement, but also creates a playful experience that strengthens the tipping culture and user connection. Additionally, it opens the door to new reward dynamics and gamified interactions within the social web3 ecosystem. A daily reminder helps users participate consistently, and we plan to offer an option for automatic daily ticket purchases.

    How it's made

    Challenges we ran into Challenges I ran into During the development of the Raffle DEGEN Mini App, I encountered several notable challenges: Farcaster Integration: Problem: Initially, I tried to use signature logic and private key manipulation directly in the frontend, which caused compatibility errors with Vite and the browser. Solution: I separated the signature logic and manifest generation into Node.js scripts and backend endpoints, leaving the frontend only for UI and wallet interaction. Farcaster SDK Compatibility: Problem: The Farcaster SDK (@farcaster/frame-sdk) was not designed to be used directly in React frontend, causing linter errors and build issues. Solution: I implemented the sdk.actions.ready() function in the main component to indicate when the interface is ready, and moved Farcaster logic to the backend. Transaction and Approval Management: Problem: The approval and ticket purchase logic required multiple steps and validations, complicating the user experience. Solution: I simplified the approval and purchase flow, ensuring that only the exact amount needed is approved and the process is transparent for the user. Netlify Deployment and Configuration: Problem: Ensuring the Farcaster manifest was correctly configured and accessible at the .well-known/farcaster.json path. Solution: I implemented a script to generate the manifest and signature, and configured Netlify to serve the file correctly.