LogoLogo
  • 🌊Superfluid
  • Protocol Overview
    • 💡What is Superfluid?
    • 📄In-Depth Overview
      • Super Tokens
      • Super Agreements
        • 🚰Money Streaming (CFA)
        • ✳️Distributions (IDA)
        • 🌊Streaming Distributions
      • Super Apps
      • Superfluid Host
    • 🧠Use Cases
      • Recurring Payments
      • DeFi
      • Social & Community
      • Gaming
    • 📔Glossary of Terms
  • Developers
    • 🏃Quickstart
    • 🪙Super Tokens
      • Super Tokens - Solidity
      • Super Tokens - SDK Core
      • Super Tokens - Frontend Examples
      • Types of Super Tokens
      • Deploy a Super Token
        • Deploying a Wrapper Super Token
        • Deploying a Self Governed Super Token
        • Deploying a Pure Super Token
      • In-Depth
        • Tracking Super Token Balances
        • ERC777 in Super Tokens
      • Test Super Token Faucet
    • 🌊Money Streaming (CFA)
      • Solidity
        • Read Methods
          • getFlowInfo
          • getFlowRate
          • getNetFlowRate
        • Write Methods
          • createFlow
          • updateFlow
          • deleteFlow
          • With User Data
          • With Context
      • SDK Core
        • Read Methods
          • getFlow
          • getNetFlow
          • getAccountFlowInfo
        • Write Methods
          • createFlow
          • updateFlow
          • deleteFlow
      • Access Control List (ACL)
        • Solidity
          • createFlowFrom
          • updateFlowFrom
          • deleteFlowFrom
          • setFlowPermissions
          • setMaxFlowPermissions
          • revokeFlowPermissions
          • increaseFlowRateAllowanceWithPermissions
          • decreaseFlowRateAllowanceWithPermissions
          • getFlowPermissions
        • SDK Core
          • createFlowByOperator
          • updateFlowByOperator
          • deleteFlowByOperator
          • updateFlowOperatorPermissions
          • revokeFlowOperatorPermissions
          • increaseFlowRateAllowanceWithPermissions
          • getFlowOperatorData
      • Frontend Examples
      • More...
        • Flow Rate Time Frames
        • Building Batched Streams in Safe
        • Flow NFTs
    • ✳️Distributions (IDA)
      • IDA - Solidity
      • IDA - SDK Core
      • IDA - Frontend Examples
    • 🤖Super Apps
      • Super Apps in Depth
      • Super App Callbacks
        • Calling Agreements In Super Apps
      • User Data
        • NFT Billboard Example
      • SuperAppBaseFlow
      • Super App Examples
      • Super App Deployment Guide
    • 🧺Batch Calls
      • Batch Calls - SDK Core
      • Batch Calls - Frontend Examples
    • ⚙️Automations
      • Auto-Wrap
        • Dev Guide
      • Stream Scheduler
        • Dev Guide
      • Vesting Scheduler
        • Dev Guide
      • Stream Accounting API
        • Dev Guide
      • Automation Subgraphs
        • Stream Scheduler Subgraph
        • Vesting Scheduler Subgraph
        • Auto Wrap Subgraph
    • 🏗️Integration Guides
      • For Your Integration: The Basics
        • Supporting Super Tokens
        • Supporting Money Streams
        • Supporting Instant Distributions
      • Gating with Superfluid Subscriptions & Guild.xyz
      • Displaying Token Balances
      • Useful Queries for Your Integration
        • Instant Distribution Events
        • Money Streaming Events
        • Super Token Events
        • Other Helpful Queries
      • Constructing Links to The Superfluid Dashboard
    • 🔁Superfluid Subscriptions
      • Superfluid Checkout Widget
      • Implementing Subscriptions in your App
    • SDK Core General
      • Initialization
      • Functionality
      • Getting Data
      • Resolver
      • Reference Docs
    • Solidity General
      • Calling Super Agreements
      • Libraries
      • Resolver
    • Testing Guide
      • Hardhat Testing
      • Foundry Testing
      • In-Depth
        • Hardhat Mainnet Fork Testing
        • Super App Testing on Mainnet Forks
    • Subgraph
    • Reference
      • Deploying The Framework
      • EVM Contracts
      • SDK Redux
      • Superfluid Console
      • Superfluid Protocol Addresses
    • Contract Addresses
  • Sentinels
    • 🥅Liquidations & TOGA
    • 🤖Running a Sentinel
    • 🗺️Solvency Dashboard
  • Resources
    • 🌊Superfluid Wave Pool
    • 📜Superfluid on Ethereum Mainnet
    • 💰Bounty Program
    • 🛡️Security & Bug Bounties
    • 💡Project Ideas
    • 🗳️Token Dashboard Submission
    • 🎥Videos
    • Superfluid Deployment Guide
    • Learn about Ethereum
    • Code of Conduct
Powered by GitBook
On this page
  • Dollar-Cost Averaging
  • Automated Savings
  • Undercollateralized Lending
  • Lending in Streams
  • Streaming Options
  • On-Chain Tradeable Cashflow Assets

Was this helpful?

  1. Protocol Overview
  2. Use Cases

DeFi

Using Superfluid to create novel DeFi apps

PreviousRecurring PaymentsNextSocial & Community

Last updated 2 years ago

Was this helpful?

Dollar-Cost Averaging

Like how Superfluid can automate recurring payments, you can also use the protocol to develop automated recurring investing applications. A Superfluid-powered DCA application would allow you to stream money towards an investment of your choice and receive periodic distributions of the desired investment back.

is an example of a live application that accomplishes this.

Automated Savings

Most of us set aside a fixed amount each month for savings and investment. Using Superfluid, you are able to automatically accomplish that investment allocation with money streams combined with . As a result, the transactional effort of investing is cut out and made set-and-forget.

Imagine a "streaming portfolio" where an individual or organization could gradually allocate a portion of their assets or revenue into a range of investments, from yield-bearing positions to Ethereum and Bitcoin.

Undercollateralized Lending

When an employee is receiving a salary stream or a business is earning on-chain revenue through money streams, it provides an on-chain view at the creditworthiness of the employee/business. Assuming that the employee continues receiving their salary and the business continues to earn, that business/employee could be allowed to borrow against that income without need for collateral.

Here's a good example of how this might look: first, a lending contract would be given authorization to acquire control over the salary/revenue stream. Then, the lending contract would lend to this employee/business and expect the loan to be repaid by a certain date. If they fail to do so, then the lending contract could take control of their salary/revenue stream and make up the loan that way, essentially garnishing the borrower's income.

That whole process can be encapsulated in an undercollateralized lending contract. Check out the Example and this video of us breaking down how it works at a technical level 👇

Lending in Streams

The way we traditionally experience on-chain lending is with one-time repays or borrows (i.e. "I borrow 100 USDC" or "I repay my loan with 500 DAI"). Using Superfluid, you can create lending applications where both repayment and borrowing can be done in streams instead of lump-sums.

On the repayment side, this offers a way to automatically repay a loan on-chain and on the borrowing side, allows credit to be taken out gradually against existing collateral instead of all at once.

Check out this example of a project that lets you take out a loan in the form of a money stream 👇

Streaming Options

With traditional options contracts, a buyer pays an upfront premium for the right (or "option") to buy or sell as asset at a particular price before a particular time. With Superfluid, you are able to replace the upfront payment to the option seller with a continuous by-the-second payment as long as the option remains unexercised (the buyer hasn't used the option).

This is a very unique way to structure options and can be applied for perpetual options (as long as you're streaming your premium payment you have the option rights forever). Check out this example project of a streaming call option 👇

On-Chain Tradeable Cashflow Assets

Tradeable cashflow assets revolve around setting an NFT as a pointer for a money stream such that the holder of the NFT is receiving the money stream. Upon transfer of the NFT to a new address, the money stream to the previous holder is cancelled and started to the new holder.

This design allows for the sale of future cashflow on-chain. You could sell an NFT that designates a portion of cashflows from a protocol, employment position, or business so long as that cashflow is in the form of on-chain money streams. By doing so, you acquire that cashflow up front.

Check out this basic tradeable cashflow example to see how you can tokenize money streams! 👇

Here's an example: let's say you're selling an NFT and the premium is getting paid in a stream. This means that you start receiving an inbound money stream as soon as the call option is purchased and right as it gets exercised (your buyer purchases the NFT off of you), you then stop receiving the stream.

🧠
call option
Ricochet Exchange
real-time investing applications
Employment Based Loan
LogoThe Loan Stream · ETHGlobal Showcase
Logoprotocol-monorepo/examples/archive/streaming-call-option at chainshot · superfluid-finance/protocol-monorepoGitHub
Logosuper-examples/projects/tradeable-cashflow at main · superfluid-finance/super-examplesGitHub
(Tradeable Cashflows are really neat)