# Key Mechanisms

## Cookies:

* Cookies are a unit of representation of the deposits and claimable rewards of each user.
* They are not tradable tokens or assets, they are simply representations stored in the `Cookie Contract`.
  * When a user deposits ETH, a corresponding amount of Cookies is generated.
  * As time goes by, a user generates Cookies based on their current statistics.
  * Statistics can be positively affected by purchasing Boosting Items, and returns are positively correlated with statistics.

## **Deposits & referral system:**

* `Dev Wallet` receives `6%` of ETH deposits made by users.
* When a user deposits ETH with a referral invitation, the `Referrer address` instantly receives `12%` of the user's deposit in the form of Cookies, added to the `Referrer Cookie Balance`. This can only happen once per referred user.

## **Compound:**

* The `compound()` function can be called whenever a player has pending ETH rewards, and allows for their compounding.
  * Every time a user calls any of the `boosting functions` (whenever a user purchases a boosting item), the `compound()` is called automatically beforehand.
  * Compounding resets the claim power to `40%`.

## Rewards

* The claim power for the first reward claim transaction is `100%`.
* After first claim is made, the claim power is set to`40%` (you can only claim 40% of your pending rewards).
* Every 24 hours, the claim power rises by `10%.`
* 5 days (144 hours) after the first claim, players can claim `100%` of the pending rewards associated to their deposit.

## Boosting Items:

### **Oven:**

* Users can purchase an oven using the `buyOven()` function and upgrade it up to 3 levels.
* The cost to purchase/upgrade is a fixed `2%` of the user's `Cookie Balance`.
* 24-hour delay before between upgrade.
* Increases the claim power at each level:

| Level                   | 1    | 2    | 3     |
| ----------------------- | ---- | ---- | ----- |
| Additional `claimPower` | +50% | +75% | +100% |

* In this example: buying a level 3 Oven gives a permanent claim power of `100%` to the player.

### **Baker:**

* Users can purchase a Baker using the `buyBaker()` function and upgrade it up to 5 levels.
* Becomes available 24 hours after launch.
* The cost to purchase/upgrade is a fixed `3%` of the user's `Cookie Balance`.
* 24-hour delay between each upgrade.
* Increases the `netAPY` at each level:

<table><thead><tr><th width="146">Level</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr></thead><tbody><tr><td>Additional <code>netAPY</code></td><td>+3% APY</td><td>+6% APY</td><td>+9% APY</td><td>+12% APY</td><td>+15% APY</td></tr></tbody></table>

### **Bakery:**

* Users can purchase a Bakery using the `buyBakery()` function and upgrade it up to 5 levels.
* Available directly at launch.
* No delay between each upgrade.
* Fixed purchase/upgrade cost of `1%` of the user's `Cookie Balance`.
* Increases the `netAPY` at each level:

<table><thead><tr><th width="142">Level</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr></thead><tbody><tr><td>Additional <code>netAPY</code></td><td>+1% APY</td><td>+2% APY</td><td>+3% APY</td><td>+4% APY</td><td>+5% APY</td></tr></tbody></table>

### **Cookie Farm:**

* Users can purchase a Cookie Farm by calling the `buyCookieFarm()` function up to 3 times.
* Each player (address) can have a maximum of 1 Cookie Farm.
* Available 3 days after launch.
* Fixed cost of `8%` of the user's `Cookie Balance`.
* **Provides a lifetime `8%` APY boost!**

## **Protocol Taxes:**

* A `5%` tax is taken on each deposit or claim made within the Cookie Clicker protocol.
