Overview
@camino-treasury/sdk ships an addresses map keyed by chain ID. Use it instead of hand-maintaining addresses:
import { addresses } from "@camino-treasury/sdk";
import { mainnet } from "@wagmi/core/chains";
const { c0, swapFacility, swapAdapter, wrappedM } = addresses[mainnet.id];
The map is typed as Record<number, C0Addresses> where each entry is:
type C0Addresses = {
c0: Address; // C0 stablecoin (ERC-20)
swapFacility: Address; // Mint/redeem against M
swapAdapter: Address; // Uniswap V3 USDC/USDT ↔ C0 router
wrappedM: Address; // Wrapped M reference (advanced use)
};
Deployed addresses
Ethereum Mainnet (chainId: 1)
| Contract | Address |
|---|
| C0 | 0x00c000f9E58725ed0a712E457669cAD28B13EaEe |
| SwapFacility | 0xB6807116b3B1B321a390594e31ECD6e0076f6278 |
| SwapAdapter | 0x023bd2F0A95373C55FC8D1c5F8e60cC3B9Bc4f4b |
| WrappedM | 0x437cc33344a0B27A429f795ff6B469C72698B291 |
Sepolia Testnet (chainId: 11155111)
| Contract | Address |
|---|
| C0 | 0x84f5b2a1f394abbe42fe71a2e1730ef2d33ed224 |
| SwapFacility | 0xea73853f28a897906cea9425e3821b2d1aa3d1f5 |
| SwapAdapter | 0x023bd2F0A95373C55FC8D1c5F8e60cC3B9Bc4f4b |
| WrappedM | 0x437cc33344a0B27A429f795ff6B469C72698B291 |
Addresses on testnets can change as fixtures are redeployed. The addresses export in @camino-treasury/sdk is the source of truth — bump the SDK version to pick up changes.