Inspiration

Traditional payment systems are basically static. You send money once, wait hours or days, and often pay high fees. In a world where we can stream video and data instantly, why can't we stream money?

We wanted to rethink payments as a continuous, programmable flow instead of one-time transactions. What if: Freelancers could get paid by the second for their work? Creators could earn money per minute during livestreams? APIs or AI agents could charge as you use them, rather than upfront? StreamPay emerged from this idea to bring streaming economics into the Web3 space.

What it does

StreamPay lets you send cryptocurrency payments in real time. You can do this by the second, minute, or block to anyone, anywhere. Instead of sending large transactions, StreamPay allows users to:

  • Create a payment stream that sends tokens continuously over time
  • Track live payment flows with a real-time dashboard and progress bars
  • Stop the stream anytime; unused funds are returned to the sender
  • Pay only for what’s used, down to the second This opens up powerful possibilities:
  • Stream salaries to freelancers or team members
  • Live micro-donations that flow continuously StreamPay turns payments into a programmable flow, similar to data. This makes cryptocurrency more flexible, global, and real-time. ## How I built it smart Contracts (Solidity) Create and manage active payment streams. Track token flow using: owedAmount = (min(block.timestamp, endTime) - lastUpdate) × rate Streams store metadata including: Sender, recipient, start time, end time, rate per second. The sender can cancel a stream anytime and reclaim the unused balance. Frontend (React, node) We built a live dashboard that shows: -Active streams. -Amount streamed in real-time. A ticking counter and a progress bar. -Polling and event listeners provided real-time updates. UI/UX We built the interface using TailwindCSS. We included a visual stream animation for added polish. We added dark and light modes for improved user experience. Challenges We Faced Time-Based Logic in Solidity Real-Time Updates in React Showing live-streaming balances without delays required a mix of on-chain event listeners and local UI timers. Getting these to sync accurately and look smooth was challenging. Token Allowances and Approvals Users needed to approve tokens before streaming, which introduced friction. We looked into meta-transactions and account abstraction to simplify this but couldn’t fully incorporate it within 24 hours. ## Challenges I ran into As a 3rd-year B.Tech student, building StreamPay in 72 hours was both exciting and challenging. Here are some of the main hurdles I faced: Time-based logic in Solidity was harder than I expected. Calculating streamed payments accurately using block.timestamp required trial and error, especially to avoid overpaying or underpaying. I wasn’t very experienced with smart contract security, so I had to double-check risks like reentrancy and issues around stream cancellation. The frontend was tricky. Getting the live counter to update every second without lag and syncing it with actual contract data needed a mix of polling and local timers. Wallet connection and ERC-20 token approvals created some user experience issues. I had to learn how to handle token allowances and on-chain errors smoothly. I used ChatGPT a few times during the build. It helped me break down complex logic and provided working examples of Solidity patterns. Balancing the backend logic with a clean UI took time. I had to prioritize what I could realistically finish in a day. Overall, I learned a lot about real-time user experience, Ethereum development, and the challenges of building a working dApp under time pressure.

Accomplishments that I'am proud of

Built and deployed my first working Solidity smart contract for real-time payments. Created a live-streaming dashboard that updates token flow in real time. Learned how to calculate streamed payments per second using timestamps. solve coding problems faster and understand Web3 concepts better. Completed a full dApp, which includes a smart contract and frontend, in span of 72 hours.

What we learned

-How to build time-based token flows using Solidity and block.timestamp. -The details of real-time user experience, where even milliseconds count. -Working with React, and TailwindCSS to create clean and interactive user interfaces. -Managing gas efficiency and security in streaming logic. -Designing user experiences that make crypto feel as smooth as Stripe.

What's next for StreamPay

Add support for streaming NFTs or multisig payouts. Integrate with DAO tools for payroll. Create a mobile-first experience with WalletConnect v2. Use Superfluid or Sablier protocol for advanced flows. Implement full account abstraction for gasless streaming.

Share this project:

Updates