Made-with: Cursor
12 KiB
Tokens and Networks — Mintable to Deployer (Liquidity Pools & Bridges)
Last Updated: 2026-03-02
Purpose: Single list of all tokens and networks where tokens can be minted (or otherwise credited) to the deployer address for funding PMM liquidity pools and bridges. Use this to fund all operator/LAN-only items (add liquidity, CCIP bridges, etc.).
Deployer address: 0x4A666F96fC8764181194447A7dFdb7d471b301C8
Full mint runbook (c and cW on 138 + other networks):** MINT_C_AND_CW_ON_ALL_NETWORKS.md
Summary
| Network | Chain ID | Tokens mintable to deployer | Mechanism |
|---|---|---|---|
| DeFi Oracle Meta Mainnet | 138 | cUSDT, cUSDC, cEURC, cEURT, cGBPC, cGBPT, cAUDC, cJPYC, cCHFC, cCADC, cXAUC, cXAUT | Owner mint (CompliantFiatToken / CompliantUSDT / CompliantUSDC) |
| Cronos | 25 | USDW, EURW, GBPW, AUDW, JPYW, CHFW, CADW (D-WIN W) | MintController (MINTER_ROLE + reserve); conditional |
| All other chains | 1, 56, 100, 137, 10, 42161, 8453, 43114, 42220, 1111, 651940 | — | Acquire via wrap, bridge, or DEX (see § Acquire) |
1. Chain 138 — Owner mint (all compliant tokens)
On Chain 138, the deployer is owner of all compliant token contracts deployed by this repo. Each has mint(address to, uint256 amount) public onlyOwner. Mint to deployer by calling mint(deployerAddress, amount) from the deployer EOA.
1.1 Token addresses and decimals (Chain 138)
| Symbol | Contract address | Decimals | Use for |
|---|---|---|---|
| cUSDT | 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 |
6 | PMM pools cUSDT/cUSDC, cUSDT/USDT |
| cUSDC | 0xf22258f57794CC8E06237084b353Ab30fFfa640b |
6 | PMM pools cUSDT/cUSDC, cUSDC/USDC |
| cEURC | 0x8085961F9cF02b4d800A3c6d386D31da4B34266a |
6 | Future pools / bridge |
| cEURT | 0xdf4b71c61E5912712C1Bdd451416B9aC26949d72 |
6 | Future pools / bridge |
| cGBPC | 0x003960f16D9d34F2e98d62723B6721Fb92074aD2 |
6 | Future pools / bridge |
| cGBPT | 0x350f54e4D23795f86A9c03988c7135357CCaD97c |
6 | Future pools / bridge |
| cAUDC | 0xD51482e567c03899eecE3CAe8a058161FD56069D |
6 | Future pools / bridge |
| cJPYC | 0xEe269e1226a334182aace90056EE4ee5Cc8A6770 |
6 | Future pools / bridge |
| cCHFC | 0x873990849DDa5117d7C644f0aF24370797C03885 |
6 | Future pools / bridge |
| cCADC | 0x54dBd40cF05e15906A2C21f600937e96787f5679 |
6 | Future pools / bridge |
| cXAUC | 0x290E52a8819A4fbD0714E517225429aA2B70EC6b |
6 | 1 token = 1 troy oz Au (not USD face); pools / bridge |
| cXAUT | 0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E |
6 | 1 token = 1 troy oz Au (not USD face); pools / bridge |
Decimals: All use 6 decimals. Amount in base units = amount × 10^6 (e.g. 1_000_000 = 1 token).
1.2 How to mint on Chain 138
Option A — Mint for PMM liquidity (recommended for add-liquidity):
cd smom-dbis-138
source .env
# Mint 1M cUSDT and 1M cUSDC to deployer (default)
./scripts/mint-for-liquidity.sh
# Custom amounts (human units)
MINT_CUSDT_AMOUNT=2000000 MINT_CUSDC_AMOUNT=2000000 ./scripts/mint-for-liquidity.sh
# Mint then add liquidity in one go
./scripts/mint-for-liquidity.sh --add-liquidity
See ADD_LIQUIDITY_PMM_CHAIN138_RUNBOOK §0.
Option A2 — cUSDT / cUSDC (top-up to 750M supply):
cd smom-dbis-138
source .env
./scripts/mint-to-750m.sh both 0x4A666F96fC8764181194447A7dFdb7d471b301C8
# Or per token: ./scripts/mint-to-750m.sh usdt <recipient> ./scripts/mint-to-750m.sh usdc <recipient>
Option B — Any compliant token via cast (owner = deployer):
# From smom-dbis-138, with PRIVATE_KEY and RPC_URL_138 set
DEPLOYER=0x4A666F96fC8764181194447A7dFdb7d471b301C8
# Example: mint 1,000,000 cEURC (1e6 * 1e6 = 1000000000000 base units)
cast send 0x8085961F9cF02b4d800A3c6d386D31da4B34266a \
"mint(address,uint256)" "$DEPLOYER" 1000000000000 \
--rpc-url "$RPC_URL_138" --private-key "$PRIVATE_KEY"
Repeat for each token and desired amount. Replace the token address with the one from the table above.
1.3 WETH and LINK on Chain 138
| Token | Address | Mintable? | How to get balance for deployer |
|---|---|---|---|
| WETH | 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 |
No (standard wrap) | Wrap native ETH: send ETH to WETH contract and call deposit() (or use a wrapper script). |
| LINK | 0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03 |
Depends (mock vs canonical) | If Chain 138 LINK is a mock with mint, call mint(deployer, amount). Otherwise acquire via bridge or CCIP. |
2. Cronos (Chain 25) — D-WIN W tokens (MintController)
D-WIN W tokens (USDW, EURW, GBPW, AUDW, JPYW, CHFW, CADW) on Cronos are ISO4217WToken contracts. Minting is done via MintController, which requires:
- Caller has MINTER_ROLE on the MintController.
- Token is approved in the controller (
isApprovedToken[token]). - Reserve oracle and compliance guard allow the mint (reserve ≥ new supply).
If the deployer (or an EOA you control) is the admin of the MintController and has MINTER_ROLE, you can mint to the deployer by calling:
MintController.mint(token, deployerAddress, amount, settlementId)
Token addresses on Cronos (from TOKEN_CATEGORIES_CANONICAL / DEPLOYED_COINS_TOKENS_AND_NETWORKS):
| Symbol | Address (Cronos) | Decimals |
|---|---|---|
| USDW | 0x948690147D2e50ffe50C5d38C14125aD6a9FA036 |
2 |
| EURW | 0x58a8D8F78F1B65c06dAd7542eC46b299629A60dd |
2 |
| GBPW | 0xFb4B6Cc81211F7d886950158294A44C312abCA29 |
2 |
| AUDW | 0xf9f5D0ACD71C76F9476F10B3F3d3E201F0883C68 |
2 |
| JPYW | 0xeE17bB0322383fecCA2784fbE2d4CD7d02b1905B |
2 |
| CHFW | 0xc9750828124D4c10e7a6f4B655cA8487bD3842EB |
2 |
| CADW | 0x328Cd365Bb35524297E68ED28c6fF2C9557d1363 |
2 |
Note: You must have the MintController address for Cronos, have MINTER_ROLE, and have updated the reserve oracle so that canMint(token, amount) returns true. If the D-WIN system on Cronos is operated by another party, request a mint to the deployer from them.
3. Tokens that must be acquired (not minted to deployer)
These are needed for liquidity pools and bridges but cannot be minted by the deployer; they must be obtained by wrap, bridge, or DEX.
3.1 By network
| Network | Chain ID | Tokens needed for pools/bridges | How to get |
|---|---|---|---|
| Ethereum Mainnet | 1 | USDT, USDC, WETH, LINK | DEX, CEX, or bridge from 138; WETH = wrap ETH. |
| ALL Mainnet (Alltra) | 651940 | AUSDT, USDC, WETH, WALL | Ecosystem tokens; acquire via Alltra DEX/bridge or partner. |
| Cronos | 25 | Native CRO (gas), LINK (if funding CCIP) | CRO from exchange; LINK from bridge/DEX. |
| BSC | 56 | BNB (gas), USDT, USDC, WETH, LINK | DEX/CEX; wrap BNB for WBNB if needed. |
| Gnosis | 100 | xDAI (gas), LINK | Bridge or DEX. |
| Polygon | 137 | MATIC (gas), USDT, USDC, WETH, LINK | DEX/bridge. |
| Optimism | 10 | ETH (gas), USDT, USDC, WETH, LINK | Bridge/DEX. |
| Arbitrum | 42161 | ETH (gas), USDT, USDC, WETH, LINK | Bridge/DEX. |
| Base | 8453 | ETH (gas), USDT, USDC, WETH, LINK | Bridge/DEX. |
| Avalanche | 43114 | AVAX (gas), USDT, USDC, WETH, LINK | Bridge/DEX. |
| Celo | 42220 | CELO (gas), LINK | Bridge/DEX. |
| Wemix | 1111 | WEMIX (gas), LINK | Bridge/DEX. |
3.2 CCIP bridge funding (LINK)
For CCIP bridges (138 ↔ Mainnet, 138 ↔ Gnosis/Cronos/Celo/Wemix, etc.), the bridge contract on each chain must hold LINK to pay fees. The deployer does not mint LINK on public chains; you:
- Acquire LINK on the target chain (e.g. from Mainnet and bridge, or DEX on that chain).
- Transfer LINK from the deployer to the bridge contract address (e.g.
cast send ... transfer(bridgeAddress, amount)).
Recommended: ~10 LINK per bridge for initial operations. See CONFIG_READY_CHAINS_COMPLETION_RUNBOOK § Fund bridges with LINK.
3.3 Official USDT / USDC on Chain 138 (PMM pools)
PMM pools cUSDT/USDT and cUSDC/USDC use an “official” USDT/USDC pair on Chain 138. If that pair is a separate contract (e.g. bridged or canonical), the deployer cannot mint it; acquire from a bridge or use the compliant side only. If the “official” address is set to cUSDT/cUSDC for testing, then mint cUSDT/cUSDC as in §1.
4. Suggested mint order for liquidity and bridges
-
Chain 138 — Compliant tokens
Mint cUSDT and cUSDC (and optionally cEURC, cEURT, etc.) to the deployer in the amounts needed for:- ADD_LIQUIDITY_PMM_CHAIN138_RUNBOOK: base/quote for the three PMM pools (cUSDT/cUSDC, cUSDT/USDT, cUSDC/USDC).
- Use check-deployer-balance-chain138-and-funding-plan.sh to see current balances; mint additional so that half of (current + minted) can be allocated to liquidity per DEPLOYER_WALLET_FUNDING_PLAN_PMM_POOLS.
-
Chain 138 — WETH
Ensure deployer has enough native ETH, then wrap the portion needed for WETH-denominated use (e.g. future pools or bridge). -
Chain 138 — LINK
If LINK on 138 is mintable (mock), mint to deployer for local testing. For production, acquire LINK and send to the deployer or directly to bridge contracts as needed. -
Cronos — D-WIN W
If you operate MintController and reserve, mint USDW, EURW, etc. to the deployer for Cronos-side liquidity or testing. -
Other chains
Acquire native gas and LINK (and any USDT/USDC) per §3; then run add-liquidity and fund-ccip-bridges scripts from the operator/LAN runbooks.
5. Quick reference — mint commands (Chain 138)
# Load env (from smom-dbis-138 or repo root with RPC_URL_138 and PRIVATE_KEY)
source smom-dbis-138/.env
DEPLOYER=0x4A666F96fC8764181194447A7dFdb7d471b301C8
# cUSDT – 1M tokens (6 decimals)
cast send 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 "mint(address,uint256)" $DEPLOYER 1000000000000 --rpc-url "$RPC_URL_138" --private-key "$PRIVATE_KEY"
# cUSDC – 1M tokens
cast send 0xf22258f57794CC8E06237084b353Ab30fFfa640b "mint(address,uint256)" $DEPLOYER 1000000000000 --rpc-url "$RPC_URL_138" --private-key "$PRIVATE_KEY"
# cEURC – 1M tokens
cast send 0x8085961F9cF02b4d800A3c6d386D31da4B34266a "mint(address,uint256)" $DEPLOYER 1000000000000 --rpc-url "$RPC_URL_138" --private-key "$PRIVATE_KEY"
# (Repeat for cEURT, cGBPC, cGBPT, cAUDC, cJPYC, cCHFC, cCADC, cXAUC, cXAUT with their addresses from §1.1)
6. Tokens the deployer deployed on other chains
For a list of token contracts the deployer wallet deployed on blockchains other than 138 (Cronos D-WIN W, WETH9/WETH10 on L2s), see TOKENS_DEPLOYER_DEPLOYED_ON_OTHER_CHAINS.
7. References
| Document | Purpose |
|---|---|
| TOKENS_DEPLOYER_DEPLOYED_ON_OTHER_CHAINS | Tokens deployer deployed on other blockchains (Cronos, L2s) |
| TOKEN_CATEGORIES_CANONICAL | Token categories and symbols |
| CHAIN138_TOKEN_ADDRESSES | Chain 138 token addresses |
| DEPLOYED_COINS_TOKENS_AND_NETWORKS | Tokens by chain |
| DEPLOYER_WALLET_FUNDING_PLAN_PMM_POOLS | Funding plan (50% for PMM) |
| ADD_LIQUIDITY_PMM_CHAIN138_RUNBOOK | Add liquidity to PMM pools |
| CONFIG_READY_CHAINS_COMPLETION_RUNBOOK | CCIP bridges and LINK funding |