# Minting c* and cW* on Chain 138 and Other Networks
**Purpose:** How to mint compliant tokens (c*) and compliant wrapped tokens (cW*) to the deployer on Chain 138 and on other networks where they are deployed.
| **c*** (cUSDT, cUSDC, cEURC, …) | Deployer is **owner** → can mint | Deploy first with `DeployCompliantFiatTokensForChain.s.sol` (owner = deployer), then mint same as 138 |
| **cW*** (cWUSDT, cWUSDC, …) | Not deployed on 138 (cW* are on destination chains only) | Deployer is **admin** and has **MINTER_ROLE** → can mint on any chain where cW* are deployed |
---
## 1. c* on Chain 138
All 12 c* are already deployed; deployer is owner. Mint with cast or scripts.
Use the same cast pattern with that chain's RPC and token addresses from .env (e.g. `CUSDT_POLYGON`, `CUSDC_POLYGON` for Polygon).
---
## 3. cW* on other networks
cW* are **CompliantWrappedToken**; the deploy script grants **MINTER_ROLE** to both the **bridge** and the **admin (deployer)**. So the deployer can mint cW* on any chain where cW* were deployed by this repo.
**Per token, per chain (cast):**
```bash
cd smom-dbis-138 && source .env
# Example: mint 1M cWUSDT on Polygon (137)
CWUSDT_ADDR="$CWUSDT_137" # from .env after DeployCWTokens
**Env vars for addresses (examples):** `CWUSDT_137`, `CWUSDC_137`, `CWUSDT_1`, `CWUSDC_1`, … (see [CW_TOKENS_AND_NETWORKS.md](CW_TOKENS_AND_NETWORKS.md) and `token-mapping-multichain.json`).
Use `smom-dbis-138/scripts/mint-cw-on-chain.sh <CHAIN_NAME> [amount]` to mint all cW* on a chain (e.g. `./scripts/mint-cw-on-chain.sh Polygon`). Requires `CWUSDT_<CHAIN>`, `CWUSDC_<CHAIN>`, etc. and chain RPC in .env.