Super Apps
Super Apps represents a class of smart contracts that interact seamlessly with the Superfluid Protocol, enabling dynamic responses to Money streaming or Distributions (Also called Super Agreements).
Definition
Super Apps are smart contracts registered with the Superfluid Protocol, designed to react to Super Agreements. These reactions are facilitated through callbacks, allowing Super Apps to engage dynamically with the creation, modification, and termination of Super Agreements.
Reacting to Super Agreements
The reactivity of Super Apps stems from callbacks. These are segments of code within the Super App that are triggered when a Super Agreement involving the Super App is created, updated, or deleted. Such callbacks can execute various actions, from minting NFTs to initiating new Streams (Constant Flow Agreements).
Example - Stream Consolidator Super App
Consider a Super App designed to consolidate all incoming flows into a single outgoing flow to a specific account (Account Z):
- Incoming Flow from Account A: Account A initiates a Money Stream to the Super App (100 USDCx/mo). The Super App, in turn, starts an outbound Stream of the same rate to Account Z.
- Multiple Flow Adjustments: If Account B starts a new Money Stream to the Super App (25 USDCx/mo) and Account A adjusts its flow (to 50 USDCx/mo), the Super App responds by updating its outbound Streams accordingly.
- Ongoing Reactions: The Super App continues to adapt to new Money Streams or adjustments from various accounts, maintaining a reactive outbound flow.
NOTE: For a smart contract to qualify as a Super App, it must have defined callbacks to interact with Super Agreements.
Registering With The Protocol
Registration of a Super App with the Superfluid Protocol is crucial. This registration process involves coding the smart contract to be identifiable as a Super App within the protocol.
Purpose of Registration
- Protocol Recognition: When a stream is initiated towards a contract, the Superfluid Protocol checks if the recipient is a registered Super App.
- Callback Activation: If identified as a Super App, the protocol activates the Super App's callbacks, enabling its reactive capabilities.
Super App Registration
Why Are Super Apps Needed?
Super Apps introduce a layer of programmability to Super Agreements, enhancing the potential for innovative decentralized applications (dApps).
Potential Use Cases
- Lending Applications: Automate loan repayments through Streams, eliminating the need for manual transactions.
- Subscription Services: Enable on-chain subscriptions paid via Streams, incorporating features like automatic affiliate payouts.
Super Apps open up a realm of possibilities, combining custom logic with the functionalities of Super Agreements to craft unique and scalable dApps.
For further inspiration, explore the following examples of Super Apps: