Superfluid: The Programmable Cash Flows of the Future
Continuously streaming payments on Ethereum
Hi friends! Today we're covering Superfluid, a token standard for programmable cashflows.
How do you pay for your Netflix or Spotify subscriptions? You pay a lump sum at the beginning or end of each month.
How does your employer pay you? Usually, they pay you at the end of the week or month, after you've done all your work. In some sense, you're effectively giving them a free loan; you've done some work for them, but they haven't paid you and can earn interest on your unpaid salary until it's paid out.
Superfluid is a technology that can solve these issues. Built on Ethereum, Superfluid takes the term "programmable money" (often used to describe ETH) to another level.
Programmable Money: ETH
Ether (ETH) is the programmable money of the Ethereum blockchain. It's used to pay for transactions on the network and can also be sent to other users as payment. When you send ETH or another ERC-20 token, you'll incur some fees. You have to pay these fees in order to get the transaction recorded on the blockchain.
These simple transactions are great for one-off transfers of value. If I need to send my friend some ETH, I'll simply send it to his wallet. Perhaps he paid for my dinner and I'm paying him back. The value had already been fully transferred at a discrete point in time (my friend paid for my dinner at 6:00 pm, for instance).
ETH can be programmed in much more complex ways, but it’s usually structured around single, discrete transactions.
Programmable Money 2.0: Superfluid
But what about a scenario where value isn't transferred at one point in time. What if I'm providing value to others at a constant rate over the month (e.g., a salaried job)? Shouldn't you be compensated for the work that you've performed each day?
Historically, businesses couldn't pay their employees on a daily basis because it was too operationally complex. Writing checks to hundreds of employees wasn't feasible. One could argue that electronic ACH bank transfers have made this easier, but they still aren't exactly fast (2-3 days, usually).
What's most exciting to me about Superfluid is that you can program money to match the value you consume or create.
Here's how Superfluid works under the hood (at a high level).
Under the Hood
Superfluid, like everything else on Ethereum, relies on smart contracts.
Superfluid calls their smart contracts agreements. Agreements are what allow for tokens to flow between two parties without the need for regular, manual transactions. An agreement outlines how much value will be transferred over what interval. That value transfer is called a stream.
For example, my employer could set up a stream to pay me 100 USDC per month in a constant stream. Once the agreement is approved, that USDC will start flowing to my wallet each second, little by little. By the end of the month, I'll have accumulated the 100 USDC in my wallet.
What's great about Superfluid is that this agreement contract works with just 1 transaction fee. As anyone who has used Ethereum extensively knows, transaction fees are a huge deal. You may end up paying $40-50 to send a few tokens to someone, depending on the network demand. An employer isn't going to want to spend thousands of dollars just to pay their employees each month. Superfluid's smart contracts allow for tokens to transfer continuously and seamlessly without the need for constant transaction approval. As long as the payer has enough tokens to meet the Superfluid contract's demand, value will flow between the two parties. Superfluid calls this a “gasless transfer.”
Streams have no end date; they are either ended automatically when the payer's wallet runs out of tokens or when the payer submits a transaction stopping the stream.
Instant Distribution Agreements
Superfluid also has contracts enabling mass payments. Commonly, decentralized autonomous organizations (DAOs) have many contributors. Contributors may do different levels of work for the DAO each month, so their payments won't be steady and continuous like in the examples above (because the value they provide to the DAO is also not continuous). Or, perhaps that there are 3 owners of a DAO who want to share their earnings with one another.
Superfluid is able to instantly distribute these earnings to the owners of a DAO with their Instant Distribution Agreement contracts. Each owner will have a certain number of "shares" in the smart contract. Once any tokens are sent to the Superfluid smart contract, Superfluid instantly sends them to the shareholders (in proportion to how many shares they own).
What Else Superfluid Enables
Once you understand how Superfluid works, you can imagine all sorts of exciting use cases. First off, Superfluid really simplifies the payment process. Rather than submitting a repetitive transaction each month (which, at the moment, will cost you a lot of ETH in gas fees), you can set up a contract to automatically deal with your payments.
A few examples I think are pretty interesting:
Income & paychecks. Let employees be compensated for each second of work they perform without having to wait for the end of the month (see above). This would also do away with the practice of predatory payday lenders - giving employees their money right away means they have no need to get a high interest payday loan.
Have a favorite podcast? Maybe in the future, you'll be able to subscribe to the podcast and pay by the second, directly reflecting the amount of time that you've listened. Or maybe rather than renting an entire movie from Amazon, you could pay by the minute - no need to worry about paying for an entire movie that you stop watching after 10 minutes!
Looking at the issue from a more crypto-native lens, all of Superfluid's products are composable. In my first post on DeFi, I compare composability to Legos:
Think of each DeFi product as a Lego that can be stacked on top of another. You can take one product, couple it with another and everything just works.
When you can take a Superfluid stream and use it on another platform, the options become endless. What if your employer paid you through an ETH stream and you wanted to convert that to a stablecoin? Someone could build easily products that easily convert the ETH to USDC, allowing you to avoid taking ETH price risk.
Everyone should try setting up a Superfluid stream! I've found Superfluid's website to be super accessible to beginners, but here are some tips:
You need an Ethereum wallet. I'd recommend using MetaMask for this.
If you don't want to use real money, go to a test network to create the stream (I used Goerli).
Once you set up a stream on a test network, go try it on Polygon (a Layer 2 Ethereum chain)! Once you do that, you can claim 100xp through Rabbithole, which will verify and show other users that you've managed to create your very own Superfluid stream! Here's a full tutorial from Rabbithole on how to complete the task.
If you do complete the task, shoot me a message and let me know! :)