subFlow is a decentralized subscription and payment streaming platform built on Flow EVM, leveraging Solidity smart contracts and Flow Forte Actions & Workflows for automated recurring payments β all without a backend server.
subFlow enables users and businesses to create on-chain recurring payment subscriptions directly on the Flow blockchain.
With Forte Workflows, payments are automatically executed at scheduled intervals, eliminating the need for centralized billing systems or manual reminders.
Users can:
- Subscribe to services or creators using Flow EVM tokens.
- Automate periodic payments securely via Forte Workflows.
- Cancel or modify subscriptions anytime on-chain.
- View all active subscriptions and payment history in one dashboard.
Traditional payment systems rely on centralized intermediaries (banks, Stripe, PayPal) to process recurring payments.
These systems:
- Are restricted by region and currency.
- Involve high fees and long settlement times.
- Lack transparency and full user control.
Even in crypto, most blockchains donβt natively automate payments β users must manually trigger transactions each cycle.
subFlow introduces trustless recurring payments on Flow EVM through smart contracts and Flow Forte Workflows.
- Users create a subscription (define recipient, amount, and frequency).
- The smart contract records it immutably.
- Forte Workflows automatically triggers
executePayment()at the scheduled time. - Funds move from subscriber β recipient without intermediaries.
- Users can cancel anytime β full autonomy, zero backend dependency.
+---------------------+ +---------------------------+
| User Wallet | <-----> | React Frontend |
| (MetaMask / Flow) | | (subFlow Web Interface) |
+---------------------+ +-------------+-------------+
|
v
+----------------------+
| Solidity Contract |
| (SubFlow.sol |
| on Flow EVM Testnet)|
+----------------------+
|
v
+----------------------+
| Forte Workflow Engine|
| - Triggers recurring |
| payment execution |
| - Calls executePayment|
+----------------------+
| Layer | Technology | Description |
|---|---|---|
| Smart Contract | Solidity | Manages subscription lifecycle |
| Blockchain | Flow EVM Testnet | EVM-compatible Flow chain |
| Automation | Flow Forte Actions & Workflows | Automates recurring payments |
| Frontend | React + TailwindCSS + Wagmi/Viem | Wallet-connected DApp |
| Wallet | MetaMask | EVM-compatible wallet |
| Backend | None | Fully decentralized (Forte replaces cron jobs) |
| Hosting | Vercel / Netlify | Fast frontend deployment |
Contract Name: SubFlow.sol
| Function | Description |
|---|---|
createSubscription(address recipient, uint256 amount, uint256 frequency) |
Initializes a new subscription |
cancelSubscription(uint256 id) |
Cancels an active subscription |
executePayment(uint256 id) |
Transfers funds at each interval |
getUserSubscriptions(address user) |
Fetches active user subscriptions |
Events:
SubscriptionCreatedPaymentExecutedSubscriptionCancelled
- A Forte Workflow listens for new
SubscriptionCreatedevents. - It automatically schedules periodic Action triggers that call
executePayment()on the smart contract. - These executions happen on-chain, ensuring decentralization and reliability β no backend servers or cron jobs required.
onEvent(SubscriptionCreated)
-> schedule every frequency interval
-> call contract.executePayment(subscriptionId)
---
## π» How to Run Locally
### 1οΈβ£ Clone Repository
```bash
git clone https://github.com/<your-username>/subflow.git
cd subflow
---
### 2οΈβ£ Install Dependencies
```bash
npm install
---
### 3οΈβ£ Configure Environment
Create a .env file:
```bash
PRIVATE_KEY=<your_flow_evm_testnet_wallet_private_key>
RPC_URL=https://testnet.evm.flow.com
---
###4οΈβ£ Compile & Deploy Contract
```bash
npx hardhat compile
npx hardhat run scripts/deploy.js --network flowTestnet
---
###5οΈβ£ Run Frontend
```bash
cd frontend
npm run dev
Visit http://localhost:3000 (or your port).
---
###π§ͺ Testnet Setup
- Faucet
You can request Flow EVM Testnet tokens here:
π https://evm-testnet.flow.com/faucet
- Test NFTs or Tokens
If using Flow EVM ERC20 test tokens:
- Tokens are free from the faucet.
- Compatible with standard Solidity ERC20 contracts.
- No real cost during development.
---
### π¨ UI Features
- β
Connect wallet via MetaMask
- π° Create new subscription
- π
Set amount and frequency
- π Auto payments triggered by Forte
- β Cancel subscription anytime
- π§Ύ View transaction & payment history
---
## π§© Hackathon Sponsor Tech Used
| **Sponsor** | **Integration** |
|--------------|-----------------|
| **Flow** | Built on Flow EVM Testnet |
| **Forte** | Automated payment execution via Forte Workflows |
| **Dapper** | EVM wallet compatibility |
| **Find** | (Optional) User identity resolution |
| **Beezie / aiSports / Dune** | Optional integrations (not required for core MVP) |
---
## π½οΈ Demo Walkthrough
π₯ **Demo Video:** [link to demo video or Loom recording]
**Steps shown:**
1. Connect wallet
2. Create subscription
3. Forte triggers payment automatically
4. Transaction confirmed on Flow EVM explorer
5. Subscription cancelled successfully
---
## π οΈ Future Improvements
- π NFT-based subscription tiers
- π Analytics dashboard with Dune integration
- π€ AI billing prediction with Beezie API
- π¬ Notification system (email / Discord)
- πΌ Integration with creatorsβ platforms (YouTube, Patreon, etc.)
---
## π§βπ» Team
| **Role** | **Name** | **Handle** |
|-----------|-----------|-------------|
| Developer | Austin [You] | @<your-handle> |
| Designer / UI | [Optional teammate] | β |
---
## π License
**MIT License Β© 2025 subFlow Team**
---
## πͺ Submission Info (Forte Hacks by Flow)
- **Hackathon:** Forte Hacks 2025 β *Build with Disney, Dune, and Dapper*
- **Category:** Best Killer App on Flow / Best Use of Flow Forte Actions & Workflows
- **Prize Eligibility:** β
Yes
- **Project Name:** subFlow
- **Tech Used:** Flow EVM, Solidity, React, Forte Workflows
- **Deployed On:** Flow EVM Testnet
---