[RFC] RARE Staking: A novel mechanism for Curation, Reputation, and Discovery

I think there are high costs and humble returns to the value that could be extracted. A sybil attacker would still need to align in some way with the quality of a seller in order to be systematically rewarded for it. Or they’d have to conspire as well on the side of the marketplace sale- where the amount they receive would be less than the fee taken from that sale.

We benefit from a system design where the act of staking is not that tightly coupled with getting paid. More like a prediction market, where your ability to align your stake with reality is what gets you paid.

There’s certainly nefarious corruption that could be done to just a reputational ranking for the simple sake of just screwing with people. And people do like to screw with people. But it would be at high cost with little promise of any financial return.


Hey, Juan here, i worked on the alpha version of the web app. Happy to contribute with feedback about the protocol. I have a couple of ideas that i’ll be posting in the forum for us to discuss.


Amazing project! From Protofire side, we can say we are happy to have been able to contribute to making this project a reality and to be part of this community (because of course, we already feel part of it!) :100: :dizzy:
We hope that we can continue to help this initiative grow with all the ideas we have :boom:


Excellent points. It’s very easy to get lost in the homo economicus mindset in mechanism design, so your framing around the social dynamic of just fucking with people is really important to keep in mind.

Saying “I believe this person is going to sell art” is not necessarily the same as saying “I believe this person is reputable”. I believe the ideal state of the system is one in which the genuine expression of trust and preference is an identifiable / rewardable action, and being the target of such expressions is a real signal of good standing within the community which targets are incentivized to maintain.

I think its worth exploring how off-chain analysis of the raw on-chain state can help create more resilient and reliable signals coupled to the authentic expression of trust and preference between network participants. Without such systems, we are bound to the diversion of fees from selling art as the primary incentive mechanism. This works because, to a degree, the market does not lie. However, marketplace activity is clearly not the whole picture. Experimenting with multiple approaches to analyzing and interpretting on-chain data may produce significant opportunity for us to create a more holistic incentive structure that better matches the multi-faceted nature of what reputation looks like in real life.

As a very early example, the Reputation Based Incentives section of the whitepaper discusses how maintaining good standing could be incentivized in the presence of resilient and robust reputation signals which filter noise such as whale games, self-promoting sybil attacks, and “just fucking with people”.


Will this help the artists without a strong network effect yet or just boost the well known artists even more?
After thinking about it I think that it might. If an artist has one strong collector willing to stake all of their RARE on that one artist it might raise their profile. But that artist does sell something the one collector in the pool would gain large benefits.
What if the collector puts all their RARE into a pool that they create and then they buy art from that artist? Would this give them an additional incentive to buy art from that artist?

First-time poster in the SuperRare community. I agree with @epowell101 about the need for sybil defense to make this system capable of richly expressing the desire of the community.

As the Fraud Detection & Defense workstream lead for Gitcoin for 2 years, I’m acutely aware of the issues this can cause. If there are incentives available, you must assume that they will be farmed. It’s not “if”, but rather “when” and “how much”.

It would be great to see sybil defense from day 1 of this protocol. The community should recognize the tradeoffs presented by the different methods available.

There is the Gitcoin Passport, which can stop most bots and give weight to quality users. Unfortunately, the tradeoff is that newbies have a hard time participating and the stamps are inherently biased which can compound systemic inequality over time. It is a great product but requires a balance provided through behavioral analysis and retroactive sybil discounting.

There is continuous research & development happening in the Open Data Community. There are multiple open-source behavioral analysis “legos” available that are focused on the quadratic funding signals from a wallet’s history. In order to develop and maintain this system, it would require some understanding of the SuperRare staking specific attack vectors. Then we would need to know if real-time detection would be required.

Using account abstraction, a company like TrustaLabs could provide infra for implementing real-time detection at scale.

I’d recommend doing a discovery project to understand the exact needs of SuperRare staking to create a comprehensive solution and/or mitigation strategy. Without it, the odds of success for this project are lower than need be.t


I think to some degree yes- but how much depends a lot on the percent of fee from a sale gets forwarded to that pool. And I imagine these forces would balance each other out.

For artists big enough to make huge sales and thus large rewards sent to the pool- it will be tough to be be the only staker in the pool. For lesser known artists- Being the sole staker could be be a good strategy, but the rewards would be smaller.

If a collector is both the staker, and the buyer- it’d be similar to like a 1% (or whatever the percent is) cashback on their purchase. Which yeah- might be motivating for some.

My first impressions after reading the Mirror post and the White paper (did not tried the alpha dapp so far).

As a general comment, I like this clever idea and I endorse its implementation. I share some questions, observations, and potential problems below for the sake of improving it.

Mirror post

  • A rarity pool is a smart contract in which a $RARE holder locks up tokens to signal support for another actor in return for rewards from their future sales.
    • Problem: The main problem here is the skewness of RARE distribution. As we all know, the large bulk of RARE is held by few addresses. As of today (8 June 2023), among the 8837 RARE token holders, the top 100 holders (1.1%) collectively own 93.93% of the supply of RARE (data provided by Etherscan). Be aware that any reputation system based on such an asymmetric distribution is going to inherit the same bias. Furthermore, RARE is a fungible token that can be bought, sold, and transferred: owning a large amount of tokens is not a signal of an important contribution by the owner within the SuperRare ecosystem, including the SR DAO. The risk is to create a “reputation” network in which whales are endorsing blue chip artists. Such a network would not add any new entropy to the system. In general, I think that reputation has nothing to do with money (hence with fungible tokens).
    • Question: why would the actor want to distribute part of the earnings from its sales? I see boosting visibility as the only answer, but probably I am short-sighted here.
  • The Rarity Pool token economics are as such that, the smaller a pool is when a new member stakes, the greater the rewards they’ll receive whenever that pool recognizes a sale. Thus, stakers are incentivized to search out undervalued or undiscovered actors for whom they can increase both reputation and pool rewards.
    • Observation: This might mitigate the above described Mathew effect (aka the rich gets richer).
  • If a specific pool is sizable with known participants staking in it, one can assume that this address belongs to a known and/or reputable actor. If a pool has little or no stake, or is staked on only by unknown actors, then the social reputation of that address is significantly lower.
    • Observation: This is interesting and closely resembles ‘eigenvector centrality’, a popular centrality measure used in network science, akin to Google’s PageRank algorithm. See for instance PageRank: Standing on the shoulders of giants. The definition of reputation becomes recursive - is defined in terms of itself (like Escher’s Drawing hands)
    • Observation: The network links encode three interesting information: who stakes on who, how strongly they stake, and for how long (one can stake/unstake at any time). The temporal information (how long) is promising: all else equal, an actor that is being staked by stable stakers should have higher reputation than another one being staked by volatile stakers (akin to Conviction voting, in fact).
  • "The Staked List of a prominent artist or collector – say, Jason Bailey, or Diewiththemostlikes – then becomes visible to all network participants and a source of insight for keen observers to browse.
    • Problem: Once again, popularity is attractive, and the Mathew effect is lying in wait. Essentially, the risk is that I stake on X because Jason Bailey did. Not very interesting.

White paper

  • Bonding curve equation: “This function contains two coefficients which are meant to shape the bonding curve and prevent precision loss. Their current values are a = 2 * 10^28 and b = 10^13”.
    • Question: What is precision loss? Be warned, implementing complex math formulas (like those defining bonding curves) in Solidity is gas expensive and becomes very complicated very quickly (Solidity does not support real numbers). Moreover, how have been the parameter values for a and b chosen?
  • Reputation: “Such a score could be calculated using a model similar to quadratic funding, which imposes a cost of conviction such that 100 people staking 1 RARE would generate a larger signal than 1 person staking 100 RARE.
    • Problem: The issue here is of course sybil attack, both hard and soft. By soft sybil attack I mean different but highly correlated stakers staking on the same pool. Vitalik Buterin proposes to detect and discount correlation among voters in QF. A similar approach might be applied here for stakers in rarity pools: given a large enough network, it is relatively simple to compute a similarity metric among nodes (actors) of the network. If a pool is staked by clustered (very similar) actors, the acquired reputation might be diminished, since “such a staking group is more likely to be a group of Souls who are making the same error in judgment or who share the same bias”. In other terms, all else equal, the more diverse are the stakers, the higher the accrued reputation by the staked pool.

8837 RARE token holders, the top 100 holders (1.1%) collectively own 93.93% of the supply of RARE

Keep in mind this includes exchanges, and un-circulating tokens like the dao treasury.

If you remove all those it’s more in the range of the top 100 addresses hold 20% of total RARE, and 50% of RARE in circulation.

Question: why would the actor want to distribute part of the earnings from its sales? I see boosting visibility as the only answer, but probably I am short-sighted here.

It wouldn’t come out of the seller’s portion. It would come out of the fee already being collected.

1 Like

Anyway, 1% of the top addresses holding 50% of circulating supply is still a lot. The distribution is highly skewed.

1 Like

@hex6c thanks much for the thoughtful comments!

One note on the point of token distribution – one of the reasons I’m most excited about this system is that it’s actually a really good token distribution mechanism itself. Short of airdrops or selling artworks for RARE, there hasn’t been a good way to accrue the token so far.

All rewards in the system are paid out in RARE, so for active network participants, this could become a powerful and organic token accrual system, which benefits the whole network. Rewards are not based on how much token weight you stake, but rather the percentage of the pool you have – so a staker can potentially claim 100% of the rewards by staking a single token.

Also, the largest current holder is still the community treasury, of which I’m hopeful a meaningful portion can be allocated to bootstrap the staking program with extra tokens (e.g. for the first 6-12 months, active stakers and stakees could get a proportional RARE drip from a treasury allocation).



So pumped you hopped in here with your questions. These are the meaty ones we like (steak pun intended).

The precision loss is because Solidity lacks support for decimals; this limitation necessitates a workaround where numbers are scaled up significantly to avoid precision loss, thus, the very large numbers.

You’re absolutely correct that implementing complex mathematical formulas in Solidity will be gas expensive and considerably complicated. However, after testing the implementation found here we found it to be very gas efficient, only about 530 gas when performing sqrt(10^45) which is likely to be on the upper bound supplied. I’m happy to supply some test code if you’re interested in trying it yourself!

As for the parameters, they were chosen through trial and error, attempting get the behavior we wished.

Parameter a increases the impact of the amount staked in relation amount of synthetic rare (xRARE) purchased. The greater the value for a the greater the amount of synthetic rare returned. We chose to make it pretty large to make sure the square root was less likely to get to a number where the solidity would begin truncating values because of the inability to support decimals.

Parameter b scales the amount being purchased. If it is too small, we would begin dealing with very large amounts of xRARE very quickly thus giving way too strong of an edge to early buyers and punishing late comers faster than we wish. If it’s too large, the amount would grow too slowly and there wouldn’t be a much of an advantage to joining a pool early.

Again, all of these were done through trial and error and some simple graphing. Graphing with the extremely large numbers made it difficult with the tools at hand but I’d be very keen to get someone with more skills in this realm to provide feedback on the chosen values.

Please let me know if I can elaborate more or if you see any issue with my points!


Sounds like a great idea if you can prevent abuse

However, can I ask how artists not currently listed on SR will be able to get on. There are plenty I would stake who aren’t accepted, and I would guess it would be even harder to find them after these changes? Will there be a nomination system (by staking even) so that the current crop isnt dictated by a centralised few.

I know there are spaces but most of those are very expensive for the artist and don’t provide much help to them either AND are gated with the similar biases etc in most cases.


Aside. I’m wondering why Solidity took the decision of avoiding decimal numbers (floating point numbers). All financial applications use them. Money are not integer numbers!


This stackoverflow post has some details around why it’s not included in solidity


Glaring issue from whitepaper is

In this paper we use the name xRARE to discuss these synthetic tokens in general terms, but in actuality the token for each pool will be named “xRARE_” followed by the target’s ENS name, if one exists, or an abbreviation of user’s address if one does not.

So, are you staking against an ENS name or against an 0x address?

If I’m staking for myfavoriteartist.eth and they end up changing the underlying address what happens?

The target is defined by an address, and then we check if that address is the registrar of any ENS names. If the target’s ENS name is reassigned then the name of the pool will update automatically when viewed in interfaces such as etherscan or alpha.rare.xyz

1 Like

hey John what are the updates on this SIP

  1. Another proposing a modification of the bazaar such that a portion of the network fee from each sale is diverted away from the DAO treasury and into the the seller’s RARE pool, if one exists, as compensation for the curation data generated by the pool.

Hello David, this has been implemented along with the deployment of the staking contracts to mainnet!

Here is the SIP which brought it live: SIP | Deploy RARE Staking to Ethereum Mainnet

And here is the app where you can interact with the mainnet staking contracts and claim rewards (after they have been converted to RARE for a given pool via reward swap): https://app.rare.xyz

1 Like

Got it! Definitely skipped by that part