> For the complete documentation index, see [llms.txt](https://docs.tesseract.fi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tesseract.fi/dedicated-client-vaults/reference/contract-addresses.md).

# Contract Addresses

Tesseract DCV contracts are deployed on **Ethereum mainnet** (USDC, WBTC, WETH) and **Base** (cbETH). Each contract is verified on the block explorer — follow the links for source code and ABI downloads.

## Ethereum mainnet (chainId 1)

### Compliance contracts

| Contract     | Address                                                                                                                      | Purpose                                                                                                                   |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Whitelisting | [`0x25f1a2Ce5b681592E4196616f72aa27593EB5df8`](https://etherscan.io/address/0x25f1a2Ce5b681592E4196616f72aa27593EB5df8#code) | On-chain whitelist with per-address KYC expiration. A wallet must be whitelisted before it can deploy or operate a vault. |

### Vault deployers (one per supported asset)

Each deployer creates a new, dedicated vault configured for a specific underlying asset. Call `deployVault(...)` or `deployVaultWithPermit(...)` on the deployer for the asset you want to hold.

| Asset | Deployer Address                                                                                                             | Share Symbol |
| ----- | ---------------------------------------------------------------------------------------------------------------------------- | ------------ |
| USDC  | [`0x60Eb607f070160A1Ffa554b45ec65972B1120ab4`](https://etherscan.io/address/0x60Eb607f070160A1Ffa554b45ec65972B1120ab4#code) | teUSDC       |
| WBTC  | [`0x127d92C4E923Dcc02C4d5769c30364edce5E1285`](https://etherscan.io/address/0x127d92C4E923Dcc02C4d5769c30364edce5E1285#code) | teWBTC       |
| WETH  | [`0xAaA4dFAaDd2348d61944b84BaB5ebc4B1E5cD5B4`](https://etherscan.io/address/0xAaA4dFAaDd2348d61944b84BaB5ebc4B1E5cD5B4#code) | teWETH       |

These are the post-audit ([CertiK](/dedicated-client-vaults/reference/audit-reports.md)) deployers. The original deployers (`0xe4D85722…`, `0x55073cdF…`, `0x6701241e…`) are retired — vaults they created keep working unchanged, but no new vaults are created through them.

### Vault instances

Every client gets their own vault contract, created when they call a deployer. The address of the new vault is returned by `deployVault(...)` and emitted in the `VaultDeployed` event.

Each vault contract is a standard ERC‑4626 share vault — once you have the address, you can interact with it using any ERC‑4626 tooling or the [methods listed in the reference](/dedicated-client-vaults/reference/contract-methods.md). Note that share tokens use **two more decimals than the underlying** (teUSDC 8, teWBTC 10, teWETH 20) — see [Vault Shares](/dedicated-client-vaults/vault-shares.md).

**Reference deployed vault** (for ABI inspection and tooling setup):

[`0xe1c3a197d16eF96a7c8E7c5F6B83B5E032cD76a9`](https://etherscan.io/address/0xe1c3a197d16ef96a7c8e7c5f6b83b5e032cd76a9#code) — also viewable in the app at [app.tesseract.fi/vault/0xe1c3a197d16ef96a7c8e7c5f6b83b5e032cd76a9](https://app.tesseract.fi/vault/0xe1c3a197d16ef96a7c8e7c5f6b83b5e032cd76a9).

Use this as a template for wallet-connector configuration, wagmi/viem code generation, or ERC‑4626 interface probing. Functional behavior is identical across all deployed vaults.

### Supported assets

Underlying ERC‑20 tokens that Tesseract vaults wrap. Minimum deposits are configured per-deployer and may change — always read the current value from the deployer's `minInitialDeposit()` view before deploying.

| Asset | Token Address                                                                                                         |
| ----- | --------------------------------------------------------------------------------------------------------------------- |
| USDC  | [`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`](https://etherscan.io/token/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) |
| WBTC  | [`0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599`](https://etherscan.io/token/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599) |
| WETH  | [`0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) |

## Base (chainId 8453)

The same contracts, ABIs and flows as on mainnet. Whitelisting is a separate contract per chain; Tesseract whitelists your wallet on every chain you onboard for.

| Contract               | Address                                                                                                                      | Notes                                |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| Whitelisting           | [`0xD8272626fF880037C5F5FD6E3885106d68640563`](https://basescan.org/address/0xD8272626fF880037C5F5FD6E3885106d68640563#code) |                                      |
| Vault Deployer — cbETH | [`0xAfF2e32D8760Dc2b3F9d598E529731D80154c024`](https://basescan.org/address/0xAfF2e32D8760Dc2b3F9d598E529731D80154c024#code) | Share symbol `tecbETH` (20 decimals) |
| cbETH (underlying)     | [`0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22`](https://basescan.org/token/0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22)        |                                      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tesseract.fi/dedicated-client-vaults/reference/contract-addresses.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
