# Contract Addresses

All Tesseract DCV contracts are deployed on **Ethereum mainnet**. Each contract is verified on Etherscan — follow the links for source code and ABI downloads.

### 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  | [`0xe4D85722dB649d3890f9DBA4510F1A16AD942FD9`](https://etherscan.io/address/0xe4D85722dB649d3890f9DBA4510F1A16AD942FD9#code) | teUSDC       |
| WBTC  | [`0x55073cdF0b0E42C8B807A265EADff69973274a8d`](https://etherscan.io/address/0x55073cdF0b0E42C8B807A265EADff69973274a8d#code) | teWBTC       |
| WETH  | [`0x6701241e65d4baFC399Ca4358E95960aF3C041C4`](https://etherscan.io/address/0x6701241e65d4baFC399Ca4358E95960aF3C041C4#code) | teWETH       |

### 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).

**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) |


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
