A decentralized freelance platform with variable initial payments and escrow built in!
Handler Exchange is a decentralized marketplace where clients and contractors alike have protections to incentivize use of the platform.
Upon 'gig' creation, the contractor sets their price as well as an initial payment from 0% to 99% upfront. The client sends funds to an escrow agent, or 'handler'. The handler transfers the initial payment to the contractor, and holds the remaining funds until the client verifies the gig is complete.
Anyone can register to be a handler, and can set their own fee from 0.1% to 10% of the total payment. A reputation system ensures handlers continue to act honestly and offer fair fees to clients and contractors.
For the UI, React.js and ethers.js.
For the development environment, hardhat.
For the contract, Solidity, and for the Layer 2 solution, Arbitrum.
For now, all relevant information is stored on-chain, and communications must take place off the platform. Email addresses are required to create new offers for clients. This is only a temporary measure for the scope of the hackathon. Later a node.js server will handle client/contractor messaging, dispute claims, and more efficient queries to blockchain data. The client-side web app queries the contract directly with getter functions, though this is subject to change in the future for contract optimization, and the node server will listen for any relevant events for quicker access.
Handlers will, ideally, run an automated server to listen for events emitted with their address as the _handler
parameter, and execute the initial and final payments, as well as refunds.