What is it?

The "stream" engine automatically splits and propagates ("streams") all incoming funds to the group members.

How much does it cost to create one?

Enter the number of members in the group to calculate realtime gas price estimate right now

What makes it special?

1. Virtual identity for groups

Every group has an address. Send funds to it, reference the address in another contract, and so forth. You can treat the group as a single entity. Think of it like setting up a company with multiple founders, but much more casual. Once a company is set up, the company acts as an independent entity, and the founders share the profits.

2. Instantly plug into any other contracts

Stream is versatile. Because it doesn't have a specific contract method you need to call, but is activated simply by sending money to it, you can use it in all kinds of contexts. You can use it as a minimal module in a DAO, as a recipient of an NFT contract royalty, as a way to split funds among NFT collaborators, and so on.

3. Immutable => composable

Stream truly shines when it comes to composability. Because each stream is immutable, you can trust that the split algorithm will never change in the future. Therefore can treat streams as low level building blocks and build the addresses into oher contracts, and they will work deterministically forever.

How to use?

  1. Set up a group with multiple receivers. Each group has its own receiving address ('input address').
  2. Share or use the address and let anyone send money to the group
  3. The stream automatically splits all the incoming funds and sends out to the members in realtime (Push based).
  4. All streams are immutable. If you want to create a stream with different split ratio, create a new one and use it instead.

Why use stream?

  1. SAVE MONEY: stream utilizes the state of the art technology called "minimal proxy contract", which makes it as cheap as possible to create these groups. If you were to deploy them on your own, it would be much more expensive.
  2. 100% FREE: This contract has no business model attached. It's 100% public utility for everyone.
  3. SUPER OPTIMIZED IMPLEMENTATION: The contract has been obsessively optimized to lower the cost to deploying each group ("stream"). There is no reason to write your own contract. Just use it.

What is it for?

  1. Manage split payments: Instantly set up a "blockchain entity" that can auto-split any incoming funds and send to designated receiver addresses.
  2. NFT royalty split: Most NFT royalty implementations (including the EIP-2981 standard and Opensea) designates one receiver address for royalty payment. You can use this existing workflow but plug in a stream to automatically split royalty payments to multiple contributors.
  3. Minimal building block for DAOs: In many cases you need a super simple way to route funds across multiple addresses. stream is it.
  4. Stack multiple streams: Just like UNIX pipeline, you can stack multiple streams together to create a workflow. For example you can create stream 1, and connect it to stream 2. Then when there's an incoming transfer to stream 2, the money will be split and stream 1 will receive its own share, from which it can split yet again and send to all receivers
  5. Build into smart contracts: Since every stream is its own smart contract with own standalone address, you can easiliy integrate stream entity addresses into your other contracts to build sophisticated workflows.