For the complete documentation index, see llms.txt. This page is also available as Markdown.

Phoenix Deployments

Official Cork Phoenix deployment addresses on Ethereum Mainnet

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

Core Contracts

Contract
Address
Role

CorkPoolManager (Proxy)

Singleton managing all pool states, deposits, withdrawals, swaps

CorkPoolManager (Implementation)

UUPS upgradeable implementation

CorkAdapter

Periphery adapter providing slippage protection, deadline checks, and Morpho Bundler3 integration

SharesFactory

Deploys Cork Principal Token (cPT) and Cork Swap Token (cST) pairs for each pool

Governance & Access Control

Contract
Address
Role

DefaultCorkController

Pool authorization, fee configuration, pause, whitelist, and treasury management

WhitelistManager (Proxy)

Global and market-specific access control for pool operations

ConstraintRateAdapter (Proxy)

Chainlink oracle integration for constraint rate pricing

Timelock Contracts

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

Contract
Address
Delay

TimelockUpgrade

5 days (432,000s)

TimelockControllerAdmin

1 day (86,400s)

TimelockOperational

6 hours (21,600s)

External Dependencies

Contract
Address
Purpose

Morpho Bundler3

Atomic multi-operation execution; calls CorkAdapter for slippage-protected operations

Uniswap Permit2

Signature-based token approvals

Safe CREATE2 Deployer

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).

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.

vbUSDC / sUSDe

Parameter
Value

MarketId

Query CorkPoolManager.getId(collateralAsset, referenceAsset) on-chain

Collateral Asset (CA)

Reference Asset (REF)

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)).

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.

  • 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.

Source Code

The Cork Phoenix smart contracts are open source and available at github.com/Cork-Technology/phoenix.

For audit reports, see Audits.

Last updated