Inspiration
Micropayments are not a new concept. They have been around since the mid-1990s, and have gained popularity yet they are still dysfunctional for a number of reasons. The main reason is that merchants are charged high fees for micropayments, because the basic building block of fiat currencies are 1/100 of the whole, so if we assume dollars, a micropayments processor would charge a merchant about $0.01 for a payment of $1 to $10. In the end, the merchant loses on significant percentage of the total payment. Using digital ledger technologies like XRPL, micropayments would truly be fee-less.
Micropay addresses this concern using XRPL. Through XRPL and it's low gas fees model, Micropay is able to create a user-friendly experience similar to PayPal and Venmo, allowing users to receive payments in full amount.
What it does
Micropay allows a user to send and receive payments in XRP through a mobile application. Underneath the hood, Micropay operates the user's own XRPL wallet securely. To use Micropay, the user first creates an account with their email, name and username. The username is sort of like a readable tag and must be unique. Micropay will automatically proceed to create a wallet for the user and store the wallet credentials in the database. Afterwards, the user can send a payment by simply entering the username of another user or an address of an unregistered user on XRPL. To send someone XRP, the receiver need not be registered on Micropay since Micropay can send XRP directly to a wallet via the wallet address.
How we built it
We built Micropay using the following technologies:
React Native: React Native was used as our choice of mobile framework because it is easy to use and cross-platform. On top of that, React Native uses web technologies like CSS-based styling and JSX, which most of our teammates were familiar with.
Express.js: Express.js was the backend framework we used. Express.js was chosen because it is minimalistic and unopinionated which allowed us to create the API endpoints quickly and without much effort.
PostgreSQL: To store data we required a database, and we used PostgreSQL for the same because it is easy to work with locally and we had prior experience working with PostgreSQL. Plus, PostgreSQL is also quite performant, which would help us in carrying the project forward in the future.
Prisma: Since we were using a database such as PostgreSQL, we were required to write queries to execute, so instead of writing SQL queries manually, we ended up using an ORM called Prisma. We used Prisma because Prisma had a very nice JavaScript and TypeScript client (with out-of-the-box types and type annotations based on the schema) which went really well with Express.js.
Challenges we ran into
While the development experience went smoothly with little to no major issues, we did have some problems initially setting up our React Native project with expo, and working with a few dependencies but they were resolved quickly. The only other problem we had was working with Prisma and relations, since had to filter the users and their transactions and query those transactions. For this, we used Prisma's experimental Connect feature in order to get. transactions
Accomplishments that we're proud of
We are proud of completing the entire project - both mobile app and the API in time. Overall, the project took us 10 - 11 days to complete. It was a major undertaking as we had to build an API server, database models and the mobile client to access the API.
What we learned
During the hackathon, we learned a ton of new things like working with wallets and transactions on XRPL, using Prisma as an ORM to connect to PostgreSQL. Prisma was particularly exciting because none of our teammates had ever worked with Prisma before.
What's next for Micropay
In the future, we would like to add support for other tokens on XRPL, because currently, only transfer of XRP is allowed. In doing so, we could really increase the accessibility of Micropay along with use-case since some users would only send payments in a specific XRPL token. On top of that we would also want to add the ability to transfer NFTs from one wallet to another using Micropay. Finally, in the long term future we could even allow users to buy and sell tokens on XRPL similar to a DEX.
Built With
- express-js
- node.js
- prisma
- react-native
- xrpl


Log in or sign up for Devpost to join the conversation.