dripit is tokenizing music streaming royalties as NFTs, opening up new revenue streams for artists and elevating fans to stakeholders
Incentives in music industry are broken across the board. Dripit solves this for both creators and fans: 🎸creators: streamlining master/publish/distribution of their music, and trade % of their future royalties for upfront payments 🎉 fans: elevating fans to stakeholders by fractionalized ownership of streaming royalties & enhancing community experience
Tokenizing & distributing claims to streaming royalties unlocks untapped channels of revenue, providing with the building blocks to build towards a sustainable 🎶MusicFi🎶 ecosystem, by introducing new passive and active ways to earn from your Music both as an artist and stakeholder.
The idea was born out of 1st hand experience of a seasoned artist/music producer, and 2 avid music fans (the core team) - we felt there is a gap in the market with lots of room for innovation.
Our primary goal is to offer a seamless web2 experience, so that any user - wether crypto-savvy or not - can participate. Thus, we built dripit by utilizing heavily Safe{core} AA SDK stack, to abstract away all extra steps someone without a crypto wallet would have to take. In detail, we used:
🛂 AuthKit >> to let users register with existing web2 accounts (Google / Twitter / Discord / Email) in a passwordless manner
🔄 RelayKit >> to preserve the seamless user experience we've achieved so far, we're using Safe's integration with GelatoRelay, to pay gas fees for our users' transactions (deploy Safe & mint Drop NFTs).
💶 OnRampKit >> to offer FIAT on/offramp to our users. We started integrating both Stripe($USDC) & Monerium($EURe), but ended up omitting Stripe from the UI as our team is entirely EU based and thus we could not test our code with current geographical restrictions placed by Stripe.
⚙️ Protocol Kit & API Kit >> the "glue" that makes the above integrations work!
A 'hacky' solution we came up with is our implementation of the Monerium integration flow. Specifically, in the 2nd step of connecting Monerium account with a Safe wallet, the user is asked to sign a message. Normally that is only possible by:
This was a huge blocker to the UX we wanted to achieve, so instead we came up with the following flow:
Another 'hacky' workaround we were obliged to implement, is in regards to ERC20 approvals. Since Monerium's EURe does not implement permit() function (ERC2612) which allows for gasless token approvals, and we dont want the user to have to load up with gas token at all, we currently mint the tokens for free. We have communicated this with Monerium team, and got the response that they'll be migrating EURe contracts on testnet to a new version that implements permit right after the Hackathon!
Our overall architecture can be summed up as follows: