scrtlabs / Grants

Repository for grant proposal submissions
41 stars 22 forks source link

eqoty #44

Open luca992 opened 2 years ago

luca992 commented 2 years ago

eqoty

Project Description

We intend to create a music sales and (eventually) streaming ecosystem with trust-less royalty distribution and ownership opportunities for fans on the Secret Network leveraging the SNIP-721 standard. Secret Network's ability to store private data inside NFTs is vital to enabling music access control in our apps.

Our end goal is the creation of two end-user products.

Problem

Solution

Eqoty is an end-to-end music ecosystem for artists to release, sell, and stream music. Additionally, Eqoty empowers artists to self-raise capital (through the creation and sales of fractional royalty tokens to investors). Royalties are backed by the proceeds from both music sales and subscription streaming. All proceeds from sales are immediately and automatically distributed to royalty token holders (both artists and individual investors/token holders).

Detailed product description

A key component of our dapp is the ability to purchase music NFTs, and automatically distribute the proceeds to the holders of the song's complementary royalty NFT [1].

Our dapp consists of one main 721 contract called EqotyRelease, with two sub 721 contracts called EqotyPurchase and EqotyRoyalty. To release a song on eqoty, an artist would use our app to encrypt and upload their audio files (including associated metadata) to IFPS. Then our app would call the minting function in our EqotyRelease contract supplying public metadata containing all public song information, and private metadata containing a decryption key and the URI of the audio file stored on IFPS.

The mint function in EqotyRelease does two things: mints a new SNIP-721 NFT with both public and private metadatas, and instantiates a new instance of EqotyPurchase and EqotyRoyalty. Finally, it uses the EqotyRoyalty instance to mint a royalty NFT with a fractional value of 100% which the artist receives in their wallet. The artist would have the ability to split up their 100% royalty NFT into fractional pieces if they wish to do so at this point. For example, they can choose to split their royalty token in half and sell one half to an investor.

After an artist mints a new song, the music player app (which displays all minted EqotyRelease tokens) will immediately show that the new release is available for purchase. And while a user (music purchaser) can see which music NFTs are available for purchase, as well as all associated public information, they cannot access the secret metadata to decrypt and play the song without purchasing the song. Only after the purchase of a song will a user be permitted to access the secret decryption key accessible through the EqotyPurchase contract and thus have the ability to play the song.

Purchasing a song in-app will handle transferring the required amount of funds from their wallet by calling an EqotyPurchase instance's purchase minting function. EqotyPurchase mints a purchase NFT for them and transfers those funds to its paired EqotyRoyalty contract instance.

When EqotyRoyalty receives these funds, it will lock those funds inside the contract ready to be claimed by royalty holders. EqotyRoyalty has the property that it maintains a list of claimable royalty balances for each minted royalty NFT and will divvy up new funds for each minted royalty NFT according to their royalty percentage. For example, in the case where two 50% royalty NFTs have been minted for a song: both would have half the payment added to their claimable royalty balance. The holders of the NFTs will be able to claim these balances in-app, and the contract will transfer their balance to their wallet.

[1] Music Release and Purchase Flowchat:

Crypto Music

We will also explore the distribution of artists' revenue from external platforms (Spotify, Apple Music, etc.) using our royalty tokens, similar to https://royal.io to increase the inherent value of royalty tokens while our platform is growing.

Go-to-Market plan

We'll focus on deploying an MVP dapp with support for releasing music, buying music, and music purchase revenue distribution to royalty token holders. We will start with a hand-picked set of about 1-3 artists so we can personally engage with them and their communities while learning quickly from their feedback. Then we can rapidly onboard up-and-coming artists plus focus on getting one big-name artist to release at least one single on our platform. To find these artists, we will leverage our existing relationship with two small and medium-size artists with cult followings who have indicated an interest in our project. For the big-name artist, we have direct contact with the OVO group which, if we are successful in getting one of their up-and-coming artists on our platform, will generate the necessary buzz to bring in more well-known artists.

Current Project State

We have implemented the contracts as described in Solution, written in solidity on the Ethereum network (without encryption). And a primitive app on web, desktop (jvm), and mobile which interacts with the contracts.

Below is a short demo of the web app splitting and merging fractional royalty NFTs, purchasing 2 copies of a purchase NFT and the proceeds being delivered to the claimable balances of the fractional royalty NFTs. eqoty-demo

We are currently learning how to build and deploy Secret snip721 contracts in Rust.

Development Roadmap

We are looking to fund the first four months of our development to help get us to a profitable state. We have two senior-level developers working full-time, at a total cost of $98,000. Based on $75/hr 40 hour work weeks.

Software Milestones:

Month 1 ($24,500)

Month 2 - ($24,500):

Month 3 - ($24,500):

Month 4 - ($24,500):

Ideally, we can receive payments in 4 disbursements, one at the beginning of the grant, and one after each month when development goals are completed.

We would be willing to consider part payment in SCRTs, up to 100%.

Team members

Team's experience

We are two Software Engineers, Milad Gueramian and Luca Spinazzola who met during undergraduate studies at University of Southern California.

Team Code Repository

Additional Information

Building a separate open-source multiplatform SecretKotlin client library as part of our project will be necessary (as SecretJs won't fit all of our needs). We plan to write it in kotlin multiplatform, which will be able to be compiled as a library for many languages (kotlin, java, swift, objective-c, js, java). This library could be useful to many other projects looking to build Secret Apps outside of the js ecosystem.

JayScrtNetwork commented 2 years ago

Hi and thanks for taking the time to submit this request. Can you please contact me on Discord so we can set up a time to review.
Jay | 𝕊hadowRealm#0086

Cheers

JayScrtNetwork commented 2 years ago

Following up on this. I haven't heard back from the team. Can you please ping me on discord or drop a note here with some contact info beyond github only. Cheers