LogoLogo
WebsiteBlogApp↗
  • 〰️Introduction
    • 🔊Social Curation Protocol
    • 💬Curation Adds Context
    • Use Cases
    • "For You" Feeds
  • 💡Major Concepts
    • Reactions
    • Registration
    • RA! Like Tokens
    • Glossary of Terms
  • 🛠️Protocol Features
    • ✅Register
    • ❤️React
    • Optional Curation Incentives
      • Buy Reactions
      • Spend Reactions
      • Curation Tokens
      • Claiming ERC20 Rewards
  • 📋Protocol Data
    • GraphQL Subgraph
    • Event Diagram
  • 🚢Implementation
    • Permissions
    • Source Code
    • GraphQL Subgraph
  • ⚙️Integration Guide
    • Integration Guide
    • Protocol Interactions
  • Other
    • Security and Vulnerability Reporting
    • FAQ
Powered by GitBook

RARA, the Social Curation Protocol for NFTs. © 2020-2023 RARA Social Inc.

On this page
  • Comment/React to an NFT
  • Sell Curator Tokens
  • Register an NFT to use as a Reaction
  • Withdraw Royalties
  • Withdraw Taker Rewards
  1. Integration Guide

Protocol Interactions

PreviousIntegration GuideNextSecurity and Vulnerability Reporting

Last updated 2 years ago

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

Comment/React to an NFT

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.

  • Contract Source Code:

  • ABI:

  • Chain: Polygon (137)

  • Deployed Address:

  • Functions

Sell Curator Tokens

Users can redeem curator tokens for USDC.

  • Chain: Polygon (137)

  • Functions

Register an NFT to use as a Reaction

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.

Polygon NFT’s:

  • Chain: Polygon (137)

  • Functions

Ethereum Mainnet NFT’s:

  • Chain: Ethereum Mainnet (1)

  • Functions

Withdraw Royalties

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.

  • Chain: Polygon (137)

  • Functions

Withdraw Taker Rewards

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.

  • Chain: Polygon (137)

  • Functions

Contract Source Code:

ABI:

Deployed Address:

Contract Source Code:

ABI:

Deployed Address:

Contract Source Code:

ABI:

Deployed Address:

Contract Source Code:

ABI:

Deployed Address:

Contract Source Code:

ABI:

Deployed Address:

⚙️
ReactionVault
ReactionVault.json
0xE5BA5c73378BC8Da94738CB04490680ae3eab88C
buyReaction()
spendReaction()
react()
SigmoidCuratorVault
SigmoidCuratorVault.json
0x7D278Aa2d95ABa7C969c9F316be6f0cFE0D18A50
sellCuratorTokens()
MakerRegistrar
MakerRegistrar.json
0x47CD3266FA94E40613B37a88D98196325Cd28412
registerNFT()
deregisterNFT()
RootRegistrar
RootRegistrar.json
0x2665Aa3846EC61e6D28A0d9F76b70047719F3664
registerNFT()
deregisterNFT()
ReactionVault
ReactionVault.json
0xE5BA5c73378BC8Da94738CB04490680ae3eab88C
withdrawErc20Rewards()
ReactionVault
ReactionVault.json
0xE5BA5c73378BC8Da94738CB04490680ae3eab88C
withdrawTakerRewards()