Search projects, hackathons, sponsors and tech

    ← All projects

    5050IO

    The future of 50/50 fundraisers. 100% trasnparent, onchain platform providing secure and fair results for 50/50 providers and participants alike

    About

    The problem it solves 50-50.IO revolutionizes fundraising by providing a decentralized, permissionless, and trustless platform for conducting 50/50 raffles online. This platform uniquely addresses several issues associated with traditional raffle systems: Transparency and Fairness: Leveraging blockchain technology, every transaction and raffle draw is immutably recorded, ensuring verifiable fairness and enhancing trust among participants. Security: Utilizing the secure consensus mechanisms of the Flux Network and Base Layer-2's optimistic rollups, 50-50.IO employs future block hashes for winner selection, which are impervious to tampering and predictions, thus guarding against fraud and manipulation. Accessibility: As a permissionless system, 50-50.IO allows anyone to initiate or participate in raffles, broadening access and democratizing fundraising tools for all levels of organizations and groups. Operational Efficiency: By automating the management of raffles through smart contracts, the platform significantly reduces the logistical overhead for organizers, allowing them to focus on promotion and participation. Global Participation: Operating online, 50-50.IO removes geographical barriers, expanding potential donor bases and increasing fundraising opportunities worldwide. 50-50.IO thus enhances the effectiveness of fundraising efforts, making them more secure, fair, and globally accessible, while significantly reducing operational complexities.

    How it's made

    Challenges we ran into Developing 50-50.IO posed significant technical and architectural challenges, primarily centered around creating a platform that is both fully decentralized and trustless. Achieving 100% decentralization meant ensuring that no single entity could exert control over the platform's operations, a core principle that required careful planning and execution of the blockchain and smart contract components. One of the most daunting tasks was integrating smart wallet functionality using ethers.js version 6, which was necessary for advanced features like full account integration with appkit. This migration from ethers version 5 to version 6 introduced a critical bug: event listeners in v6 triggered duplicate events, a problem documented in ethers.js issue #4013. Despite the availability of a workaround, this issue significantly complicated development. The only alternative was downgrading to version 5, which wasn’t viable as it lacked necessary smart wallet integrations. This situation led to many frustrating hours spent identifying and mitigating unexpected duplicate events, a critical roadblock that was eventually managed through a custom, albeit hacky, solution to ensure event uniqueness. Furthermore, the security of the network infrastructure was paramount, requiring the build and config of an authentication proxy for my private Base node. This proxy was built from the ground up to allow only whitelisted IPs or RPC endpoints with valid keys in the URL parameters. This was crucial for protecting the node from unauthorized access and ensuring that only servers on the Flux network could interact with it. Implementing this layer of security was not only about maintaining network integrity but also about reinforcing the trustless nature of the platform.