Inspiration

People make billions of online purchases. Most of them now pass through big tech companies and are protected by their reputation.

But in the web3 world, we purchase directly from other users (P2P). We don't even know who they are, just their nicknames. Transactions in the blockchain are irrevocable, so we cannot ask for a refund. What if the product or service does not meet buyers' expectations?

What it does

We developed an escrow service based on smart contracts that do not need a middleman in comparison to centralized competitors.

It allows making safe peer-2-peer purchases with a minimum fee and maximal level of trust. The funds are frozen in the escrow account until the buyer confirms that the product or service was received.

How we built it

We decided to write the backend in JavaScript using Node.js and Express.js technologies. SQLite was chosen as the database. We used handlebars to generate web pages dynamically on the server side. We interact with the blockchain using the Ethers.js library. As for the frontend, we used the bootstrap style library and fetch requests for dynamic page updates.

Challenges we ran into

  • Difficult to pass the mathematical analysis colloquium and participate in a hackathon at the same time.
  • Combine and use several programming languages.
  • Choose from a variety of instruments.
  • Write an effective and safe smart contract.

Accomplishments that we're proud of

  • We've learnt how to make smart contracts that are compatible with the Chainlink AutomationCompatibleInterface, DataFeeds contract and its functions.
  • Took part in the hackathon for the first time.

ChainLink services used

  • Chainlink Automation functions inside a smart contract
  • Data Feed to get USD\ETH price

What's next for Web3 Escrow service

We plan to provide the service to OTC exchanges and any online stores as an API. So buyers can be sure their money is safe, even if they purchase from this seller for the first time.

Share this project:

Updates