Ricardian contracts in polygon to make binding peer to peer agreements
Unbreakable Vows are private legal contracts that can be created and signed by parties to give legitimacy to peer to peer agreements. In the Harry Potter's Wizarding World, an unbreakable vow is a type of binding magical contract cast between two parties, that if broken by either party, would result in the imminent death of whoever broke the contract. We love the concept of agreements that can not be stopped, although we don't like people dying, so we adapted the concept to web3 by creating unstoppable agreements that describe the rules of a commitment that involve two or more subjects to a certain execution and conditions. The party who do not respect the vow may lose some collateral, as the other party can raise a dispute to Aragon Court, Celeste, or a custom arbitrator. In other words, we developed a Dapp that allows users to easily implement Ricardian contracts in Polygon. A Ricardian contract is a way to register a legally valid and digitally connected document to a certain object or value, it places all information from the legal document in a format that can be executed by software. Our Protocol enables you to make binding documents using templates that can be created and customized. The current templates include an Employment Agreement, an Independent Contractor Agreement, and a Custom Agreement.
How it's made
We developed our prototype of Unbreakable Vows with scaffold-eth, making major use of the hardhat and react-app packages. The contracts are built on top of OpenZeppelin, using the factory pattern to create new vows on demand. To grant the good will, vows can have ERC-20 collaterals that allow each party to finish in good terms the agreement if both parties agree and integrate arbitrators to resolve disputes, such as Aragon Court or Celeste (present in Polygon mainnet) We deployed the contracts in Mumbai, so they can be tested through the demo frontend. We also open a Superfluid flow for each vow in order to support with the recurrent payments one party may want to incur on the other. This can be useful in work agreements, rent agreements, loans... We wanted to open the door to Superfluid flows that are backed by Ricardian Contracts.