# GRU Global Priority Cross-Chain Rollout **Purpose:** Translate the high-priority global currency set into a staged GRU v2 rollout plan for canonical `c*` on Chain 138 and mirrored `cW*` on destination chains. **Use with:** [GRU_V2_CHAIN138_READINESS.md](GRU_V2_CHAIN138_READINESS.md), [GRU_FX_CURRENCY_ONBOARDING_CHECKLIST.md](GRU_FX_CURRENCY_ONBOARDING_CHECKLIST.md), [GRU_STANDARDS_PROFILE.md](GRU_STANDARDS_PROFILE.md), [C_TO_CW_MAPPER_MAPPING.md](C_TO_CW_MAPPER_MAPPING.md), [`../../config/gru-iso4217-currency-manifest.json`](../../config/gru-iso4217-currency-manifest.json), [`../../config/gru-global-priority-currency-rollout.json`](../../config/gru-global-priority-currency-rollout.json), [`../../config/gru-transport-active.json`](../../config/gru-transport-active.json), and [`../../config/token-mapping-multichain.json`](../../config/token-mapping-multichain.json) --- ## Bottom line Yes, the repo architecture supports full cross-chain swapping and deploying canonical `c*` assets cross-chain as mirrored `cW*` for the ranked currency set. What we **cannot** honestly say yet is that all of those currencies are already live. Current real state: - `USD` is the only fully live GRU transport lane today. - `EUR`, `GBP`, `AUD`, `JPY`, `CHF`, `CAD`, and `XAU` already exist as canonical Chain 138 assets, but still need transport activation and cW deployment completion. - The rest of the ranked currencies are not yet in the canonical manifest, which means they are still rollout candidates, not live assets. This document is the bridge between your strategic currency list and the repo's actual deployment workflow. --- ## Desired deployment networks The default destination surface for this rollout is still the repo's **public EVM cW mesh**: - `1`, `10`, `25`, `56`, `100`, `137`, `42161`, `42220`, `43114`, `8453`, `1111` Separate but still relevant destination programs: - `651940` — **ALL Mainnet (Alltra)**, custom ALT bridge program - `42793` — **Etherlink**, scaffolded / feature-gated EVM target New explicit non-EVM desired target: - **Solana** — tracked as an SVM / non-EVM rollout target under `config/token-mapping-multichain.json -> nonEvmNetworks` Important boundary: - Solana is a **desired deployment network**, but it is **not** part of the EVM `cW*` pool mesh. - Solana requires an adapter / relay path plus an SPL or bridge-wrapped representation before a GRU `c* -> cW*` style transport lane can be called live. - Truth and Tron remain separate adapter programs, not default GRU rollout destinations. --- ## What “full cross-chain swapping” means here For a GRU currency to support full cross-chain swapping, all of the following have to be true: 1. A canonical `c*` asset exists on Chain 138. 2. The asset is registered into GRU / asset registry and, where relevant, promoted through the GRU v2 path. 3. A mirrored `cW*` asset exists on the destination chain. 4. `token-mapping-multichain.json` resolves the `c* -> cW*` pair. 5. `gru-transport-active.json` explicitly enables the transport pair. 6. Reserve verifier and `maxOutstanding` policy are wired for the hard-peg corridor. 7. Token-aggregation, explorer metadata, wallet metadata, and route exposure are attached. 8. Oracle and liquidity paths exist for the currency pair or treasury route that makes the asset economically usable. If any one of those layers is missing, the asset is only partially integrated. --- ## Naming assumptions This rollout file uses the repo's current naming conventions: - Default fiat rollout pattern: `cC -> cWC` - Existing dual-form exceptions remain: - `USD`: `cUSDC/cUSDT -> cWUSDC/cWUSDT` - `EUR`: `cEURC/cEURT -> cWEURC/cWEURT` - `GBP`: `cGBPC/cGBPT -> cWGBPC/cWGBPT` - `XAU`: `cXAUC/cXAUT -> cWXAUC/cWXAUT` For newly ranked currencies, the default assumption is **coin-form first** unless governance explicitly requests a paired token-form issuance. Examples: - `SGD -> cSGDC -> cWSGDC` - `CNY -> cCNYC -> cWCNYC` - `IDR -> cIDRC -> cWIDRC` - `XDR -> cXDRC -> cWXDRC` - `XAG -> cXAGC -> cWXAGC` --- ## Rollout waves ### Wave 0 Keep the current live baseline healthy: - `USD` This is the existing `cUSDC/cUSDT -> cWUSDC/cWUSDT` transport lane. ### Wave 1 Promote the already-deployed canonical Chain 138 set into transport-active corridors: - `EUR` - `GBP` - `AUD` - `JPY` - `CHF` - `CAD` - `XAU` These are the fastest path to broader GRU coverage because the Chain 138 leg already exists. ### Wave 2 Add the remaining top-priority reserve and regional anchor fiat currencies: - `CNY` - `HKD` - `SGD` - `SEK` - `KRW` - `NOK` - `NZD` - `INR` - `MXN` - `BRL` - `ZAR` - `TRY` - `AED` - `SAR` - `PLN` - `THB` - `IDR` This is the first large “new canonical deployment” wave. ### Wave 3 Extend into secondary emerging currencies and monetary-unit references: - `MYR` - `PHP` - `VND` - `EGP` - `CLP` - `COP` - `PKR` - `BDT` - `KES` - `NGN` - `XDR` - `XAG` --- ## Machine-readable rollout source The ranked rollout queue now lives in: - [`../../config/gru-global-priority-currency-rollout.json`](../../config/gru-global-priority-currency-rollout.json) The file captures: - tier - rank - rollout wave - desired destination networks - current repo target state - assumed `c*` and `cW*` symbols Important boundary: - `gru-global-priority-currency-rollout.json` is a **planning queue** - `gru-iso4217-currency-manifest.json` is the **live supported-currency source of truth** - `gru-transport-active.json` is the **live routing/transport gate** --- ## Verifier Use the rollout verifier to compare the ranked queue against current repo reality: ```bash bash scripts/verify/check-gru-global-priority-rollout.sh ``` Optional: ```bash bash scripts/verify/check-gru-global-priority-rollout.sh --wave=wave1 bash scripts/verify/check-gru-global-priority-rollout.sh --json ``` The verifier reports, per currency: - manifest present or not - canonical Chain 138 deployment present or not - `c* -> cW*` symbol mapping present or not - transport active or not - x402-ready or not - derived repo state - next recommended step For the public-network rollout surface that the explorer now publishes, use: ```bash bash scripts/verify/check-gru-v2-public-protocols.sh ``` Explorer static JSON: - `https://explorer.d-bis.org/config/GRU_V2_PUBLIC_DEPLOYMENT_STATUS.json` That status surface is intentionally stricter than the token mesh inventory: - it treats the public EVM `cW*` token mesh as complete on the currently loaded 10-chain set, with only `Wemix` still outside the loaded mesh - it still keeps Wave 1 non-USD assets as `canonical_only` until transport is actually enabled - it marks `Uniswap v3`, `Balancer`, `Curve 3`, `DODO PMM`, and `1inch` as **not deployed on the public cW mesh** until real public-chain `cW*` pools are recorded --- ## Operator recommendation If the goal is to get to broad GRU v2 cross-chain coverage safely, the recommended order is: 1. Finish Wave 1 first. 2. Only then start new canonical deployments for Wave 2. 3. Attach metadata and oracle/liquidity paths as part of each currency’s onboarding, not as an afterthought. That means each asset rollout should include: - IPFS-backed metadata URI - disclosure / reporting URI - reserve-verifier policy - price oracle path - at least one approved liquidity / treasury route The architecture can absolutely support the global currency list. The repo now has a concrete way to prove which parts are live, which parts are only canonical on Chain 138, and which parts are still waiting for first deployment.