> For the complete documentation index, see [llms.txt](https://long-banana.gitbook.io/raindrops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://long-banana.gitbook.io/raindrops/readme.md).

# Introduction (deprecated)

The Solana ecosystem has a fragmented and very customized way of storing in-game assets on chain, with as many different formats as there are play-2-earn games. However, the methods of storing ordinary NFT data *are* standardized in the [Metaplex Protocol](https://docs.metaplex.com). The aim of Raindrops Protocol is to do the same thing for game assets.

The Raindrops Protocol is a series of five a la carte contracts that govern on-chain or proof-on-chain data specifically for games, allowing any player or item to be interchangeable with any game client that can process them.

Following the [composability](https://en.wikipedia.org/wiki/Composability) doctrine, the Raindrops Protocol lives literally on top of the Metaplex Protocol, further decorating existing NFTs with new metadata about whether they are a [Player](https://github.com/long-banana/raindrops-docs/blob/main/broken-reference/README.md), an [Item](https://github.com/long-banana/raindrops-docs/blob/main/broken-reference/README.md), or both! All contracts within the Protocol are designed to be composed with other Solana contracts enforcing game-specific rules.

Each contract was built to work together to form a complete protocol that satisfies the needs of blockchain-based games, when using raindrops you retain the choice to include just the parts you need to build your game.

The protocol source is available on GitHub:

{% embed url="<https://github.com/raindrops-protocol/raindrops>" %}

{% hint style="warning" %}
The Raindrops Protocol is in an alpha state and presently only two contracts are eligible for use on Mainnet-Beta (Item and Matches Contract). While we will try to maintain the integrity of PDAs created as contract development iterates, there is no guarantee that this will be possible.
{% endhint %}

## Explainer

Learn about what's possible with the raindrops protocol. Two levels of explanation is available:

{% content-ref url="/pages/IWLYDBVvZNny2GgnsYJC" %}
[Basic](/raindrops/description/basic.md)
{% endcontent-ref %}

{% content-ref url="/pages/g5dCq9PxcTyL4Qv1CrVS" %}
[Advanced](/raindrops/description/advanced.md)
{% endcontent-ref %}

## Quick Start

Jump in to the quick start docs and start making your first game's objects with raindrops:

{% content-ref url="/pages/xEWHV2VCDhehcb0Iz2bk" %}
[Quick Start](/raindrops/quick-start.md)
{% endcontent-ref %}

## Concepts

There are several powerful concepts used across the raindrops protocol. They are outlined under this section

{% content-ref url="/pages/hewWrNerX5NB1utg6cjW" %}
[Concepts](/raindrops/concepts.md)
{% endcontent-ref %}

## Guides

Guides are easy-to-follow steps/recipes for how to integrate various common needs you'll have building out a blockchain-backed game

{% content-ref url="/pages/JEfu52l6wtZDK7C0Irbf" %}
[Overview](/raindrops/guides/overview.md)
{% endcontent-ref %}

## Contracts

Explore any contract to get a deep understanding of what it can do

{% content-ref url="/pages/s7nwdgOe2CYZb8LHiIxT" %}
[Item](/raindrops/contracts/item.md)
{% endcontent-ref %}

{% content-ref url="/pages/AZ3PTpS2U5dH3Op0ysri" %}
[Player](/raindrops/contracts/player.md)
{% endcontent-ref %}

{% content-ref url="/pages/FrinVHlAiX8MzhOQOPfp" %}
[Match](/raindrops/contracts/match.md)
{% endcontent-ref %}

{% content-ref url="/pages/7KMcg0K5nwOP60hx406m" %}
[Namespace](/raindrops/contracts/namespace.md)
{% endcontent-ref %}

{% content-ref url="/pages/NkU24q5cqSLJf1jhfmVW" %}
[Staking](/raindrops/contracts/staking.md)
{% endcontent-ref %}
