diff --git a/README.md b/README.md index c36ef6c..c20583c 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,51 @@ # Payments PWA +## Try it out +[https://payments-lyart.vercel.app/](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 +https://github.com/Stephen-Gordon/payments/assets/91547618/f3f108bb-3966-4e3c-93c4-1e13b62e9fcd + +## 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 -My final year thesis is a Fintech Payments PWA built on the Base Blockchain. ## Built using +- [React](https://react.dev/) +- [Next JS](https://nextjs.org/) +- [Redux](https://redux.js.org/) +- [ZeroDev Account Abstraction](https://zerodev.app/) +- [Privy](https://www.privy.io/) +- [Viem](https://viem.sh/) +- [Tailwind](https://tailwindcss.com/) +- [ShadCN](https://ui.shadcn.com/) +- [Webpush](https://github.com/web-push-libs/web-push) +- [Base](https://www.base.org/) +- [Alchemy](https://www.alchemy.com/) + + +# Similar Apps Studied +- [Revolut](https://www.revolut.com/) +- [Uniswap Wallet](https://wallet.uniswap.org/) +- [Family](https://family.co/) +- [Wise](https://wise.com/) +- [Paypal](https://www.paypal.com/) +- [Coinbase Wallet](https://www.coinbase.com/wallet) +- [Rainbow Wallet](https://rainbow.me/) +- [Argent](https://www.argent.xyz/) + -- React -- Next JS -- Redux -- ZeroDev Account Abstraction -- Privy -- Viem -- Tailwind -- ShadCN ## Screenshots