100 Good

100 Good

100 Good friends ... or 100 Good fans ... or 100 Good apes. 100 Good is similar to Friend.tech but powered by Superfluid and Stream2Own NFTs, built for the GoodDollar ecosystem on Celo.

53

The problem 100 Good solves

GoodDollar users can deploy their own NFT collection with a maximum supply of 100 NFTs. To claim an NFT, othesr must Follow you, which mints one of the NFTs and starts stream to claim ownership of the NFT. Minus some small fees (as described above), the stream of G$ goes to you. If all 100 NFTs are minted, others can choose to stream a higher flowRate of G$ to claim ownership of their chosen NFT. Exclusive token-gated chat rooms come soon, similar to Friend.tech.

Fees go back to GoodDollar

5% of all 100 Good streams go to the feeRecipient which is the GoodDollar "UBIScheme" contract on Celo. This means that the fees are constantly increasing the pool of G$ avaialble to claim each day. 100 Good provides a way for GoodDollar users to earn income in the form of micro-streams, and with the fees going back to GoodDollar users, it serves as example of Regenerative Finance (ReFi) on the Celo network.

How it was Made

Social or wallet login is powered by web3auth. The user is then asked to fund their 100 Good account. This can be done by sending G$ to a address that will later become a Safe smart contract wallet for the user. A GoodDollar "Payment Link" is provided as an easy method for Good Wallet (web wallet) users to fund their account. Once funded, future app interactions are powered by Account Abstraction (AA) and users are not asked to approve transactions, etc.

Once funded, the user can "Join". Each time a user "joins" 100 Good, it triggers:

  • deployment of the (already funded)

    Safe

    smart wallet to serve as their 100 Good account
  • deployment from the Factory of a dedicated NFT contract (minimal clone)
  • deployment from the Factory of a dedicated Super App (minimal clone)
  • minting of the the first NFT
  • creates a stream to to the Super App, which transfers the NFT to them, and starts outgoing streams
    Much like Friend.tech, in this way the collection owner becomes the first "member".

Challenges I ran into

I ran into multiple (related?) issue with the "app credit" system for Super Apps powered by the Superfluid protocol. I had to workaround these, and the Superfluid team has been very helpful and is currently investigating further.

Discussion