Files
proxmox/docs/11-references/TOKENS_AND_NETWORKS_MINTABLE_TO_DEPLOYER.md
defiQUG e4c9dda0fd
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
chore: update submodule references and documentation
- Marked submodules ai-mcp-pmm-controller, explorer-monorepo, and smom-dbis-138 as dirty to reflect recent changes.
- Updated documentation to clarify operator script usage, including dotenv loading and task execution instructions.
- Enhanced the README and various index files to provide clearer navigation and task completion guidance.

Made-with: Cursor
2026-03-04 02:03:08 -08:00

12 KiB
Raw Blame History

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 Future pools / bridge
cXAUT 0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E 6 Future 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.

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.

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:

  1. Acquire LINK on the target chain (e.g. from Mainnet and bridge, or DEX on that chain).
  2. 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

  1. Chain 138 — Compliant tokens
    Mint cUSDT and cUSDC (and optionally cEURC, cEURT, etc.) to the deployer in the amounts needed for:

  2. Chain 138 — WETH
    Ensure deployer has enough native ETH, then wrap the portion needed for WETH-denominated use (e.g. future pools or bridge).

  3. 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.

  4. Cronos — D-WIN W
    If you operate MintController and reserve, mint USDW, EURW, etc. to the deployer for Cronos-side liquidity or testing.

  5. 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