PayFlow.me brings simplified crypto payment flows to Ethereum Layer 2, with secure Safe AA and gasless transactions
PayFlow is a crypto payment management platform that simplifies payment flows for an average consumer, it can help receive payments for any purpose on multiple L2 networks, create trackable payment requests, and share flows/requests as links and QR codes, or embed widgets into a website *.
An average consumer for the PayFlow platform is an individual, creator, or freelancer who already uses crypto and has additional payments-related use cases beyond regular crypto wallet usage but not on the scale of an organisation or a company. Those use cases are:
- individual payments
- public goods and donations
- freelancer payments
- creator support and tipping
PayFlow’s foundation is flows, which help you segregate different payment use cases. It can be used for sending payments between friends and families, like Venmo/PayPal, it can be used as a creator platform, like BuyMeCoffee/Patreon, it can be used for accepting freelance payments, like RequestFinance, or donations like GoFundMe. It’s all in one unified platform to collect crypto for anything.
- One of the most famous online banking/fintech applications in Ukraine - Monobank - has a service called “Jar”, you can create any virtual account to collect money for any kind of purpose. It became one of the most used features among Ukrainian volunteers.
- I had the intention to support one of the Web3 technical writers (author of amazing articles about AA and blockchain interoperability), but after a brief discussion, it became obvious there are not many Web3 native funding/supporting/buymecoffee like platforms, where you can manage multiple streams of payments and share it over social media or embed in your website.
- Vitalik’s article: The Three Transitions
- Sign in with Ethereum
- Create accounts (Safe AA) for networks to support flow wallets
- Create a flow
- Add either external wallets or smart wallets (Safe AA) to the flow, owned by accounts
- Share the flow on social media (or embed widgets into a website *) and receive payments
- Create a payment request for a particular flow, wallet, and amount
- Share payment request
- Once paid, verify the payment
- Withdraw funds from the flow to accounts
- Transfer funds from accounts or for a broader spectrum of operations utilize the Safe Apps ecosystem.
- Create more flows.
- Accessibility: makes it possible for anyone to start receiving payments in crypto, regardless of their technical expertise or financial status. It empowers individuals, creators, and businesses in developing countries, where traditional financial services are often inaccessible.
- Flexibility: allows users to create multiple flows to collect payments for different purposes. It helps to streamline the payment process for individuals, creators, and businesses and makes it easier to track finances.
- Permissionless: accounts are only controlled by the user, users have complete ownership over their funds. It promotes financial freedom and self-sovereignty.
- Multichain support: flows can accept payments on multiple L2 networks, thus users have access to a wider range of liquidity and trading opportunities. It promotes financial inclusion and economic development.
- Composability: accounts are backed by Safe AA, at any point user can continue using them in Safe App, which also means that they can be used with other DeFi applications of the ecosystem. It creates new financial products and services that could benefit individuals and communities.
- Gasless UX: transactions are gasless, there is no initial barrier to receiving payments. It makes crypto payments more affordable and accessible to everyone.
The long-term vision would be to make it one of the most used permissionless platforms in the web3 space tocollect crypto for any purpose (donations, income, savings). It's Venmo/Patrion/BuyMeCoffee/GoFundMe for Crypto. More integrations beyond links/website widgets, e.g. with Farcaster/Lens/Gaming ecosystem. Composability is at its core.
It’s me for now - Sinaver - former Engineering Manager in the cybersecurity space, working before on end-to-end encryption solutions like Signal/ProtonMail, and now I am excited to build a cool product that will bring the next wave of consumers to Web3 space. You can reach me here:
Twitter: 0xSinaver
Discord: sinaver
Converse: sinaver.eth
It’s already live, try it out here: https://app.payflow.me
I started working on the project last month through hackathons where I won in multiple tracks and categories:
1) ZkSync BUIDLEra: https://app.buidlbox.io/projects/payflow (July 3, 2023 → July 18, 2023)
🏅 Argent - Buidl something awesome with AA
Features:
- ✅ Accounts: create/transfer
- ✅ Flows: create/add wallet/delete/withdraw/share
- ✅ Flow Payment: pay
- ✅ ZkSync AA
2) EthGlobal SuperHack: https://ethglobal.com/showcase/payflow-3zvni (August 4, 2023 → August 18, 2023)
🥈 Base - Best Consumer Product
🥈 Safe - Best Use
🏆 Mode - Prize Pool
Features:
- ✅ Requests: create/share/verify
- ✅ Request Payment: pay
- ✅ Safe AA Integration for Accounts & Wallets
- ✅ Gasless Transactions with Gelato (sponsored for accounts/wallets creation + syncfee for transfers/withdrawals)
- ✅ Social Login with Web3Auth
- ✅ Sign In With Ethereum
- ✅ Chainlink Price Feeds
3) 100Builders (August 20, 2023 → September 13)
- ✅ EIP1271
- ✅ Gasless transactions for Base (Mainnet)
- ✅ New logo
- ✅ Flow wallet creation on withdrawal (not a multicall tx yet, sponsored gas, not SyncFee)
- ERC20 support: ✅ a) Flow Payment, b) Request Payment, c) Withdrawals
- Embeddable widgets & branding PoC for websites: ✅ a) Constructor, b) Embeddable components
Long-term (~6 months) features:
- User management
- Payment activity
- Widgets & branding
- Miscellaneous features, UI/UX improvements
- Testing, documentation, and alpha launch
More details on milestones can be found in Safe Grant Proposal !
DApp:
Vite, React, MUI, Typescript, Wagmi/Viem, Web3Auth, Safe AA SDK, Gelato Relay SDK, SIWE - deployed to vercel
Back-end:
Spring Boot, MySql (Cloud SQL) - deployed to GCP via cloud run
Smart-Contracts:
A mix of deployed contracts for ZkSync AA, and existing safe contracts within Safe AA SDK (+ deployed to other networks not available)
-
Building/Running Services (GCP)
cd ./services/payflow-service # run service with local MySql or with GCP CloudSQL # CloudSQL credentials are picked up automatically via DefaultCredentialsProvider gradle bootRun | gradlew bootRun -Pgcp # building container image for cloud run # via gradle with Paketo Buildpack PROJECT_ID=$(gcloud config get-value project) gradle bootBuildImage -Pgcp \ --imageName=gcr.io/${PROJECT_ID}/api-payflow-service docker push gcr.io/${PROJECT_ID}/api-payflow-service gcloud run deploy api-payflow-service \ --allow-unauthenticated \ --image=gcr.io/${PROJECT_ID}/api-payflow-service \ --min-instances=1 --max-instances=2 \ --memory=1024Mi \ --set-env-vars="SPRING_PROFILES_ACTIVE=gcp" # check service details gcloud run services describe api-payflow-service
-
Building/Running dApp (Vercel)
cd ./app npm install; npm run dev
-
Building/Deploying Smart-Contracts