MuchFi
CLOB Architecture

Contract Architecture

Contract hierarchy, responsibilities, and authorization model

Contract Architecture

The CLOB system is composed of multiple contracts with clearly defined responsibilities and interactions.

Contract Hierarchy


Contract Responsibilities

ContractLayerResponsibility
CLOBRouterEntryUser-facing API for orders, deposits, withdrawals
CLOBSwapRouterEntryOptimized swap execution across pools
PoolManagerManagementPool lifecycle, trading rules, OrderBook deployment
OrderBookCoreOrder matching and trade execution
BalanceManagerCoreFund custody, locking, fee collection
HooksRegistryExtensionCustom hook registration and execution
MarketMakingVaultExtensionAutomated market making strategies
VaultGaugeExtensionIncentive distribution for LPs

Beacon Proxy Pattern

OrderBook contracts are deployed as Beacon Proxies, allowing efficient upgrades across all trading pairs.

Benefits:

  • Single upgrade transaction affects all pools
  • Lower deployment cost per pool
  • Consistent behavior across all trading pairs

Authorization Model

The system implements a strict authorization hierarchy:

Caller Authorization

ContractAuthorized Callers
OrderBookCLOBRouter, PoolManager
BalanceManagerCLOBRouter, OrderBook
HooksRegistryOrderBook

Role-Based Access

RolePermissions
OwnerUpgrade contracts, configure fees, pause trading
OperatorCreate pools, modify trading rules
RouterPlace/cancel orders, manage balances
OrderBookLock/unlock funds, execute transfers

Upgradeability

The contracts use ERC-7201 namespaced storage for safe upgrades.

What Can Be Upgraded

  • OrderBook implementation (via beacon)
  • Router logic
  • BalanceManager logic
  • Hooks implementation

What Cannot Be Changed

  • Core authorization relationships
  • Fund custody guarantees

Contract Addresses

ContractAddress
CLOB RouterComing soon
CLOB Pool ManagerComing soon
CLOB Balance ManagerComing soon
CLOB QuoterComing soon
ContractAddress
CLOB Router0x6E613404350c32f3F864D4b852CcD573ECEb4679
CLOB Pool Manager0x997De90D186aFE1c0b6cFe97B42942D9F6537869
CLOB Balance Manager0x8d777945EF39A2191111ba16F362C29C75774a74
CLOB Quoter0x891684a15072Fc8A284ae19462a5B95259DF2727