# iceCREAM Mechanism Phase 1

![](/files/-MgtTG2dDoQkQMjKmTtX)

## Components

### Lending Protocol

The lending protocol includes the comptroller, cToken markets, and cTokenAdmin. Every market will generate reserves. CTokenAdmin is a new contract that controls the cToken market. In addition to normal access control in cToken, it allows a specific reserve manager to extract reserves.

Source: <https://github.com/CreamFi/compound-protocol>

{% content-ref url="/pages/-MKKoTGL9RMFErxbppzr" %}
[Lending Contract Address](/lending/lending-contract-address.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MO9jL-Ld4PA89E75S34" %}
[Broken mention](broken://pages/-MO9jL-Ld4PA89E75S34)
{% endcontent-ref %}

### Reserve Manager

The reserve manager is the hub of reserves extraction. It snapshots all the cToken reserves and everyone could trigger the extraction (with a 1-day cooldown period). It should take a ratio (currently 50%) of reserves and send them to the burners.

Source: <https://github.com/CreamFi/reserve-manager>

Reserve Manager: [0x0C5Bf19618A8FCDdb132d82BC6c5ea736A1beAED](https://etherscan.io/address/0x0C5Bf19618A8FCDdb132d82BC6c5ea736A1beAED)

### Burners

Burners are a group of token converters. They will burn tokens into USDC, and USDC burner will convert USDC into yvCurve-IB token. There is a special component called manual burner. It's used for tokens whose onchain liquidity (Ethereum) is not deep enough. The manual burner is an EOA that will send the tokens to a centralized exchange or another network to convert manually. In the end, all tokens will be converted to yvCurve-IB token and send to the fee distributor.

![](/files/-MgtTM4BKq4JJcSi2ybp)

Source: <https://github.com/CreamFi/curve-dao-contracts>

### Fee Distributor & Voting Escrow

The fee distributor and the voting escrow are the final stops of iceCream phase 1. The fee distributor stores all the reserves in yvCurve-IB and it handles the fee distribution among all the iceCream stakers. The voting escrow (iceCream) is where users stake their CREAM tokens. Users could claim the rewards here.

Source: <https://github.com/CreamFi/curve-dao-contracts>

Fee Distributor: [0x0Ca0f068edad122f09a39f99E7E89E705d6f6Ace](https://etherscan.io/address/0x0Ca0f068edad122f09a39f99E7E89E705d6f6Ace)

Voting Escrow: [0x3986425b96F11972d31C78ff340908832C5c0043](https://etherscan.io/address/0x3986425b96F11972d31C78ff340908832C5c0043)


---

# 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://docs.cream.finance/icecream/icecream-mechanism-phase-1.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.
