Enabling your $cUSD to flow like the river in real time. Let's make money more beautiful than ever.
DECK: LINK TO THE DECK
Enabling your $cUSD to flow like the river in real time. Let's make money more beautiful than ever.
View the project demo on YouTube
How to run locally
Navigate to interface in your terminal using cd interface
yarn && yarn dev
Our contracts have been deployed to Celo Alfajores Testnet
Celo Alfajores Testnet 0x671580C2d0e99Bb17690B5D4D805F1902d26f5b0
x
seconds. You choose a time interval of x+T
for the stream to end, where both x
and T
can be measured in seconds and can amount to minutes, hours, days, weeks, months, years, and even centuries.T
duration of timetotal number of token streamed
and the amount of tokens remaining for withdrawal
in real time.y
is the total number of tokens to be streamed, then you can withdraw a certain amount of token, let's say x
tokens out y
at a time, and then, another z
amount of tokens out of the remaining y-x
tokens. Tokens
here refers to $cUSD
on Alfajores Test Network.A money stream has six properties:
A. Smart Contract Deployed to Celo Alfajores Testnet 0x671580C2d0e99Bb17690B5D4D805F1902d26f5b0
B. We use Celo Contract Kit
and Truffle
to deploy our contracts to Celo Alfajores testnet, web3js
, wagmi.js
and ethers
to interact with the smart contract.
C. The front end is built on React
, and Chakra UI
, and many third part libraries.
Sender's wallet has 14 $cUSD. Sender wants to start a stream of 5 $cUSD
Sender enters the details of the receipient, start and end time, and amount to be streamed, and creates a recurring stream of tokens in real time to the receiver's wallet.
Stream starts initially with 0 cUSD streamed and 0 cUSD withdrawable, local time 23:30pm (IST - Indian Standard Time)
Middle of the stream, we see that 1.6cUSD has been streamed already and 1.6cUSD is withdrawable.
Meanwhile receiver claimed 1.63cUSD of the stream, midway, and the stream finished in two minutes (23:33 local time IST- Indian Standard Time
). The receiver is yet to claim 3.37 cUSD. After claiming the remaining cUSD, the streamID, expires and the user can create another stream
So the protocol enables a user to stream money in real time as well as withdraw money at any instant. Look at the potential use case above. Also watch the demo video linked above.