# Loot

By [Graeme](https://paragraph.com/@graeme-2) · 2021-09-01

---

Loot is a project that allows anyone to mint an NFT representing a set of 8 adventurer-themed gear items. These items have scarcity characteristics that are randomly distributed.

It is called a "fair mint" project, because the contract does not sell the NFTs - they are free to mint. Only 8,000 tokens can be minted in total, and the creator has reserved 222 of them for themselves as a reward (these tokens have the same scarcity distribution as everyone else's). All tokens have already been claimed.

At the time of writing, over 9k ETH (~$30 million) of Loot volume has traded on OpenSea's secondary market, with a floor price of 5.5 ETH each - making it one of the highest market cap collectibles of all time.

Included with each token are 8 types of gear items:

*   Weapons
    
*   Chest Armor
    
*   Head Armor
    
*   Waist Armor
    
*   Foot Armor
    
*   Hand Armor
    
*   Necklaces
    
*   Rings
    

To produce randomized scarcity, each item may be augmented by a prefix or suffix based on a hash of your token ID. There is a 42% chance of a suffix, and an 8.7% chance of a prefix.

One prefix might be "Spirit Song", and a suffix might be "of Protection" - combining with a "Titanium Ring" item to form: “‘Spirit Song’ Titanium Ring of Protection” (which would be very rare). Here's what a full set might look like:

![An example of Loot items](https://storage.googleapis.com/papyrus_images/e361dce4bb47b12b7e19f98dde1c00361f7d96568c8b5d40eef5dee41853527d.png)

An example of Loot items

The names of the items are simply output as SVG in an image - as seen in the example above.

Claiming Tokens
---------------

There is no user interface for Loot, and there is no price to mint. People claim Loot by calling a function directly on the contract - usually [through Etherscan](https://www.notion.so/b16263c61d017ee9f65c50e4ae0113d7).

Because the claim functionality does not have sybil resistance, it is easy to mint many tokens via a script. Anish Agnihotri wrote [a script](https://www.notion.so/099274992e263a420aab49a46d2bf5b7) to do this (and likely has used it to claim many loot tokens), which is something to be aware of when considering the ownership distribution of this project.

Random Trait Attribution
------------------------

Minting the NFT assigns the owner a token ID, and trait attribution happens deterministically whenever NFT's tokenURI method is called.

Trait randomization is random but deterministic. It uses a hashing function applied to the concatenation of the token's ID and the type of the item (e.g. "CHEST"), and converts this to an integer (`uint256` in Solidity). Each type of item has an array of options, and this integer is used to pluck a random item from those arrays.

Once an item is found, a new random integer is produced, bounded between 0 and 21, by taking the modulus of the random number and 21. If the new number is greater than 14 (about 42% chance), then the item gets a special suffix. If it is greater or equal to 19 (about a 8.7% chance), then it gets a prefix. This creates special scarcity properties for each of the items!

Closing Thoughts
----------------

Some of the top creators in our industry have started creating interoperable games using Loot as a foundation. This is likely the start of a phenomenon in the NFT space.

It would be preferable to prevent sybil attacks when claiming - by only allowing one person to claim one token - since the distribution of ownership is certain to be extremely weighted towards a few technical or ETH-wealthy individuals.

This project has created life-changing wealth for many people who simply took the time to submit a simple Ethereum transaction. This points to the massive opportunity for everyone in space right now.

---

*Originally published on [Graeme](https://paragraph.com/@graeme-2/loot)*
