LINK TO DECK: LINK TO THE DECK
Developed by Elio Jordan Lopes and Ramesh Sachan
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
- Stream cUSD from one wallet to another in real time
- You can connect your wallet to the platfrom running on Celo Alfajores Network.
- You can view an ongoing recurring stream by referencing to the created streamID else you can create a new stream.
- To start the stream, you have to enter:
- The receipient's wallet address
- The token that you want to stream. For now we enable cUSD flows on Alfajores Testnetwork
- The amount of token you want to stream (say: 10cUSD)
- The time you want the stream to end. Let's say you start the stream at
xseconds. You choose a time interval ofx+Tfor the stream to end, where bothxandTcan be measured in seconds and can amount to minutes, hours, days, weeks, months, years, and even centuries. - The token stream would be live for
Tduration of time - The platform also displays the
total number of token streamedand theamount of tokens remaining for withdrawalin real time. - If
yis the total number of tokens to be streamed, then you can withdraw a certain amount of token, let's sayxtokens outyat a time, and then, anotherzamount of tokens out of the remainingy-xtokens.Tokenshere refers to$cUSDon Alfajores Test Network. - Once the stream ends, the entire token is to be withdrawn to the receipients wallet, and then the platform would redirect you to create a new stream.
A money stream has six properties:
- Sender.
- Recipient.
- Fixed deposit amount.
- ERC-20 token used as streaming currency.
- Start time
- Stop Time
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.
- To enable multiple streams and display status of recurring multiple streams in real time.
- To enable streaming for other tokens on the Celo Network, like $CELO, $cEUR, $cREAL, $PACT, and many more.
- To expand the use cases of LightningCelo to projects building on Celo
- 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.







