There are five main contract interactions in the RARA protocol:
- Comment/React on a NFT
- Sell Curator Tokens
- Register an NFT for use as a reaction
- Withdraw Royalties
- Withdraw Taker Rewards
The main interaction in the RARA protocol is reacting to NFTs. This is a two-step process: 1) buying reactions using USDC, and 2) spending reactions. When a reaction is spent the underlying USDC is moved into the curated NFT’s bonding curve and the user is issued CuratorVault tokens.
Users can redeem curator tokens for USDC.
NFTs owners can register their NFTs to be sold as Reactions. The MakerRegistrar contract will attempt to use the royalty registry contracts (EIP2981) to honor creator royalties. The MakerRegistrar contract registerNFT function also includes optional parameters to set creator addresses and royalty amounts; these values will be used if the NFT is not present in the royalty registry.
Ethereum Mainnet NFT’s:
Royalties are generated by protocol activity. There are three types of royalties: “Maker rewards” are paid to the owner of the reaction when a reaction is sold, “Creator rewards” which are paid to the creator of the reaction when a reaction is sold, and “Referrer rewards”, which are paid to the referrer of the transaction when a reaction is sold or spent.
When a reaction is spent a portion of the reaction’s underlying USDC is spent on curator tokens that are reserved for the owner of the curated NFT (the “Taker”). The Taker can redeem their curator tokens for USDC using the function below. Note: the curated NFT must be registered via the MakerRegistrar contract in order to prove ownership before the withdrawTakerRewards() function is called.