Skip to content

Final Year University Thesis Payments App. The app provides an easy-to-use interface that allows users to store, transfer, and receive payments via a blockchain.

Notifications You must be signed in to change notification settings

Stephen-Gordon/payments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Final Year University Thesis Payments App. The app provides an easy-to-use interface that allows users to store, transfer, and receive payments via a blockchain.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published