> For the complete documentation index, see [llms.txt](https://docs.cork.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cork.tech/smart-contracts/phoenix-deployments.md).

# Phoenix Deployments

Cork Phoenix uses the Safe CREATE2 Deployer (`0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7`) for deterministic contract addresses across all supported chains.

{% hint style="warning" %}
Always verify contract addresses against this page or the [phoenix repo](https://github.com/Cork-Technology/phoenix) before interacting. Cork will never ask you to send funds to an address not listed here.
{% endhint %}

### Core Contracts

| Contract                         | Address                                                                                                                 | Role                                                                                              |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| CorkPoolManager (Proxy)          | [`0xccCCcCcCCccCfAE2Ee43F0E727A8c2969d74B9eC`](https://etherscan.io/address/0xccCCcCcCCccCfAE2Ee43F0E727A8c2969d74B9eC) | Singleton managing all pool states, deposits, withdrawals, swaps                                  |
| CorkPoolManager (Implementation) | [`0x1cCccCccCcCf9A60Fe57cd7CEf504d1DaaA78244`](https://etherscan.io/address/0x1cCccCccCcCf9A60Fe57cd7CEf504d1DaaA78244) | UUPS upgradeable implementation                                                                   |
| CorkAdapter                      | [`0xCCcCcCCCcccCBaD6F772a511B337d9CCc9570407`](https://etherscan.io/address/0xCCcCcCCCcccCBaD6F772a511B337d9CCc9570407) | Periphery adapter providing slippage protection, deadline checks, and Morpho Bundler3 integration |
| SharesFactory                    | [`0xcCCCccCCCcCc1782617fe14A386AC910a20D4324`](https://etherscan.io/address/0xcCCCccCCCcCc1782617fe14A386AC910a20D4324) | Deploys Cork Principal Token (cPT) and Cork Swap Token (cST) pairs for each pool                  |

### Governance & Access Control

| Contract                      | Address                                                                                                                 | Role                                                                             |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| DefaultCorkController         | [`0xcCcCcCccCccbC06627F8aad7aAF13fe3a457f779`](https://etherscan.io/address/0xcCcCcCccCccbC06627F8aad7aAF13fe3a457f779) | Pool authorization, fee configuration, pause, whitelist, and treasury management |
| WhitelistManager (Proxy)      | [`0xcCccCcCccCC6e38a2772Eb42D2f408eeB89cb0eE`](https://etherscan.io/address/0xcCccCcCccCC6e38a2772Eb42D2f408eeB89cb0eE) | Global and market-specific access control for pool operations                    |
| ConstraintRateAdapter (Proxy) | [`0xCCcCcCcccCccEF378949D1a61ED2283C831AF03A`](https://etherscan.io/address/0xCCcCcCcccCccEF378949D1a61ED2283C831AF03A) | Chainlink oracle integration for constraint rate pricing                         |

### Timelock Contracts

All governance actions are subject to timelocks with the following delays:

| Contract                | Address                                                                                                                 | Delay             |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------- |
| TimelockUpgrade         | [`0x7CcCCCccCcc0b4c00d01f321035b8e4523eF8448`](https://etherscan.io/address/0x7CcCCCccCcc0b4c00d01f321035b8e4523eF8448) | 5 days (432,000s) |
| TimelockControllerAdmin | [`0x7CccCCccccCCe566CdAFFA9EF2CB245Ad5575c3b`](https://etherscan.io/address/0x7CccCCccccCCe566CdAFFA9EF2CB245Ad5575c3b) | 1 day (86,400s)   |
| TimelockOperational     | [`0x7CcCcCCcCccCC1d856F2994A66fAa7011F1A89D9`](https://etherscan.io/address/0x7CcCcCCcCccCC1d856F2994A66fAa7011F1A89D9) | 6 hours (21,600s) |

### External Dependencies

| Contract              | Address                                                                                                                 | Purpose                                                                               |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Morpho Bundler3       | [`0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245`](https://etherscan.io/address/0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245) | Atomic multi-operation execution; calls CorkAdapter for slippage-protected operations |
| Uniswap Permit2       | [`0x000000000022D473030F116dDEE9F6B43aC78BA3`](https://etherscan.io/address/0x000000000022D473030F116dDEE9F6B43aC78BA3) | Signature-based token approvals                                                       |
| Safe CREATE2 Deployer | [`0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7`](https://etherscan.io/address/0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7) | Deterministic deployment across chains                                                |

## Active Markets

Each Cork Pool is identified by a `MarketId` and defines a pair of a Collateral Asset (CA) and a Reference Asset (REF). When a pool is active, users can Deposit CA to receive Cork Principal Token (cPT) and Cork Swap Token (cST).

{% hint style="info" %}
Market-specific cPT and cST token addresses are deployed per-pool by the SharesFactory. Query the CorkPoolManager's `shares(MarketId)` function to retrieve the cPT and cST addresses for a specific market.
{% endhint %}

### vbUSDC / sUSDe

| Parameter             | Value                                                                                                                            |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| MarketId              | *Query `CorkPoolManager.getId(collateralAsset, referenceAsset)` on-chain*                                                        |
| Collateral Asset (CA) | vbUSDC ([`0x53E82ABbb12638F09d9e624578ccB666217a765e`](https://etherscan.io/address/0x53E82ABbb12638F09d9e624578ccB666217a765e)) |
| Reference Asset (REF) | sUSDe ([`0x9D39A5DE30e57443BfF2A8307A4256c8797A3497`](https://etherscan.io/address/0x9D39A5DE30e57443BfF2A8307A4256c8797A3497))  |
| Morpho Oracle         | [`0x5D3159ba95dCdE02451a31fE68B08fB650b00458`](https://etherscan.io/address/0x5D3159ba95dCdE02451a31fE68B08fB650b00458)          |

{% hint style="info" %}
The MarketId is a `bytes32` hash derived from the Collateral Asset and Reference Asset addresses. Query it on-chain or compute it using `keccak256(abi.encode(collateralAsset, referenceAsset))`.
{% endhint %}

## Architecture Overview

Cork Phoenix uses a **singleton architecture** — all pool states are managed by a single CorkPoolManager contract. This differs from factory-per-pool patterns and provides gas efficiency and unified state management.

```
User --> Morpho Bundler3 --> CorkAdapter --> CorkPoolManager
                                                  |
                                            SharesFactory
                                             /        \
                                           cPT        cST
```

* **CorkPoolManager** is the core singleton. All operations (Deposit, Mint, Withdraw, Redeem, Swap, Exercise, and their Unwind/Other variants) are executed here.
* **CorkAdapter** provides slippage protection and deadline checks on CorkPoolManager operations. It is called by Morpho Bundler3, which provides atomic multi-operation execution.
* **DefaultCorkController** manages governance: pool creation, fee updates, pausing, treasury, and whitelist management.
* **WhitelistManager** enforces per-market access control on pool operations.

{% hint style="warning" %}
While you can interact with CorkPoolManager directly, it does not provide slippage or deadline protection. Use CorkAdapter for all production interactions.
{% endhint %}

## Source Code

The Cork Phoenix smart contracts are open source and available at [github.com/Cork-Technology/phoenix](https://github.com/Cork-Technology/phoenix).

For audit reports, see [Audits](/smart-contracts/audits.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.cork.tech/smart-contracts/phoenix-deployments.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
