# Overview

$PACK Protocol is an open market for packs filled with exclusive rewards. Simply put, this means:

* Anyone can create and sell packs filled with rewards.
* Anyone can buy, and claim or resell packs and rewards.

The concept of $PACK Protocol is simple - it can be seen in old school products unrelated to blockchains, like [Pokemon card packs](https://www.pokemoncenter.com/category/booster-packs), or newer products using blockchain technology, like [NBA Topshot](https://nbatopshot.com/).&#x20;

![](/files/-Mh_QejZxkwo9EYzS-7j)

There is a set of packs filled with rewards of varying rarity. A pack can be opened to retrieve the rewards in that pack. What determines how rare a particular reward is, boils down to how many of those rewards exist in total.

$PACK Protocol lets anyone create and sell their own set of packs filled with rewards of varying rarity. In the following sections, we'll discuss what [packs and rewards](/pack-protocol/how-pack-protocol-works/packs-and-rewards.md) are, [how rewards are distributed](/pack-protocol/how-pack-protocol-works/reward-distribution.md) on opening a pack, and [what you can do with your packs and rewards](/pack-protocol/how-pack-protocol-works/market.md).

First, we'll discuss a simple example that explains how $PACK Protocol works.

## Simple example

Let's create a set of packs with three kinds of rewards - 80 **circles**, 15 **squares**, and 5 **stars**. The number of packs created is equal to the sum of the supplies of each reward. So, we now have `80 + 15 + 5` i.e. 100 packs at hand.

![](/files/-Mh_Wf5q_q5Qb7U5CfOX)

On opening one of these 100 packs, the opener will receive one of the pack's rewards - either a **circle**, a **square**, or a **star**. The chances of receiving a particular reward is determined by how many of that reward exists across our set of packs. The chances of receiving a particular reward are calculated as:

`(number of rewards packed ) / total number of packs`

In the beginning, 80 **circles**, 15 **squares**, and 5 **stars** exist across our set of 100 packs. That means the chances of receiving a **circle** upon opening a pack is `80/100` i.e. 80%. Similarly, a pack opener stands a 15% chance of receiving a **square**, and a 5% chance of receiving a **star** upon opening a pack.

The chances of receiving each kind of reward change as packs are opened. Let's say one of our 100 packs is opened, yielding a **circle**. We then have 99 packs remaining, with *79* **circles**, 15 **squares**, and 5 **stars** packed.

For the next pack that is opened, the opener will have a `79/99` i.e. around 79.8% chance of receiving a **circle**, around 15.2% chance of receiving a **square**, and around 5.1% chance of receiving a **star**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nkrishang.gitbook.io/pack-protocol/how-pack-protocol-works/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
