What is MoonRank?
MoonRank is the absolute statistical rarity service for the Solana NFT ecosystem.
We rank and index new collections in realtime with no manual input of any kind into the ranking.
Every collection is ranked in exactly the same way — with math — not "weights" or vibes.
Wait, why did you put weights in scare quotes just then?
Because "weights" are... bad. Someone is putting their thumb on the scale ex-post and post-mint.
It's extremely easy to achieve a desired ranking by structuring the NFT metadata in the right way. Take a look at Aurory or Trippy Bunny Tribe for example.
The "hero" pieces are ranked at the top because of properly structured metadata. Someone actually thought about it.
If a developer didn't do that, that's their problem and shouldn't disadvantage the buyers post-mint by introducing opaque "weights".
So you'll never use weights?
No weights. No toggles for random non-transparent modifiers. No ranks based on vibes.
Just like 1 SOL is 1 SOL, the rank is the rank.
What's wrong with vibes though?
There's nothing wrong with vibes. We like vibing as much as the next person. But vibes don't factor into how you rank things with math.
Okay... so what's an example of vibe rank?
The Skele King is not the #1 ranked piece by statistical rarity in the SMB collection. He's #12.
We're fully aware SMB has its own subculture and buying/valuation/etc patterns that are based on individual traits.
Every community looks at rarity/ranking/etc in a different way and that's great.
But the Skele King has a crown?!? And he's a skele. So...
We think it's always good to question things and demand transparency.
E.g., why are the SMB ranks the way they are? Who set them? How can you verify them? What are they based on?
The Skele King is #1 for "reasons", sold for $2.15m, and yet there's still zero transparency into why he's #1.
Every market trends towards transparency. It's time for the Solana NFT ecosystem to do the same.
Okay, okay. So can you explain how you rate and rank things then?
Sure. There are 4 steps to our rating system.
Find the maximum "shape" of the metadata in a collection.
This just means that we go through every piece in the collection and store what trait types (Rarity Algo v2021-12-15: as well as how many of that trait type) we've seen across the whole collection.
So if one piece has a
Clothestrait and another doesn't but has an
Hair Accessorytrait then the maximum "shape" is
Rarity Algo v2021-12-15: If one piece has 2
Miniontrait values, and another piece has no
Miniontrait values but 3
Glyphtrait values, then the maximum shape is
At this stage, we also filter out any frivolous traits that aren't traits. Examples of these are
nullvalues for missing traits.
Then we go through the whole collection a second time and "inject" a value of
null(i.e. the absence of a value) for any traits that are missing on a piece.
This is crucial. The absence of a value is in itself a value.
Rarity Algo v2021-12-15: We also inject
nullwhere the maximum seen count of a trait value is X but a piece has less than X values for that trait.
(For a really great example of why you need to do this, check out Pilgrim Society #0, where the metadata for the hero piece is "corrupt" on purpose (we checked with the artist), but the "shape" of the metadata has expanded across all pieces and
nullvalues have been injected.)
Rank the pieces based on the absolute statistical rarity of the combination of their traits.
Okay, then we go through the collection a third time, and we count how many times a trait had a value of
Knowning that, we can now look at each piece and see how rare that trait value is.
12Degen Apes have a
Clothingtrait value of
Prince Charming. There are
10,000apes. So the rarity of that value is
We take the % rarity of each value in a piece and multiply it together to get the absolute statistical rarity.
Sort the collection by absolute statistical rarity to determine rank.
Yeah. That's pretty much it. Just sort 'em. Boom. Ranked.
Rarity Algo v2022-07-15: Pieces with the same statistical rarity now share the same rank.
E.g., if 4 pieces had the same rarity and were at rank 1, the ranking will now look like:
1, 1, 1, 1, [5, ...].
You can run all these steps by hand if you really wanted to, and get the same numbers. Transparency is key and is missing from the market. It's time to change that.
This makes a lot of sense. Why wasn't anyone doing this for Solana NFTs before?
Dunno. But it annoyed us. So here we are... ranking moons.
Wait, I'm from the land of Ethereum and this sounds a lot like X...?
Yeah, so we don't really do Ethereum and had no idea this existed over there until someone told us rarity.guide does this.
rarity.guide is so freaking cool! If this becomes that for Solana then we'll have achieved something.
Can I/we send a tip to MoonRank?
♥️. We're extremely grateful to anyone who wants to help defray our considerable (😬) infrastructure costs.
Our Tip Jar:
Is this financial advice? Are you my financial advisor?
lol. No. No it isn't and no we're not.
DYOR, NFA, this is not a dating site. Etc.
(This is an absolute statistical rarity site for Solana NFTs, in case that wasn't clear.)
What does the "verified" badge mean next to a collection name?
It means that the creator is a proponent of buyer transparency and supports fair statistical ranking.
The way most "rankings" work is that they're "backfilled" from the top down, because no one in their right mind wants to weigh 10,000 pieces with millions of possible trait combinations.
So what happens is, the top X get their trait weights adjusted so they look "nice". Then the rest of the collection is basically sorted by a random number generator. This is the reason why you get rekt buying mids.
Statistical rarity is fair to every piece in the collection, applying the exact same math to each one.
Do you charge creators to rank them?
Can the NFT project influence the ranking?
We have a collection and we've made our own rarity/ranking system. The rankings are different from yours. Now what?
Cool! We're big believers in every collection owning their rankings and providing fair rarity guides to buyers, including a percentage breakdown of how rare each value is.
There are different algorithms that can be applied to rarity data to sort/rank collections, and that's fine.
We'd be happy to delist your collection from MoonRank if your community agrees.
We have a collection coming up. How do we get ranked?
Send us your Candy Machine or Launchpad details.
We have a collection and we'd like to use your rankings. Can we get them in a different format?
First: we're honored. Thanks!
Second: you can find your mints with all ranking information etc at
Can we give our MoonRank rankings to ranking site X so we can be on multiple sites at once?
Of course. MoonRank data is directly derived from public data on the blockchain so the data is yours to do with as you please.
Okay, are there any hidden awesome features I should know about since I made it this far down the page?
You can put any token at at the end of moonrank.app, and if it's in our index, we'll redirect you to its page.
If a piece has a # number in its name, you can link to it by that as well as its token.
During a live mint index, we won't show a rank on the collection page as it would be misleading.
If you really want to see what the rank is for a piece right now, go to its page and hover over the infinity symbol.
You can search by rank with
rank:30will show you the 30th ranked piece.
On the homepage, you can press
/to shift the focus to the search box, type a substring of the collection you want, and hit
<Enter>to get taken there without moving your hands from the keyboard.
How can I contact you?
You can find us on Twitter @MoonRankNFT or email firstname.lastname@example.org.