An open source Crypto currency payment processor powered by layer 2 solutions
This project is an open source payment processor. With the appearance of layer 2 solutions, crypo is finally able to rival credit cards in terms of transactions processing time and fees. Payment processors in crypto already exist, but they are too similar to existing fiat solutions to be really disruptive. Notably, the fees are too similar (on the order of 1%) and the kyc requirements are the same. Can we have a crypto native solution that only requires you to connect your wallet and takes 100 times less fees ? Since crypto are volatile, there needs to be a significant fee difference for people to accept a new solution. A new crypto payment processor has to be open source, otherwise, it's impossible to cope with adding the plethora of new cryptos appearing everyday. Most importantly, being open source means there is higher chance that the code can be audited properly. What we propose consists of two parts, a js snippet that ecommerce customers can add to their site for their own clients to pay in crypto. Separately there will be a frontend + backend app that is in charge of registering transactions and making a calling a webhook to the ecommerce client's backend to signify when the transaction has been confirmed. ecommerce clients don't need anything else than their wallet to sign up.
How it's made
The project uses svelte on the frontend with web3modal and web3js. The project has 2 parts, an ecommerce example site, and a frontend for the crypton app. The ecommerce example site uses web3modal to ask the customer buying things to connect his wallet. It uses web3js to switch chains, and covalent to fetch price data for tokens. It gives the customer a choice of payment including all the ethereum layer 2 solutions (Polygon, Arbitrum, Zksync, Optimism). The crypton app is using the same technologies on the frontend. The major hack that I used is that the backend was started but not really finished. So in the end I used block explorers to display transaction data, where that should be done by the backend.