# PMM Liquidity Pools & DEX/DeFi Routing — Full System Status **Last Updated:** 2026-04-03 **Purpose:** Single reference for DEX/DeFi and PMM liquidity pool routing — what is designed, deployed, and in use. **GRU / FX policy:** public-chain cW\* PMM activity is **mesh execution** against policy and reference inputs, not a shadow FX oracle — [GRU_REFERENCE_PRIMACY_AND_MESH_EXECUTION_MODEL.md](../04-configuration/GRU_REFERENCE_PRIMACY_AND_MESH_EXECUTION_MODEL.md). --- ## Executive summary (updated 2026-04-01) - **DODOPMMIntegration** is **deployed** on Chain 138 at `0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895`. - **DODOPMMProvider** is **deployed** at `0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e` and now points at the official DODO V2 DVM-backed integration. - **Official DODO V2 DVMFactory** is **deployed** at `0xc93870594C7f83A0aE076c2e30b494Efc526b68E`; the canonical `DODO_VENDING_MACHINE_ADDRESS` / adapter is `0xb6D9EF3575bc48De3f011C310DC24d87bEC6087C`. - **Canonical public pools on the current stack** are: - cUSDT/cUSDC: `0x9e89bAe009adf128782E19e8341996c596ac40dC` — funded - cUSDT/USDT: `0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66` — funded - cUSDC/USDC: `0xc39B7D0F40838cbFb54649d327f49a6DAC964062` — funded - canonical stable-pair calibration: `i=1e18`, `k=0`, `lpFeeRate=10 bps`, `isOpenTWAP=false` - **EnhancedSwapRouterV2** is **deployed** and the Chain 138 multi-provider venue layer is now live for the canonical upstream-native `Uniswap_v3` lane plus the funded pilot-compatible `Balancer`, `Curve_3`, and `1inch` execution venues. - **Canonical planner exposure is live:** the published `/token-aggregation/api/v2` capability surface marks `uniswap_v3`, `balancer`, `curve`, and `one_inch` as live on Chain 138, and the canonical `WETH -> USDT` routing asset lane now resolves publicly through the **upstream-native Uniswap v3 router/quoter** (`0xde9...` / `0x6abb...`) and the corrected fee-500 pool `0xa893...`. This uses the routing token `WETH` (`0xC02a...`), not the separate `CCIPWETH9Bridge` / `CCIPWETH10Bridge` transport addresses. - **Do not conflate Chain 138 venues with public-chain cW* liquidity:** the live `Uniswap_v3`, `Balancer`, `Curve_3`, and `1inch` venues described here are for canonical Chain 138 routing lanes. The public-chain `cW*` **token mesh is live on the currently loaded 10-chain public EVM set**, and the first live public `cW*` pool wave is now recorded on Mainnet through `DODO PMM` (`cWUSDT/USDC`, `cWUSDC/USDC`, `cWUSDT/USDT`, `cWUSDC/USDT`, `cWUSDT/cWUSDC`, `cWEURC/USDC`, `cWGBPC/USDC`, `cWAUDC/USDC`, `cWCADC/USDC`, `cWJPYC/USDC`, `cWCHFC/USDC`). The broader public-chain `cW*` mesh is still partial and not yet live across `Uniswap`, `Balancer`, `Curve`, or `1inch`. - **The full first Mainnet public DODO cW bootstrap wave is now exercised live in both directions:** using `DODOPMMIntegration_MAINNET=0xa9F284eD010f4F7d7F8F201742b49b9f58e29b84`, the recorded bootstrap pools now have bidirectional proof swaps: - `cWUSDT/USDC`: `0xbb0d20a541dfaddcc2922dabcf418fe7e43b04ca203ae3cc70781bbf284267cd` (`0.001 cWUSDT -> 0.000998 USDC`) and `0x3c9fddd83f127a47a414b554bac85b8ebbd5c1327adb0da2d7f3dfc1e2fca32c` (`0.001 USDC -> 0.000999 cWUSDT`) - `cWUSDC/USDC`: `0x0039e2f72f5cb4ff17177528912f78bf838741ef313f2e2c5898f95f3f18b727` (`0.001 USDC -> 0.000998 cWUSDC`) and `0x9f9456a3d988c96bd4d51c0e910fa6b14056145fa19ef88298695eff8fc9dcbd` (`0.0009 cWUSDC -> 0.000899 USDC`) - `cWUSDT/USDT`: `0x400e5671c101ff5bdc3761a683b4bc70b16a25f79269c78782bbc7c07c9d801b` (`0.001 cWUSDT -> 0.000998 USDT`) and `0xaa12faf0f6b8fca76debde8da7be7933538527b334fe53f4840fbfbe29cb6055` (`0.001 USDT -> 0.000999 cWUSDT`) - `cWUSDC/USDT`: `0x7eaf83f6b0858b7dae16724897d041654c91781c67937dce4bda0350d099c2e7` (`0.001 USDT -> 0.000998 cWUSDC`) and `0xc821b5a69c904ddd3ea09a3277ab7413b572e5e68aa94f088408e3da7c8e283f` (`0.0009 cWUSDC -> 0.000899 USDT`) - **The first non-USD Wave 1 Mainnet public DODO row is now live:** `cWEURC/USDC` pool `0x0bC750F9c6DbDcd76B205695A356491b1B9ef098` was created in `0x4997e53bb35a3916fe808e816cd551cb5d695640eff09262fb31b7e262e86dc3`, seeded in `0x6c98411c5da0a6a8f7524b230b275ed0055c21ef3bf233cc19c6169f5d1b8d7a` with `1.25 cWEURC` and `1.439625 USDC`, and exercised bidirectionally by `0x1c8e06047ca8459e02f1e8298661b22a75cca34f282c966d4fb430f5e8df808a` (`0.001 cWEURC -> 0.001149 USDC`) and `0xf18269ac2d42631582b3103828acbdacfa321cb39e65327dcd06c356b68c24a0` (`0.001 USDC -> 0.000868 cWEURC`). - **The second non-USD Wave 1 Mainnet public DODO row is now live:** `cWGBPC/USDC` pool `0x5488042dF882893a3e7074453E2005CaDE4101b0` was created in `0x02ded4ce880cda655fcfb6f83cbb72d596e6c8c3009bb3e8397deeb2c76462d5`, base inventory was minted in `0x66f98488e6bf0e43474dae10117e63bbd12288d6be8a229b3f47ab1ada65075e`, the pool was seeded in `0x35413622cadfca90bb1eb98bca9f21035d21b60c3d8d9065375a97d95069daf5` with `0.125 cWGBPC` and `0.163063 USDC`, and it is now exercised bidirectionally by `0xea885a0bbeda94d2143c7e324e84fc2081bae01471bd4d7aaa703aa33168ecab` (`0.001 cWGBPC -> 0.001292 USDC`) and `0x5d015907b95dd676afe5a1a8fad08610befbb868b79f15b1df9101a6167dd9f0` (`0.001 USDC -> 0.000773 cWGBPC`). - **The third non-USD Wave 1 Mainnet public DODO row is now live:** `cWAUDC/USDC` pool `0x6c1bD4F43c5f330E50B61DE81066dA7C61a9b5b4` was created in `0xbec2550827d6e4df1f32e5ea8f5222b4232002552580ecb8bffbfcba5f0f44a6`, base inventory was minted in `0x219e0f6c5e5b1eaba0acf2781044eb1a2bc2d77e6d326828dd91aeffd1e2eeec`, seeded in `0x018ed68e440514112a42f7a529b91548143e7da12f89782561c931dadd48ecb7` with `0.125 cWAUDC` and `0.081250 USDC`, and exercised bidirectionally by `0xd67b9ea132526c840bb454eef63ac240e44a89e0009926b257968060fd6a7ed4` (`0.001 cWAUDC -> 0.000644 USDC`) and `0x71049c141655cd7d72a600da5be030b640b4c968ceb70eb956e700ab7e00a595` (`0.001 USDC -> 0.001542 cWAUDC`). - **The fourth non-USD Wave 1 Mainnet public DODO row is now live:** `cWCADC/USDC` pool `0xE0F35b5736FDd0a2F4B618621b0A08F8D8A3f92A` was created in `0xf9792bf9a6da5823b77dc8fc767f33ce565f94f4fd04f386bd5cf10fd418c84d`, base inventory was minted in `0xa01eddf1c9275bf009af37a70949acff2976bfc863b24ca4e98494bab2e70d5c`, seeded in `0xae438aab70baf11d82926d4c1753197fc9290cc37758553590db2915936ea213` with `0.125 cWCADC` and `0.091250 USDC`, and exercised bidirectionally by `0x917153557fd98caf907129368094885bcaea8a79f961fb92b9414545057bf92a` (`0.001 cWCADC -> 0.000723 USDC`) and `0x94dedebd427e4d6361945cd1e9b5a9d71343ec99584a0831e11cfa3a736e3b73` (`0.001 USDC -> 0.001375 cWCADC`). - **The fifth non-USD Wave 1 Mainnet public DODO row is now live:** `cWJPYC/USDC` pool `0x8A4187dF0A8FE855cC53A4F7B2D8346588Ee9794` was created in `0xe292f2e8cab9ae56e948c74ed8a72808e7bd7209acbdada65606ebbb716e4e1f`, base inventory was minted in `0x47c44682572ab1c2d3fb8ba2a3c293d64c90b4c5846acc1b47c74b7eac941925`, seeded in `0x59c73541ed0168dad2d8a3ed8be8aa6046fd66d654c211c161336d6e293f2eca` with `0.125 cWJPYC` and `0.000838 USDC`, and exercised bidirectionally by `0x8abb8effd324e2d3dead4fbdc7857fd6997e74f4c7901ecc6de3a8a837760113` (`0.001 cWJPYC -> 0.000006 USDC`) and `0x7fb415f7e3c3906f8c5ba08b41451f5a30e5809cb4788105af08b4e4e31e2cb8` (`0.000100 USDC -> 0.013398 cWJPYC`). - **The sixth non-USD Wave 1 Mainnet public DODO row is now live:** `cWCHFC/USDC` pool `0x776Ca556deD3245984F504F4bef8Eeec55C50190` was created in `0x077ecc6b7ffc28faff37be75b8992f3b033eb76f14734bcb9d4acd7b8a3e6b61`, base inventory was minted in `0x139b910a1bebb1d2683b91326bfd6798a7eff1042ed72191810411b6efc92095`, seeded in `0x14b0cde93a07f56c542e1a3a6f61126ddcbfba0ed997b234ed8fd85f0c847715` with `0.125 cWCHFC` and `0.138250 USDC`, and exercised bidirectionally by `0xb1159e8615c7a66aa10938909cb43d149781002d6f6133a7f1e997d3653fdc4f` (`0.001 cWCHFC -> 0.001096 USDC`) and `0x82ae8d2bfce43e67d3dd2570eda619c9d5b310a0b48b40c71e5813d793c8be8f` (`0.001 USDC -> 0.000911 cWCHFC`). - **Quote/read-path nuance:** those same Mainnet pools can still revert on direct hosted `querySellBase` / `querySellQuote` reads. Treat affected rows as **partial DODO surface / integration-only** pools: reserve and mid-price getters may still work, but the public `querySell*` path and raw `sellBase` / `sellQuote` assumptions are not reliable. The repo now carries two fixes: `DODOPMMProvider.sol` has a reserve-based quote fallback for future deployments, and `bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh` now tries direct reads first, reports `quoteSource`, classifies the pool surface, and refuses unsafe raw direct fallback on integration-only pools. - **Canonical public status surface:** use `bash scripts/verify/check-gru-v2-public-protocols.sh` or `https://explorer.d-bis.org/config/GRU_V2_PUBLIC_DEPLOYMENT_STATUS.json` for the GRU v2 public-network truth table. That explorer surface keeps the public EVM `cW*` token mesh, Wave 1 transport state, and the five public protocol rows aligned in one place. - **Live router-v2 execution is proven beyond a single smoke test:** on 2026-04-03 the public planner/internal-execution path successfully executed `USDT -> WETH` swaps through `EnhancedSwapRouterV2` for notionals `10`, `50`, `100`, `250`, `500`, and `1000` USD. Tx hashes: `0x4e39d544c41e09a2bbabd5598dcd0e82e8496db6e712829284597f9a207dbae5`, `0xb30728ac35207d22ed2a0ba97b9e43a93c662a2eb33ce7acc16ff160a8483fe4`, `0x062446a59ab0be3141197738f3e6b74e9c882b57ab4cc636258859b5c5015ffc`, `0x0c817ae5bedd83cb86118f75b031ce4b5b6c5df8d20e49928a3ddfb26a0fdd68`, `0x9eacb773b6d399801e1bdebc55fe5171792a71d7fabb0351531be443b05883d4`, `0xe17ccb774188d77d5c6451cbf06437d6d338a45aa407fb56072a6bb123ddb6f8`. - **Token-aggregation** service is implemented, running publicly on `explorer.d-bis.org`, and now persists the canonical Chain 138 stable pools on its standalone explorer deployment. **Bridge quote API** (swap+bridge+swap) is implemented. - **GRU transport publication path is green again:** the public explorer deployment now resolves the GRU bridge/verifier/cap env block correctly, and `/token-aggregation/api/v1/bridge/preflight` reports `runtimeReadyTransportPairs: 21`, `blockedPairs: 0`. - **DODO v3 / D3MM** is now deployed privately on Chain 138 (`D3Oracle=0xD7459aEa8bB53C83a1e90262777D730539A326F0`, `D3Vault=0x42b6867260Fb9eE6d09B7E0233A1fAD65D0133D1`, canonical `WETH10` pool `0x6550A3a59070061a262a893A1D6F3F490afFDBDA`) and direct proof swaps now succeed both through `D3Proxy` and through the live `EnhancedSwapRouterV2` D3 adapter path. Planner-v2 capability, generated route-matrix visibility, and the public `/token-aggregation/api/v2` publication path are live, with executable calldata now emitted for the canonical pilot pair. - **ETH / WETH completion remains an active deployment program:** the repo already has live `ETH/USD`-anchored routing and the `WETH10 <-> USDT` pilot lane, but the completion gate still requires explicit real-time oracle policy for `ETH`, `WETH9`, and `WETH10`, wrapper-peg controls at the `0.00001` target, and funded `cUSDT/cUSDC/USDT/USDC <-> WETH` anchor pools so the public market feed is backed by real depth. - **Full system status:** official DODO V2 PMM liquidity and DODOPMMProvider routing are **deployed and in use** on Chain 138. The public token-aggregation service now has a standalone lightweight schema bootstrap path for dedicated deployments, and router-v2 can execute through the canonical upstream-native `Uniswap_v3` venue plus the funded pilot-compatible `Balancer`, `Curve_3`, and `1inch` venues on Chain 138. Remaining: decide which legacy XAU/private pool references should stay canonical, and whether the pilot-compatible `Balancer`, `Curve_3`, and `1inch` venues should later be replaced by upstream-native protocol deployments. - **Optional items completed (2026-02-27 / 2026-03-01):** DeployCompliantFiatTokens (10 tokens on 138); Blockscout verification run; MCP allowlist-138 (`ai-mcp-pmm-controller/config/allowlist-138.json`); add-liquidity runbook ([ADD_LIQUIDITY_PMM_CHAIN138_RUNBOOK](../03-deployment/ADD_LIQUIDITY_PMM_CHAIN138_RUNBOOK.md)); token-aggregation canonical fallbacks for cEURC/cEURT/cGBP*/cAUDC/cJPYC/cCHFC/cCADC/cXAU*; ENV_EXAMPLE_CONTENT + CREATE2_FACTORY_ADDRESS; E2E routing verification run. --- ## 1. Architecture Overview ### 1.1 Designed routing layers | Layer | Description | Components | |-------|-------------|------------| | **On-chain multi-provider** | Size-based routing across DEXs for one leg (e.g. WETH↔stable) | EnhancedSwapRouter (Uniswap V3, Dodoex PMM, Balancer, Curve, 1inch) | | **PMM pools (Chain 138)** | Official DODO V2 DVM-backed public stable pools; legacy XAU/private pools still exist separately | DODOPMMIntegration, DODOPMMProvider | | **Token-aggregation API** | Single-hop quotes, pool indexing, reports | token-aggregation service (UniswapV2/V3 + DODO from DODOPMMIntegration) | | **Swap–bridge–swap** | Cross-chain: swap (source) → bridge → swap (destination) | SwapBridgeSwapCoordinator (on-chain), orchestration QuoteService (`POST /api/bridge/quote`) | | **Public-chain cW* mesh** | cW* wrappers on public chains, intended single-sided PMM edge pools, bot-driven peg | cross-chain-pmm-lps (specs, simulation, deployment recipe). Current repo state: the first Mainnet DODO PMM cW pools are now recorded live, but the broader public mesh and later protocol waves are still incomplete | ### 1.2 Routing logic (EnhancedSwapRouter / Liquidity Engine) - **Size-based:** Small (<$10k) → Uniswap V3 / Dodoex; Medium ($10k–$100k) → Dodoex → Balancer → Uniswap V3; Large (>$100k) → Dodoex → Curve → Balancer. - **Slippage-based:** Low → prefer Dodoex (PMM); medium → Balancer; high → Curve. - **Liquidity-based:** High → Uniswap V3; medium → Dodoex; low → Curve. **Reference:** [smom-dbis-138/docs/bridge/trustless/integration/ENHANCED_ROUTING.md](../smom-dbis-138/docs/bridge/trustless/integration/ENHANCED_ROUTING.md), [LIQUIDITY_ENGINE.md](../smom-dbis-138/docs/bridge/trustless/integration/LIQUIDITY_ENGINE.md). --- ## 2. Deployment Status (Chain 138 & Related) ### 2.1 PMM / DEX (Chain 138) | Component | Status | Address / Notes | |-----------|--------|------------------| | **DODOPMMIntegration** | Deployed | `0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895` — canonical official DODO V2 DVM-backed integration. | | **DODO DVMFactory** | Deployed | `0xc93870594C7f83A0aE076c2e30b494Efc526b68E` — self-deployed official DODO V2 DVM stack on Chain 138. | | **DODO Vending Machine / Adapter** | Deployed | `0xb6D9EF3575bc48De3f011C310DC24d87bEC6087C` — adapter used by `DODOPMMIntegration`. | | **PMM pools (current canonical stack)** | 3 created | Public pools are `0x9e89bAe009adf128782E19e8341996c596ac40dC` (cUSDT/cUSDC), `0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66` (cUSDT/USDT), `0xc39B7D0F40838cbFb54649d327f49a6DAC964062` (cUSDC/USDC). | | **DODOPMMProvider** | **Deployed** | `0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e`; supports the three canonical stable pools above. | | **D3Oracle** | Deployed (private pilot) | `0xD7459aEa8bB53C83a1e90262777D730539A326F0`; `WETH10` now uses live `Oracle_Aggregator=0x99b3511a2d315a497c8112c1fdd8d508d4b1e506`, and the stable assets use dedicated managed USD feeds. | | **D3Vault / D3Proxy / D3MMFactory** | Deployed (private pilot) | `D3Vault=0x42b6867260Fb9eE6d09B7E0233A1fAD65D0133D1`, `D3Proxy=0xc9a11abB7C63d88546Be24D58a6d95e3762cB843`, `D3MMFactory=0x78470C7d2925B6738544E2DD4FE7c07CcA21AC31`. | | **D3MM pools** | 2 created | `0xE71Bc2cCb62dA5B18F88647db2b4a721Db416fc5` is a superseded bootstrap pool on the placeholder `WETH9` path. `0x6550A3a59070061a262a893A1D6F3F490afFDBDA` is the canonical private `WETH10` pilot pool. | | **EnhancedSwapRouterV2 + public venue layer** | Live | Router-v2 is deployed and the canonical upstream-native `Uniswap_v3` lane plus the funded pilot-compatible `Balancer`, `Curve_3`, and `1inch` venues are publicly exposed for the canonical Chain 138 routing asset lanes. | | **Upstream-native Uniswap v3** | Live | Factory `0x2f72...`, router `0xde9...`, quoter `0x6abb...`, canonical fee-500 pools `0xa893...` (`WETH/USDT`) and `0xEC74...` (`WETH/USDC`). Public planner now selects this venue for the canonical `WETH -> USDT` lane. | | **LiquidityPoolETH** (trustless bridge) | Placeholder | Not deployed; config uses `0x0`. | **Doc note:** [LIQUIDITY_POOLS_MASTER_MAP.md](LIQUIDITY_POOLS_MASTER_MAP.md) and [ADDRESS_MATRIX_AND_STATUS.md](ADDRESS_MATRIX_AND_STATUS.md) list pool and DODOPMMProvider addresses. DEX_AND_CROSS_CHAIN_CONTRACTS_NEEDED reflects DODOPMMIntegration deployed and pools created. ### 2.2 Token-aggregation & orchestration | Component | Status | Notes | |-----------|--------|--------| | **Token-aggregation service** | Implemented & runnable | Indexes UniswapV2/V3 and DODO when `CHAIN_138_DODO_PMM_INTEGRATION` is set (set in smom-dbis-138/.env). The live explorer deployment now persists the three canonical Chain 138 stable pools via the standalone lightweight schema bootstrap. Single-hop quote only; no N-hop pathfinding. | | **Orchestration QuoteService** | Implemented | `POST /api/bridge/quote` with optional source/destination swap quotes; requires bridge registry and optional EnhancedSwapRouter addresses. | | **Liquidity Engine (backend)** | Implemented / partially live | Planner-v2 and router-v2 are live for the published canonical lanes; broader venue/policy expansion remains optional follow-on work. | ### 2.3 Swap–bridge–swap & trustless stack | Component | Status | Notes | |-----------|--------|--------| | **SwapBridgeSwapCoordinator** | Script exists; not in CONTRACT_ADDRESSES_REFERENCE | Deploy via `DeploySwapBridgeSwapCoordinator.s.sol` when swap+bridge+swap flow is needed. | | **Lockbox138** | Deployed | `0xFce6f50B312B3D936Ea9693C5C9531CF92a3324c` | | **InboxETH, BondManager, ChallengeManager, LiquidityPoolETH** | Not deployed (full trustless stack) | Optional; see [DEX_AND_CROSS_CHAIN_CONTRACTS_NEEDED.md](DEX_AND_CROSS_CHAIN_CONTRACTS_NEEDED.md) §3.3. | ### 2.4 Cross-chain cW* PMM mesh (public chains) | Component | Status | Notes | |-----------|--------|--------| | **cross-chain-pmm-lps** | Partial live rollout | Token map, pool topology, peg bands, simulation model, deployment recipe, safe inventory sizing. The first Mainnet DODO PMM cW pools are now recorded in `deployment-status.json`, but the broader edge-pool mesh and bot v1/v2 remain incomplete. | --- ## 3. Multihop / routing capability summary | Capability | Available? | Where | |------------|------------|--------| | Single-hop quote (API) | Yes | `GET /api/v1/quote` (best direct pool for tokenIn/tokenOut) | | Multi-provider choice (one leg) | Yes (Chain 138 canonical lanes) | `EnhancedSwapRouterV2` is live for the canonical Chain 138 venue set (`Uniswap_v3`, DODO PMM, pilot-compatible `Balancer`, `Curve_3`, `1inch`) | | N-hop path (A→B→C on one chain) | No | No graph-based multi-hop swap API or on-chain pathfinder | | Swap–bridge–swap (cross-chain) | Yes (orchestration) | QuoteService; on-chain coordinator deployable when needed | | DODO PMM on-chain swaps | **Yes** | Pools created; DODOPMMProvider deployed; use getQuote/executeSwap or DODOPMMIntegration swap functions. | | Public-chain cW* pool execution | No | cW tokens may be deployed, but the repo records no live Balancer, Curve, DODO edge, Uniswap, or 1inch cW* pool contracts on the public chains | --- ## 4. Full system “ready and in use” — summary | Area | Ready? | In use? | |------|--------|--------| | **PMM liquidity pools (Chain 138)** | **Yes** | Official DODO V2 DVM-backed stack deployed; all three canonical public stable pools are funded on the current stack. | | **DODO v3 / D3MM pilot** | Partial / private | Contracts are deployed and the corrected `WETH10` pool is seeded and tradable through `D3Proxy`; oracle promotion, planner-v2 visibility, generated route-matrix exposure, public `/token-aggregation/api/v2` publication, and router-v2 executable calldata are complete for the canonical pilot pair. | | **DEX routing (EnhancedSwapRouterV2)** | Yes | Contract is deployed and in use. Canonical public `uniswap_v3` routing resolves through the upstream-native fee-500 pools; Balancer / Curve_3 / 1inch remain live pilot-compatible venues. | | **Token-aggregation API** | Yes | Service is live publicly, serves single-hop quotes, and now persists the canonical DODO pool set on the explorer deployment. | | **Bridge quote (swap+bridge+swap)** | Partial | QuoteService implemented; coordinator and router optional; not full E2E flow. | | **Liquidity Engine (decision logic)** | No | Depends on EnhancedSwapRouter. | | **Cross-chain cW* PMM mesh** | Partial | First Mainnet DODO PMM cW pools are recorded live; broader public-chain pool rollout and bot automation are not complete. | **Conclusion:** PMM liquidity and DODOPMMProvider routing **are** deployed and in use on Chain 138. What is in place: - **Live:** official DODO V2 DVMFactory + adapter, **three PMM stable pools funded on the canonical stack**, **DODOPMMProvider deployed** with pools registered, token-aggregation service, bridge/orchestration quote API. - **Private but working:** DODO v3 / D3MM is deployed with a corrected `WETH10` pilot pool (`0x6550...`) that can quote and execute through `D3Proxy`, and its current oracle stack is now on the live Chain 138 oracle surfaces. Planner-v2 capability discovery, live quote selection, generated route-matrix visibility, public `/token-aggregation/api/v2` publication, and live `EnhancedSwapRouterV2` execution are now in place for the canonical pilot pair. - **Still missing for full ETH market completion:** dedicated wrapper-peg controls and publicly documented depth-backed `WETH` anchor pools on Chain 138. See [CHAIN138_ETH_WETH_ORACLE_PEG_AND_LIQUIDITY_PLAN.md](../03-deployment/CHAIN138_ETH_WETH_ORACLE_PEG_AND_LIQUIDITY_PLAN.md). - **Remaining:** decide whether DODO v3 should join the canonical public execution set beyond the current private pilot posture, extend router-v2/provider coverage beyond the canonical `WETH10 <-> USDT` lane, migrate or re-register any legacy XAU/private pools that should stay in the canonical routing set, and optionally replace the current pilot-compatible `Balancer`, `Curve_3`, and `1inch` venues with upstream-native deployments. - **Optional / later:** Full trustless stack (LiquidityPoolETH, etc.), cross-chain cW* edge pools and bots. --- ## 5. Next steps to make PMM routing usable **Full ordered steps:** See [PRE_DEPLOYMENT_CHECKLIST.md](../03-deployment/PRE_DEPLOYMENT_CHECKLIST.md). **Run Phase 1 + Phase 2 in parallel:** [NEXT_STEPS_PMM_FULL_PARITY_AND_ALL_POOLS.md](../03-deployment/NEXT_STEPS_PMM_FULL_PARITY_AND_ALL_POOLS.md) — use `./scripts/deployment/run-pmm-full-parity-all-phases.sh` from `smom-dbis-138/`. 1. **Keep the canonical stable stack as the source of truth:** `DODOPMMIntegration=0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895`, `DODOPMMProvider=0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e`, pools `0x9e89bAe009adf128782E19e8341996c596ac40dC`, `0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66`, `0xc39B7D0F40838cbFb54649d327f49a6DAC964062`. 2. **Keep token-aggregation indexed on dedicated deployments:** if the service uses a standalone `token_aggregation` database, run `bash smom-dbis-138/services/token-aggregation/scripts/apply-lightweight-schema.sh` so `/tokens`, `/tokens/:address/pools`, and `/quote` persist the canonical DVM-backed pool set without relying only on fallback logic. 3. **Decide legacy XAU/public-private pool posture:** either migrate them onto the canonical integration/provider set or mark them explicitly as legacy so public routing inventories do not mix stacks. 4. **Keep the router-v2 venue layer verified:** run `bash scripts/verify/check-chain138-pilot-dex-venues.sh` after any venue funding or token-aggregation publication change. This proves bytecode, funding, public capability exposure, and canonical `WETH -> USDT` planner resolution through the native Uniswap v3 lane plus the pilot-compatible secondary venues. 5. **Use the live ladder script for execution proof:** `bash scripts/deployment/run-progressive-router-v2-swaps-chain138.sh` executes the public planner-v2 `internal-execution-plan` path through the live router and is the current operator-grade proof path for same-chain swaps up to `$1000`. 6. **If DODO v3 is promoted beyond a private pilot:** planner-v2/provider-capability promotion, public `/token-aggregation/api/v2` publication, and router-v2 execution are already in place for the canonical `WETH10 <-> USDT` lane; the remaining work is policy/public-promotion, broader venue coverage, and any migration of legacy XAU/private pools into the canonical set. 7. **Keep docs and verification aligned:** update LIQUIDITY_POOLS_MASTER_MAP, CONTRACT_ADDRESSES_REFERENCE, and runtime inventories whenever the canonical pool or provider set changes. --- ## 6. References | Doc | Purpose | |-----|---------| | [DEX_AND_AGGREGATORS_CHAIN138_EXPLAINER.md](../04-configuration/DEX_AND_AGGREGATORS_CHAIN138_EXPLAINER.md) | **Explainer:** Using DEX and aggregators with Chain 138 tokens; routing for DEXs; API and flows. | | [PRE_DEPLOYMENT_CHECKLIST.md](../03-deployment/PRE_DEPLOYMENT_CHECKLIST.md) | **Pre-deployment:** component status and ordered steps (pools, DODOPMMProvider, verification). | | [LIQUIDITY_POOLS_MASTER_MAP.md](LIQUIDITY_POOLS_MASTER_MAP.md) | Pool map 138 & 651940; update when pools created | | [STATUS_AND_TOKEN_ROUTING.md](../smom-dbis-138/docs/STATUS_AND_TOKEN_ROUTING.md) | Token-aggregation API and routing layers | | [DODO_PMM_INTEGRATION.md](../smom-dbis-138/docs/integration/DODO_PMM_INTEGRATION.md) | Pool creation and swap usage | | [DODO_PMM_NEXT_STEPS.md](../smom-dbis-138/docs/bridge/DODO_PMM_NEXT_STEPS.md) | Create-all-dodo-pools, SwapBridgeSwapCoordinator, bridge quote API | | [CONTRACT_DEPLOYMENT_RUNBOOK.md](../03-deployment/CONTRACT_DEPLOYMENT_RUNBOOK.md) | EnhancedSwapRouter & DODOPMMProvider config | | `bash scripts/verify/check-chain138-pilot-dex-venues.sh` | Verifies pilot-compatible `Uniswap_v3`, `Balancer`, `Curve_3`, and `1inch` venues are deployed, funded, publicly exposed, and routable on Chain 138 | | `bash scripts/verify/check-cw-public-pool-status.sh` | Verifies that the public-chain cW deployment graph still has zero live `pmmPools` recorded across the supported chains | | `bash scripts/verify/check-gru-v2-public-protocols.sh` | Verifies the public-network GRU v2 posture across the cW mesh, Wave 1 transport state, and the public protocol matrix | | `bash scripts/deployment/run-mainnet-public-dodo-cw-swap.sh --pair=cwusdt-usdc --direction=base-to-quote --amount=5000 --dry-run` | Repeatable operator helper for the live public Mainnet DODO `cW*` bootstrap pools, with direct-query detection and reserve-fallback quoting | | `bash scripts/verify/check-mainnet-public-dodo-cw-bootstrap-pools.sh` | Verifies the eleven recorded Mainnet DODO `cW*` bootstrap pools (USD rails, `cWUSDT/cWUSDC`, and non-USD Wave 1) are mapped, funded, and dry-run routable through the repeatable swap helper | | [LIQUIDITY_POOL_CONTROLS_RUNBOOK.md](../03-deployment/LIQUIDITY_POOL_CONTROLS_RUNBOOK.md) | DODO and trustless pool controls | | [CHAIN138_ETH_WETH_ORACLE_PEG_AND_LIQUIDITY_PLAN.md](../03-deployment/CHAIN138_ETH_WETH_ORACLE_PEG_AND_LIQUIDITY_PLAN.md) | Ordered completion path for ETH/WETH oracle policy, peg controls, and anchor-pool depth on Chain 138 | | [cross-chain-pmm-lps/README.md](../../cross-chain-pmm-lps/README.md) | cW* mesh and deployment recipe |