Inspiration
Work is inspired by Andreas M. Antonopoulos streaming money idea, often mentioned in the bitcoin community. It should be perfectly possible to send money over time, continuously and without friction, until one of the parties stops the transfer. For example, services provided over video conferencing like mentoring could be charged over fractions of time, which would be very convenient. Today, thanks to the speed and low fees of chains like Solana, and stable coins which eliminate the volatility of cryptocurrencies it is not only possible but very probable that this kind of solutions will be immensely popular.
What it does
Smart contract is open to external apps, the basic idea is that each app can get some fees for enabling the transfer. The contract itself starts when the payer transmits SPL Tokens defining the amount limit of the whole payment. Tokens are saved in a vault which is controlled by a system program. Payment consists of fractions defined by a rate set between payer and receiver. In regular time fractions, the payer ticks a contract and increment the number of fractions. The receiving party can regularly check the balance but the payments are performed when one of the parties cancels the transfer of money. At that time the charged amount is transferred to the receivers wallet and the rest is returned to the payer.
How we built it
It is built in Rust with the Serum Anchor framework, web3 app (chrome extension and site plugin) enabling transfers are still in development (Typescript/React).
Challenges we ran into
Mastering Rust and Solana Sealevel, securing the smart contract. Anchor was great help in that regard.
Accomplishments that we're proud of
Enabling the new way of monetizing online services
What we learned
If something looks unsolvable, it only means that we are not looking the right way. BTW Discord forums can really help, only it's better to search before you post the question 🤔
What's next for MoneyStream
Move from PoC to real app, from Devnet to Mainnet.
Built With
- anchor
- javascript
- rust
- solana
- typescript
Log in or sign up for Devpost to join the conversation.