Direct URL to try out the project
- requires Keplr
Inspiration
We have been involved in the Cosmos and web3 space since early 2017 and have worked with multiple Cosmos projects that ran into the problem of trustless micropayments. Extrapolating on that problem statement and to utilize the full potential of the Cosmos SDK + Tendermint consensus framework, we've developed Stream Pay - streaming payments for IBC tokens.
Stream Pay enables creators & communities operate in a trustless way (later can be connected with milestone-based delivery, reverse-streaming and many others).
What it does:
Taking inspiration from the vesting model in the Cosmos SDK's auth module, the payment-streams module allows you to initiate 'continuous' and 'delayed' payment streams from one account to another on the blockchain that's using the module.
Considering the ecosystem's nature of collaboration, enabling IBC was a no-brainer and all supported tokens can be streamed from one account to another.
How we built it:
- We utilized Starport to build a sovereign chain and run the payment-streams module within that framework.
- An app has been developed and deployed on https://sp.OmniFlix.network to create streams of payment using SPAY & other supported IBC tokens i.e. FLIX & JUNOX
- A simple interface to deposit/withdraw IBC tokens is provided to users for moving around tokens from/to the Stream Pay Testnet - all powered by Keplr (and the suggest chain feature)!
Challenges we ran into:
- Since we were aware of the Cosmos auth module, we did our research before hand to understand how it works.
- Our concerns were primarily around when a lot of payment streams are active and when computation required is high increasing block time. To address this, we've looked at a Celestia based solution, but chose not to work on it at this point in time.
- A smart contract based model was also considered but by design, working on a native Cosmos module made more sense
Accomplishments that we're proud of:
- Streaming of payments has been a long time dream for most of the folks that are dealing with programmable money and we're glad to have initiated efforts on this within the Cosmos ecosystem
- Other ecosystems offered something similar, but not for sovereign chains. The use of the payment-streams module made a lot more sense by design.
- We've worked on the entire app in 3 days with the blockchain module worked on in ~1 week. The entire team felt excited to see this live and kept everyone motivated.
What we learned
- We now understand the technical design of the auth module better along with how best these can be used across chains
- The composable nature of Cosmos has been reinforced once again, thanks to Hack ATOM and all the possibilities, especially with IBC are being explored in this case.
- The need for Interchain Accounts, more than ever
What's next for StreamPay - Streaming Payments
- Work on stop/pausing of payments with pre-defined conditions/configuration.
- Work on on-chain triggers for payment streams start/stop
- Incorporate incline/decline curves for payment where tokens either increase/decrease with every passing block.
- We aim to add specific features for creators and individuals to interact and offer/receive better services.
- We would love to interact with developers, partner blockchain networks and teams that might want to utilize the technology and standards being developed with payment-streams and streaming payments within the Cosmos ecosystem.
- Considering Streaming Payments (or payment-streams) as a module, POS chains that are eco-friendly have the ability to transact micro/nano-sized payments, without the need for a sidechain/scaling solution. With a Celestia-like approach to scaling, this can be further enhanced.
- Maybe a sovereign chain that can function as a zone for all IBC enabled chains, accessed by users with Interchain Accounts! We'll let the community decide. Even if that's the case, will be a community zone/chain.
Log in or sign up for Devpost to join the conversation.