project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

PayFlow

Pay in any crypto, receive in fiat. All DeFi features at your fingertips with no credit card fees, yet enjoy the universality of a bank transfer.

PayFlow

Created At

ETHGlobal Paris

Winner of

🦄 1inch — 🥇 Best use of Fusion

🔟 WalletConnect — Top 10

💸 QuickNode — Best use of Token API

Project Description

PayFlow is a payment app through which crypto token holders can send money in any token to fiat bank accounts. This can be used by merchants, landlords, friends, or anyone with an IBAN willing to receive payments to their bank account from people holding arbitrary ERC20 tokens without ever touching a crypto wallet. The possibilities for integration are limitless. We handle the plumbing that allows for a seamless user experience.

For the receiving party (in our case, a merchant), PayFlow works by generating a QR code which crypto holders can scan to send a specified amount of Euro using any token they desire. 1Inch ensures efficient and low-fee swapping for the user, which certainly undercuts the most competitive credit card and fx transfer fees, particularly when money travels across borders. A bank transfer is triggered by Monerium when a corresponding amount of EURe stable coin is burned. This is the key component of our product.

The core infrastructure can be used for a variety of purposes. Repaying friends, paying rent, and reimbursing employees are just a few applications. For our demo, we chose to build a point-of-sale app that lets merchants accept crypto payments from their customers. We believe this is revolutionary in that it is the first time that crypto users can offramp any token in real-time without excruciating fees. With the help of 1inch Fusion and Monerium, they can even do so without paying gas.

How it's Made

Both the merchant and user apps are built with React and some standard web3 SDKs like wagmi and ethers. We tried using the Safe SDK OnRamp Kit to integrate Monerium, but after hours of trying we unfortunately had to give up and resorted to using the Monerium SDK directly. We use Monerium to seamlessly transfer fiat to IBAN addresses upon burning EURe stable coin, deployed on both Gnosis Chain and Polygon. Crypto holders connect their wallet on our Mobile-first UX with WalletConnect using Web3Modal. ERC20 token balances are fetched using the QuickNode API, and tokens other than EURe are swapped into EURe before payment using the 1inch Fusion SDK to ensure a sufficient balance of EURe is held before the burning of EURe and correspondinng bank transfer. Using this tech, we can use ApeCoin to make payments on Polygon.

The 1Inch Fusion SDK was particularly hacky for us, because it didn't work with the same Ethereum provider instance we used for the rest of the app flow. We had to dig up deprecated web3 providers to make it work.

Finally, we use EAS to generate attestations of provided services in the point-of-sale app we built for the demo using React.

background image mobile

Join the mailing list

Get the latest news and updates