Inspiration

We were inspired by the difficulty of paying with multiple QR systems in different countries.

  • Singapore: Multiple QR systems exist (e.g. NETS, PayLah!, PayNow), but some merchants may only accept one type.
  • China: Services like Alipay and WeChat Pay sometimes only work for locals or charge extra fees for foreign users.

What it does

OneQR is a payment web app that enables users to make purchases in foreign countries conveniently. It acts as a QR router, leveraging XRPL’s Cross-Currency Payments feature. This allows a user to pay in their preferred currency while the merchant receives payment in their local currency—all in a single, atomic transaction.

How we built it

  • Backend: Flask API on XRPL Testnet handling payments.
  • Frontend: Streamlit app where users can paste QR text and enter amounts.
  • Payment flow: Detects QR type, sends XRP via XRPL to settle payments seamlessly.

Challenges we ran into

  • Creating a user-friendly frontend interface quickly.
  • Implementing QR scan and image upload in Streamlit.

Accomplishments that we're proud of

  • The web app works with pasting QR text, and the Pay button successfully triggers XRPL Testnet transactions.
  • Backend reliably detects QR type and returns transaction info.

What we learned

  • How to integrate XRPL features into a web app.
  • How to build a frontend quickly with Streamlit.

What's next for OneQR: A Global QR Payment Routing Demo

  • Improving QR scan and upload functionality.
  • Extending support to more payment rails.
  • Making the demo more interactive and closer to a real-world global payment experience.

Built With

Share this project:

Updates