Settles QR payments across the world without having local bank account
QR code payments are widely used around the world—but what happens when you're abroad without a local bank account? That’s where QRyptoPay comes in. With QRyptoPay, you can simply scan and upload the local QR code and pay using crypto—no local bank needed.
Here’s how it works: Tourists who don’t have access to local banking services can scan and upload a merchant’s QR code to the QRyptoPay platform. A local user on the platform then pays the merchant using their local currency by scanning the uploaded QR code. In return, they receive cryptocurrency from the tourist. And just like that—payment is complete, and the tourist gets what they paid for!
We built QRyptoPay with Next.js for both the frontend and backend, and Foundry for smart contract development.
We implemented a factory contract that creates a new contract instance for each transaction. When a tourist uploads a QR code, the system deploys a new contract instance. Both the tourist and the local user interact with this contract. The contract includes functions for locking crypto funds from the tourist, confirming local currency payment from the local user, and transferring crypto accordingly.
For real-time currency conversion, we integrated the 1inch API to fetch swap rates between local currencies and stablecoins. This data is used to calculate the equivalent crypto amount the tourist should send.
Each transaction contract includes simple escrow logic: it holds the tourist’s crypto until a local user confirms the local currency payment to the merchant. After confirmation, the crypto will then be transferred to the local user.