The problem Sublimate.Finance – Streamable Tokens solves
Sublimate is a DeFi smart contract app that lets artists, open-source developers, content creators, and charity organizations accept continuous financial support from anyone in the form of streamable tokens.
For supporters:
- Reward your favorite artist, creator, or charity on a continual basis, at your own pace.
- Mint streamable tokens (strETH, strDAI, etc) by depositing ETH, DAI or any ERC-20 token.
- Start a "streamable subscription" to a recipient by choosing a token, a duration, and a rate or maximum amount. Funds will be streamed out of your balance and into the recipient's every time a block is added to the blockchain. You can cancel a subscription at any time.
- You pay gas fees only when starting/canceling subscriptions, and converting between streamable and non-streamable tokens. There are no recurring fees during the subscription itself.
For creators:
- Connect your wallet address to build a personalized "creator page" ready to receive streamable tokens. You'll get a custom sublimate.finance link to share to your fans and followers (optionally personalizable by connecting to ENS/Unstoppable Domains, e.g. sublimate.finance/creator/vitalik.eth or sublimate.finance/creator/brad.crypto).
- Track your balance, number of supporters, and other analytics using our built in dashboard powered by The Graph.
- Use our embeddable subscribe widget so anyone can support you from your newsletter, blog or website.
- Pay it forward – showcase other creators you're supporting!
About the protocol:
Challenges we ran into
We are constantly looking for opportunities to support more use cases and make our streamable token platform more robust. Currently, we are working on:
- streamable versions of interest bearing tokens and liquidity pool shares from Aave, Compound, and Uniswap, so creators and subscribers can earn extra interest/fees while supporting each other. We already have wrapping contracts for ETH and regular ERC-20 tokens; creating a streamable ERC-20 (e.g. strDAI) is as easy as passing the underlying token address to the StreamableWrappedERC20 constructor and deploying.
- using Chainlink/Tellor price oracles with The Graph to accurately calculate the total fiat value of a subscription (since each bit of token streamed within a subscription can have a different price). Our subgraph calculates block-by-block analytics for users of streamable tokens, including subscriber counts, account balances and net incoming and outgoing rates across all subscriptions.
- a Chainlink/Tellor feed tracking the average block time of the past day/month/year, so that instead of taking a rate of tokens per block, our smart contract can take a time interval as input and accurately estimate how many blocks a subscription should last.
- unfunded and endless subscriptions (e.g. subscribe for 1 year without holding the full amount up front, or even forever). The currently deployed implementation is limited in that all subscriptions must be funded up-front and last a finite duration.
- multiple subscriptions to the same address.
- deploying the front-end to IPFS once our protocol goes live on mainnet. We used the Svelte/Sapper web framework to build our dapp as a dynamic single page application, ready to deploy as a progressive web app or deployed to IPFS for censorship resistance.
- storing profiles on IPFS for scalability. Our profile editor lets creators associate a custom avatar, cover image, description and social network links with their address to display on their sublimate.finance/creator page.