> For the complete documentation index, see [llms.txt](https://docs.chamberfi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamberfi.com/build/deployment-matrix.md).

# Deployment matrix

Which chains Chamber is deployed on, and what differs between them

Chamber's contracts are deployed on seven public chains. The Guard System, SDK, and subgraph support is not uniform across all of them. Which protocols a vault can use, and which assets it can hold, depends on the chain.

## Supported chains

| Chain    | Chain ID | Notes                                                                                                                    |
| -------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
| Ethereum | 1        |                                                                                                                          |
| Optimism | 10       |                                                                                                                          |
| Polygon  | 137      |                                                                                                                          |
| Base     | 8453     |                                                                                                                          |
| Arbitrum | 42161    |                                                                                                                          |
| Plasma   | 9745     |                                                                                                                          |
| HyperEVM | 999      | Hyperliquid's EVM chain. Perps-native asset support via Hyperliquid guards (see [guard system](/build/guard-system.md)). |

For the canonical list of deployed contract addresses per chain, see [contract addresses](/build/contract-addresses.md).

## What differs between chains

Not every chain supports every protocol. Each deployment ships with its own set of:

* **Contract guards:** which protocols a vault can call (Aave, Uniswap, GMX, Velodrome, etc.). A protocol that doesn't exist on a chain obviously isn't supported; a protocol that does exist may still be absent if a guard hasn't been written or whitelisted for it.
* **Asset guards:** which asset types a vault can hold (plain ERC20, Aave aTokens, Uniswap V3 positions, GMX perps, etc.).
* **Asset allowlist:** the specific token addresses and price feeds that are approved for deposit/trade on that chain.

A vault deployed on Base cannot hold positions on Arbitrum. Chamber does not do cross-chain accounting inside a single vault.

See [chain capabilities matrix](/manage/chain-capabilities.md) for the manager-facing version of this (which protocols are available on which chain). For the full list of guards, see the [guard system](/build/guard-system.md) page.

## Checking support at runtime

Rather than hard-coding protocol support in your integration, query it onchain:

* `PoolFactory.getAssetGuard(assetAddress)`: returns the asset guard for a given token. Zero address means the asset is not supported.
* `PoolFactory.getContractGuard(contractAddress)`: returns the contract guard for a given protocol destination. Zero address means calls to that address will revert with `dh23` at the vault entrypoint.
* `PoolManagerLogic.isSupportedAsset(address)` and `isDepositAsset(address)`: check per-vault support and deposit eligibility.

These are the source of truth. Governance can add or swap guards at any block, so cached allowlists can go stale.

## SDK chain coverage

The [`@dhedge/v2-sdk`](/build/sdk.md) exposes a `Network` enum covering the supported EVM chains. Coverage moves with releases, so pin a version and check the enum on it.

## Subgraph chain coverage

The [subgraph](/build/subgraph.md) is deployed per chain. Each chain has its own GraphQL endpoint. The hosted chains are the same set of EVM chains listed above; check the subgraph repo for the current endpoint per network.

## See also

* [Contract addresses](/build/contract-addresses.md): canonical per-chain addresses
* [Guard system](/build/guard-system.md): how to enumerate supported protocols and assets
* [Chain capabilities matrix](/manage/chain-capabilities.md): manager-facing view of what's available where
