Description

Tennerr is a decentralised marketplace for freelance services built around a DAO. The platform leverages DeFi, to accrue value for all participants, programmable cashflows for enhanced payment flexibility, and it resolves disputes between buyers/sellers through on-chain DAO governance. The functionalities of the platform are the core functions of a standard freelance marketplace, such as registering for jobs and offering services for a certain area of expertise. However, once payment for a job is made, the money does not go straight to the seller/ or the worker but instead goes into an escrow. The escrow functionality allows both parties to be safe that, on one hand, the seller is not going to disappear with the money, and on the other hand, the worker will receive the agreed salary at job completion. Once the job is booked and the seller pays the agreed sum, the capital goes straight into Aave lending pool, and it immediately starts collecting interest. In this way, the overall amount of money in the platform is continuously growing, eliminating opportunity costs. Should the worker fail to deliver the job, or the buyer fail to approve the seller withdraw from the escrow despite job completion, the dispute can be escalated to a DAO. In this process, a random selection powered by Chainlink VRF elects a group of voters from the participants of the platform, and their majority vote decides to who the escrow fund are assigned. Extra features include payment flexibility, such as per second payments thanks to Superfluid, and compensation for those who vote on disputes as part of the DAO.

Tennerr showcase

How it's made

The architecture of the project is the following: - Aave for interest accrual on each payment - Superfluid for payment streams (CFA) and voting rights distribution (IDA) (and vote compensation) - Chainlink VRF for DAO voters election The seller can register himself on the platform just by sending a transaction to the blockchain. In the same way it can register available jobs he can make, spontaneously or after agreeing with a particular buyer. Once the buyer pays the amount stated on in the Job inputs, the tokens (e.g. USDC) are deposited into Aave USDC lending pool. Based on the reserve normalized income (which always increases to reflect accumulated interest) the platform mints its own interest-bearing tokens (cTNR), which are deposited into the escrow, and can be redeemed for a higher quantity of the underlying USDC as the lending pool accumulates interest and the normalized income increases. Should the payment type selected be Superfluid cash-flow stream, this interest-bearing tokens are upgraded into a Supertoken (cTNRx) and streamed from the Superfluid contract to the escrow. Should the buyer interrupt the stream, he would simply receive the diffence between the amount paid upfront and the amount in the escrow. The amount in the escrow contract is always the amount which is claimable by both parties. The DAO contract handles eventual disputes between buyers and seller of services. The parties can open a dispute by sending a transaction to the DAO contract, and /* selecting reason for dispute other party will have up to 48h to accept or decline, if does not reply, buyer gets money back, if reply and accepts, he can propose deal or refund, if he replies and declines, the dispute is escaleted to the DAO. Once a dispute is escalated to the DAO Chanlink VRF is called and random number is received. This random number is expanded to obtain an array of numbers, which is then mapped to an array of addresses which have been active participants in the protocol. They then have 48h to vote on the dispute, and their majority vote decides to who the escrow funds are assigned. The project is built on Polygon to significantly reduce the transaction fees while maintaining tolerable levels of security.

Technologies used

AaveChainlinkMetaMaskPolygonSoliditySuperfluid