Contract addresses

Canonical Chamber contract addresses per chain

The canonical source of truth for deployed contract addresses is the publish/{chain}/prod/versions.jsonarrow-up-right file in the contracts repo. This page summarizes the contracts you are most likely to need and points you at that source.

Don't hard-code addresses from stale docs. Governance can swap implementations via proxy upgrades, and new chains are added periodically. Read the deployment data at build time or at runtime.

Core contracts per chain

Most Chamber deployments share this core set; a few contracts ship only where the feature is enabled. Contract names are stable across chains; only the addresses differ.

Contract
Role

PoolFactory

Creates new vaults; owns the Guard System registry; exposes getAssetGuard() and getContractGuard() view functions

PoolLogic

Implementation contract for every vault. Handles deposit, withdraw*, execTransaction

PoolManagerLogic

Implementation contract for every vault's manager/permissions surface. Handles changeAssets, fee settings, privacy toggle

AssetHandler

Central pricing registry. Resolves USD value for every supported asset

EasySwapperV2

Convenience contract for simplified deposit/swap routing

Governance

Admin contract that registers new contract and asset guards

Where to get addresses

Source of truth: the publish/arrow-up-right directory in the contracts repo.

  • publish/ethereum/prod/versions.json

  • publish/ovm/prod/versions.json (Optimism)

  • publish/polygon/prod/versions.json

  • publish/base/prod/versions.json

  • publish/arbitrum/prod/versions.json

  • publish/hyperevm/prod/versions.json

  • publish/plasma/prod/versions.json

Each file is a JSON object containing the full set of contract addresses, asset configurations, and guard registrations for that chain. If you're using the SDK, these are wired in for you — you shouldn't need to read them directly unless you're doing raw contract calls.

Vault addresses

Every vault is a PoolLogic proxy deployed by the PoolFactory. Vault addresses are not listed here — they are created over time by managers. Discover vaults via:

  • Subgraph — the most ergonomic way to list vaults, filter by chain, manager, or denomination asset.

  • App UI — vault discovery via search and leaderboard.

  • Factory events — the PoolFactory.FundCreated event logs every new vault.

Guard addresses

Contract guards and asset guards are not hard-coded in the SDK or docs. Resolve them at runtime:

Or from TypeScript via the SDK, which wraps these calls.

Upgrades and proxies

PoolLogic and PoolManagerLogic are implementation contracts behind per-vault proxies. Implementation upgrades apply to every vault immediately. Upgrades are onlyOwner on the factory, which is controlled by Chamber governance. See Governance for the current custody arrangement.

See also

  • Deployment matrix — which chains ship with which features

  • Guard system — how to enumerate supported protocols and assets

  • SDK — the typed wrapper over these contracts

Last updated