TwentyPay

E-commerce plug-in that enables buyers and sellers to transact using the ERC-20 tokens of their choice.

Demo Video Source Code

Prizes

Best integration of the 0x API

Technologies

Ethereum

Solidity

0x SDK

Description

This project is a widget that will be dropped into an e-commerce checkout/payment page. It will allow merchants to specify any ERC-20 token that they would like to get paid with. It also allows buyers to use any ERC-20 token to pay for a transaction. On the backend, we use MetaMask and the 0x API to get the buyer's ERC-20 token and swap it into the token that the merchant would like to be paid with. This is all done on the payment page and does not require visiting any DEX or DEX aggregator sites. We also use 0x (and other aggregators in the future) to find the best price for the swap.

How It's Made

Our frontend uses JavaScript, React and Material UI with NextJS routing and Redux. We use Web3 to connect to MetaMask (also have a version using Truffle's HD Wallet). We use the 0x API in order to execute our swaps. We do all of our swaps in a custom smart contract built with Solidity and IERC20 standards. We use Ganache-CLI to fork the mainnet Ethereum blockchain. We use Truffle to deploy our smart contracts and Infura for API access to the Ethereum network. For our demo storefront, we use Vendure Angular (JavaScript) to spin up a PWA, with Angular CLI, Express and Apollo Client for the data layer. The backend of our demo store also uses Vendure (TypeScript), Node and SQLite for the server.

Team

Jack Sanford Yann Guineau Andrew Rudnick Kevin Meraz Tomo Huynh
← click here to see all projects