RIPTIDE (Rationalized Item Pricing & Trading Incentivization for Decentralized Economies) is a protocol for managing the distribution and inflation of digital assets.
It is particularly suited for the management of game assets, where value-accrual for early entrants needs to be balanced with the need to keep the game affordable for new players.
In brief, RIPTIDE proposes to create bundle of assets that are sold at a protocol-defined price. The price scales with the total asset supply.
Furthermore, to avoid rare items crushing the value of other items (as arbitrageurs create boosters when their expected card value exceeds their sticker price), rare items have increased drop probability, scaling sub-linearly with the price (to preserve card value).
In summary, RIPTIDE ensures that card can grow in value, while making sure that it remains possible for newcomers to acquire rare items. In a game, these might be needed for high-level competitive play.
The core of the project is a set of smart contracts, adaptable and configurable for every NFT project to manage the distribution of a set items with varying rarities. One can have as many items and rarity classes as one wants.
The distribution is done via "booster packs" or "loot boxes" which can contain a configurable number of items (the rarity distribution can also be tweaked). Once a target number of items have been put in circulation, the price of booster packs starts increasing quadratically with the total supply. This ensures that booster-driven inflation does not destroy the card value.
The probability for each item to drop is increased proportionally to the logarithm of the difference between the item price and the average item price in the same rarity class. This ensures that rare cards stay affordable without destroying their value.
Because the price of items might not always be available on-chain, we need oracles to give us the item prices. We wrote an adapter that allows us to use the UMA oracle to attest to the price of all items.
We also created a demo NFT project comprised of TCG (trading card game)-style cards and a frontend that demonstrates how RIPTIDE can be used in practice. The frontend, written with Vite, React and Wagmi, displays an interface for opening a booster pack containing cards of three different rarities, it also lists all card types along with the rarity, price and circulating supply.