Hii,today we will learn about following things :
What is Reveel and how to use it .
How to create a Revenue path using Reveel SDK
A wonderful Usecase of Dynamic revenue sharing among Hodlers for NFT Projects using Reveel.
so,Are you ready ?
Reveel is a platform for sharing revenue on your product in a trustless and efficient way.
Your product can be a Nft project with money flowing in and if you want to distribute your earning among your team in a hassel-free manner then reveel is your thing.
OpenSea one of the biggest marketplaces for Nfts and earning royalties but all those royalties will only come into one account which will be of the creator of the collection.
Reveel has a mechanism to distribute revenue called a PATH.
A Path defines how the revenue flowing into the project will be distributed.
A Path mainly consist of following entities :
Wallet address among which the tokens needs to be distributed
Percentage in which the tokens needs to be distributed.
It currently supports ETH & Standard ERC20's like WETH, USDC, DAI.
You get two options while creating a path :
Create Tiers
Create a Final Distribution model
If you setup Tier then the funds will be first distributed in that Tiers and then it will move to next Tier or to Final distribution module.
What is a Tier and How to setup a Tier ?
Every Tier has a Tier limit,When the distributed funds will be greater than the specified amount (1 ETH in above) then it will move to next tier and the funds flowing in will be distributed according to the rules specified in that Tier.
Eg : First 1 Eth should be distributed among the Designers of the Nft ,Next 1 Eth should be distributed among Developers and so on…
Also a Tier will take 1 % as the fees of the asset flowing into the account,so you have to pay 1$ for every 100$ flowing in .
What is a Final Distribution and How to setup it up ?
A Final distribution can be taken as the last stage of the revenue splitting.
In this stage you defines the rules that how the funds needs to be distributed once all the Tiers have been completed .
Eg : At the Final distribution phase,the Owner or Lead investor of the project will receive the 100% revenue generated by the Nft project.
Mutability
After creating Tiers and Final Distribution for your project you can set the Mutability of your path which is a very small but important component.
If the mutability is set to False(Like in above diagram) then you can’t edit the Path once it is created.
If it’s True you can do following things :
If the Tier is not completed , then you can edit it’s Tier Limit i.e at what value that Tier will finish and move to the next Tier or Final Distribution.
For Final Distribution tier :
You can check status of your tier on the Reveel dashboard of your path and it it’s continous then you can edit every aspect of it like you can change the wallet address,percentage share , etc.
After Final Setup of Tiers and Final Distribution how will it look ?
Now you will have a Address which can accept funds .
You can consider this wallet address as a Smart contract wallet address .
Any funds sent to this wallet address will automatically be distributed according to the rules specified in the above steps.
For eg : I had sent 0.006 Eth into the newly created path which was automatically divided into 50-50 share in the Tier-1.
Once Tier-1 was completed , the Remaining Eth i.e 0.001 was send to be distributed according to the Final Distribution and hence the Admin of the path can now widthraw any of the earnings coming into the Path.
For creating a path in Reveel Sdk first you need to install the Npm package of Reveel,you can do it by following command :
npm i @r3vl/sdk
After installation you can setup the project as mentioned in following documentation :
https://docs.r3vl.xyz/reveel-protocol-v2-documentation/sdk/1.0-react-hooks
After installation,you have to set following fields to instantiate a Path .
walletList: string[][];
This consist of all the EOAs among which the revenue needs to be splitted.
Eg : [EOA1,EOA2]
distribution: number[][];
The distribution sets the percentage share of the revenue which needs to be splitted.
Eg : [0.5,0.5] for 50-50 percentage.
tiers: { [token: 'ETH' | 'WETH' | 'DAI' | 'USDC']: BigNumberish }[]
Tiers will consist of a Array of Numbers which will indicate different tiers of a path.
Eg : [1,2,3,4]
name: string;
Name of the Path
mutabilityEnabled: boolean;``
Mutability is if you want to change the Final Distribution of do changes in Tiers at later stages after deployment.
Once the Path is set to immutable,it can’t be revert back to Mutable.
After specifying all these values,you will send the data into the createRevenuePath
Function of Sdk which will create a path for you .
Usecase(Dynamic NFT Royalties):
One good usecase can be that once a person Buys a Nft ,that EoA will be added to the Final Distribution Tier and will receive a Share of all the revenue generated.
The share of the revenue will be decided by the Number of Nfts the person is holding in his wallet.
In this way not only the creator will get the royalties of the project but the project participants will also receive some royalties as for being a part of the Nft collection project and for being a hodler.
You can reach out to me on Twitter in-case of any help of reviews :
As a final note, I hope you like my art,sayonara.