As developers for fintechs in emerging and frontier markets, the lack of payments infrastructure became a massive limiting factor in the scaling of our fintechs and the financial inclusion of our customers.
This has been especially apparent in the Muslim-majority regions of the Philippines. 15 million people are completely cut off from basic financial services since their faith prohibits speculative finance: investing in speculative equities, lending with interest, and fractional reserve banking — standard operating procedures for traditional banks that have caused numerous financial crises over the years.
In addition, regions like Mindanao have very poor ICT infrastructure. There aren't enough cell sites with 4G, thus making basic calls and texts as the primary, and sometimes only, way for people to share information and interact with ICT services. The proliferation of SMS in frontier markets, their familiarity with interacting with SMS-based apps, and the emergence of blockchain technology, however, presented an opportunity for us to create a massive leap forward for financial inclusion.
For this hackathon, we decided to leverage SMS as the "universal" means of communication, as well as the Stellar network as a secure ledger of transactions.
We present, Project Universal:* the universally-accessible method for Stellar payments.
- Pun intended ;)
What it does
It is an SMS-based client for Stellar: users can create and interact with their Universal Stellar accounts via SMS codes.
The following codes are available — Just send to +15012632053 to try them out! Create Account REGISTER <6 digit PIN>
See address on Stellar account explorer ADDRESS
Check balance BAL
Make a payment SEND
Request a payment REQ
One of the things that make our implementation unique is that our system does not store secret keys. Instead, users send a PIN that passes through our algorithm to generate their key on-the-spot every time they want to send a payment.
There is also an API endpoint for merchants to request payments from Project Universal users. We have built an example implementation with a travel agent using the United Airlines NDC API to book flights. The demo is available here
How we built it
We used Ruby on Rails to create the backends for Project Universal, as well as the United Airlines demo app. The UAL demo's frontend is built with Vue. Twilio powers the SMS sending and receiving.
Challenges we ran into
Creating the payment request endpoint and building the corresponding demo app opened a pandora's box of bugs that we had to spend the whole night squashing away. It was also our first time dealing with SOAP XML APIs, which proved to be a formidable challenge considering the amount of data being returned by United's APIs.
Accomplishments that we're proud of
We managed to create a payment system that anyone could use, as well as an online travel agency, all in 48 hours. As fans of financial inclusion and aviation, that was a pretty sweet deal.
What we learned
Use TDD. Study APIs in advance. Don't cram.
What's next for Project Universal
We wish to add more features, especially those specific for Islamic finance, such as commodity buying and selling for "Tawarruq" lending.
End-to-end testing is also on the very near term horizon.