> 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

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
