Git Product home page Git Product logo

payments's Introduction

Payments PWA

Try it out

https://payments-lyart.vercel.app/

Description

The inspiration for this thesis project came from my travels through several countries in Asia, where I observed that payment apps were widely used but inaccessible to foreign users due to the need for a local bank account for onramping. To address this challenge, I decided to create a payment app that is open and permissionless, built on blockchain technology and uses progressive web app technology. The aim of this app is to provide a seamless payment experience to users. The app uses a layer 2 blockchain to create an app that is secure, permissionless, fast, and accessible to all users.

The app provides an easy-to-use interface that allows users to store, transfer, and receive payments via a blockchain. In addition, it implements account abstraction to create a smart contract account for users, enhancing the user experience when interacting with the blockchain.

Demo

Payments.mov

Features

The app allows users to receive payments via the base blockchain. A user can create a smart contract account using the Privy and ZeroDev SDKs. They can then receive USDC via scanning a QR code. On receiving a payment, a user receives a push notification using web-push. Once a user has some USDC, they can scan another user's QR code to send them USDC. If the person is a first-time payee, they can add the payee to their address book. The user can then choose an amount to send. They are then brought to a confirm page to check the amount and payee. Once the payment is sent the user is routed back to view all their transactions history.

Inspired by

Why blockchain

Blockchain technology was chosen to build the app on top, not just for its open source and community-driven nature but also for its developer-friendly features. This technology empowers developers by providing them with auditable and transparent tools, reliable and self-custodial systems, and globally accessible platforms, making them an integral part of the blockchain ecosystem. Recent advancements in Layer 2 blockchains have further boosted scalability and transaction throughput, enhancing their UX.

Why Base

Base was chosen as it falls into the greater vision outlined the Optimism Foundation, the Superchain. Base also provides fast transaction throughput, great documentation and developer experience, along with useful faucets for testnet tokens. Also Privy and ZeroDev, two other packages used for account creation, had great support for Base.

Why Account Abstraction

Account Abstraction allows users to create smart contract accounts that can still be used with the same functionality as an EOA wallet on an EVM blockchain. AA also allows for sponsoring user's gas fees, bundling transactions, and user's are not required to sign transactions first. All these attributes of AA provide a much better UX for users.

Future Developments

  • Add ENS subdomain support
  • Migrate to a React Native Expo app
  • Fix tyescipt bugs
  • Add support for multiple wallets
  • Add React Toast
  • Add AA session keys and account recovery

Built using

Similar Apps Studied

Screenshots

Connect With Me

payments's People

Contributors

stephen-gordon avatar

Stargazers

Sayo avatar Afolabi Sunday avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.