Search projects, hackathons, sponsors and tech

    ← All projects

    Maven

    An ERC 6551 powered Decentralized Freelancing platform to safeguard job ownership lifecycle

    Demo

    About

    The problem it solves Maven is a decentralized freelancing platform that re-defines the whole freelancing process with ERC6551 and newly designed dispute resolution with anonymous voting that ensures full transparency in the process. Maven addresses the range of risks that traditional freelancing exposes, such as platform censorship, uncertainty in payment, high platform fees, and many more. Our **USP** is the creation of **Profile NFTs**. Maven introduces a **new ownership concept** called “Profile Ownership” and “Job Ownership” using the **ERC-6551** standard. Our platform, thus, provides users with **wallet functionality**(**Account Abstraction**-EIP 4337) by generating token bound account (TBA) addresses for each user profile. This allows users to store multiple assets, such as Job NFTs and Milestone NFTs, in their profile TBA. The NFT ownerships are transferred when a bid is selected, a milestone is completed, or when a dispute is raised, etc. This ensures that **users retain ownership of their assets** throughout the job lifecycle. Existing platforms have biased dispute resolution as the entire voting process is not anonymous. Maven re-designed the dispute resolution mechanism by **selecting voters on-the-fly** for voting using **Chainlink VRF**. The voters' identities are revealed only after voting is completed. This prevents coalition or biased voting and achieves fairness. Maven ensures transparent payment via an **escrow contract**. The deposit is released when milestone NFT is received in client TBA. Data storage on blockchain is expensive. To reduce costs, Maven uses a **three-layer data storage** system: IPFS (for metadata storage), zk-powered Polybase (for data storage and scripting), and Ethereum (for crucial data storage and validation). Maven also addresses **real-time communication** on every step of the freelancing process via **Push notifications** and also provides **real-time multi-recipient Chat** support.

    How it's made

    Challenges we ran into Throughout the project, we have faced several challenges. The lack of proper documentation for third-party integrations (specially Polybase) was a significant challenge. This requires us to conduct different PoCs to bring atomicity to the database layer. Finally, we have modularized the database to finally have 13 tables. We wanted to generate ERC-6551 based NFTs that can hold multiple TBAs. We ran into a challenge to create a Token Bound Address (TBA) under a TBA. After several trials, we successfully created the architecture. Another problem we faced is while integrating Push Protocol for real-time chat. Push (@pushprotocol/uiweb) only provides support for single recipients, but for our use-case we needed to extend it for multi recipients. We have to create our custom UI for that. We also tried to make the contracts gas efficient. Our goal was to provide skill-based job recommendation using AI. However, due to insufficient datasets generated from polybase we couldn’t integrate the AI recommendation system currently. The AI-model is ready and once the platform generates enough dataset we will train our model and integrate it in our platform.