Inspiration
Most of the Web3 projects don't really have positive cash flow, most of them heavily rely on issuing "governance" tokens to generate income(essentially take money from VCs/secondary market investors), this model is unsustainable, we feel the future Web3 should have a sustainable economic model less relying on issuing tokens and can benefit all players(creators, normal users, projects, etc.). Subscription based economic model is more sustainable and we think it is the right direction of future Web3 ecosystem, but currently we still lack fundamental building blocks to support such a future especially in terms of payment method, this is why we chose to build DFlow, a streaming payment protocol on the Ineternet Computer.
What it does
DFlow is a money streaming protocol on the Internet Computer, it's a new DeFi primitive and enables programmable cashflow on the Internet Computer. With DFlow, you can stream money to anyone without gas fees, it's fast and capital efficient, and money flows are settled in realtime. Developers can also integrate DFlow into their product for more powerful Web3 experience.
How we built it
We built DFlow on the Internet Computer, IC is fast and gasless, benefit from it's unlimit scalability and reverse gas model, this is very nice to ordinary users. We built the DFlow protocol canisters in Rust and these canisters are already deployed to the Internet Computer.
Challenges we ran into
The first problem is how to make DFlow capital efficient, we don’t want users have to lockup all their assets when opening a stream. We built a token standard called dToken to solve this, it's an extension from the DIP20 token standard, but with the ability to describe money flows, users can wrap their DIP20 tokens into dTokens then start streaming money, dTokens can be added to plug wallet, transferred to others just like normal tokens.
The second problem is money stream liquidation, when the sender doesn't have enough balance and the stream is not closed, the stream needs to be liquidated, traditionally we need an offchain worker to trigger the liquidation, but with the heart_beat function of IC, we managed to get rid of the offchain worker, in heart_beat function, we check solvency of all money streams and liquidate those insolvent streams.
Accomplishments that we're proud of
We successfully built out the protocol on the Internet Computer and deployed to the IC, and the way we implement it ensures that DFlow is capital efficient, fast and can settle money flows in realtime. And external projects can use our motoko and js SDK to build their own apps.
What we learned
We learned the Rust canister development process on the Internet Computer, some code optimization skills and some unique characteristics of IC. The Internet Computer is the go to option for user facing projects, the unique ability of IC makes it suitable for large-scale Web3 applications.
What's next for DFlow
- DFlow Testnet
- DFlow mainnet release & SDK release
- Support more token standard
- Support more tokens, support BTC/ETH integration
- Ecosystem building, push forward DFlow integration into external projects




Log in or sign up for Devpost to join the conversation.