Files
explorer-monorepo/frontend/public/chain138-command-center.html

1000 lines
36 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Chain 138 — Visual Command Center</title>
<script src="/thirdparty/mermaid.min.js"></script>
<style>
:root {
--bg: #0b0f14;
--panel: #0f172a;
--header: #111827;
--border: #1f2937;
--text: #e6edf3;
--muted: #94a3b8;
--accent: #2563eb;
--accent-hover: #1d4ed8;
--callout: #1e293b;
--success: #10b981;
--warning: #f59e0b;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, sans-serif;
background: var(--bg);
color: var(--text);
min-height: 100vh;
}
.explorer-chrome {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem 1rem;
padding: 0.55rem 1rem;
background: #0a0e17;
border-bottom: 1px solid var(--border);
font-size: 0.8125rem;
}
.explorer-chrome a {
color: #93c5fd;
text-decoration: none;
}
.explorer-chrome a:hover { text-decoration: underline; }
.chrome-brand {
font-weight: 700;
color: var(--text) !important;
margin-right: 0.25rem;
}
.chrome-links {
display: flex;
flex-wrap: wrap;
gap: 0.35rem 0.85rem;
}
header {
padding: 1rem 1.25rem;
background: var(--header);
border-bottom: 1px solid var(--border);
}
header h1 {
margin: 0;
font-size: 1.25rem;
font-weight: 700;
}
header p {
margin: 0.35rem 0 0;
font-size: 0.875rem;
color: var(--muted);
max-width: 56rem;
line-height: 1.45;
}
.toolbar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
padding: 0.65rem 1rem;
border-bottom: 1px solid var(--border);
background: rgba(17, 24, 39, 0.85);
position: sticky;
top: 0;
z-index: 10;
}
.tabs-wrap {
flex: 1;
min-width: 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
}
.tabs {
display: flex;
flex-wrap: nowrap;
gap: 0.25rem;
padding-bottom: 2px;
}
.tab {
padding: 0.5rem 0.85rem;
cursor: pointer;
border: 1px solid transparent;
border-radius: 8px;
font-size: 0.8125rem;
font-weight: 600;
color: var(--muted);
background: transparent;
white-space: nowrap;
flex-shrink: 0;
}
.tab:hover {
color: var(--text);
background: var(--border);
}
.tab.active {
color: #fff;
background: var(--accent);
border-color: var(--accent-hover);
}
.toolbar a.back {
font-size: 0.8125rem;
color: #93c5fd;
text-decoration: none;
white-space: nowrap;
}
.toolbar a.back:hover { text-decoration: underline; }
.content {
display: none;
padding: 1.25rem;
max-width: 120rem;
margin: 0 auto;
}
.content.active { display: block; }
.panel-desc {
color: var(--muted);
font-size: 0.875rem;
line-height: 1.5;
margin-bottom: 1rem;
max-width: 56rem;
}
.callout {
border: 1px solid #334155;
border-radius: 12px;
padding: 1rem 1.1rem;
background: var(--callout);
margin-bottom: 1rem;
font-size: 0.875rem;
line-height: 1.55;
max-width: 56rem;
}
.callout strong { color: #e2e8f0; }
.callout a { color: #93c5fd; text-decoration: none; }
.callout a:hover { text-decoration: underline; }
.callout-warn { border-color: #b45309; background: rgba(180, 83, 9, 0.12); }
.mermaid-wrap {
background: var(--panel);
padding: 1.25rem;
border-radius: 12px;
border: 1px solid var(--border);
overflow-x: auto;
margin-bottom: 1.25rem;
}
.mermaid-wrap h3 {
margin: 0 0 0.75rem;
font-size: 0.95rem;
font-weight: 700;
color: #cbd5e1;
}
.mermaid-wrap + .mermaid-wrap { margin-top: 0.5rem; }
.link-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 0.75rem;
}
.link-card {
display: block;
text-decoration: none;
color: inherit;
border: 1px solid var(--border);
border-radius: 14px;
padding: 1rem;
background: var(--panel);
}
.link-card:hover { border-color: #475569; }
.link-card-title { font-weight: 700; margin-bottom: 0.3rem; }
.link-card-desc { color: var(--muted); line-height: 1.5; font-size: 0.875rem; }
.pool-table {
width: 100%;
border-collapse: collapse;
font-size: 0.8125rem;
margin-top: 0.5rem;
}
.pool-table th, .pool-table td {
border-bottom: 1px solid var(--border);
padding: 0.45rem 0.5rem;
text-align: left;
}
.pool-table th { color: var(--muted); font-weight: 600; }
.pool-table a { color: #93c5fd; text-decoration: none; }
.pool-table a:hover { text-decoration: underline; }
footer {
padding: 1.5rem;
border-top: 1px solid var(--border);
font-size: 0.75rem;
color: var(--muted);
text-align: center;
line-height: 1.6;
}
footer code { color: #a5b4fc; }
footer a { color: #93c5fd; }
.status-note {
margin: 0.75rem 1.25rem 0;
padding: 0.85rem 1rem;
border-radius: 12px;
border: 1px solid #334155;
background: rgba(15, 23, 42, 0.8);
color: var(--muted);
font-size: 0.875rem;
line-height: 1.5;
}
.status-note a { color: #93c5fd; text-decoration: none; }
.status-note a:hover { text-decoration: underline; }
.status-note summary {
cursor: pointer;
font-weight: 600;
color: #cbd5e1;
}
</style>
</head>
<body>
<nav class="explorer-chrome" aria-label="Explorer navigation">
<a class="chrome-brand" href="/">DBIS Explorer</a>
<div class="chrome-links">
<a href="/operations">Operations</a>
<a href="/bridge">Bridge</a>
<a href="/protocols">Protocols</a>
<a href="/liquidity">Liquidity</a>
<a href="/docs">Docs</a>
<a href="/topology">Topology</a>
</div>
</nav>
<header>
<h1>Chain 138 — deployment and liquidity topology</h1>
<p>
Static architecture companion maintained in
<code>explorer-monorepo/docs/CHAIN138_VISUAL_TOPOLOGY_SOURCE.md</code>.
Diagrams are informational only; live contract addresses and guardrails are on
<a href="/protocols">/protocols</a> and the main explorer SPA.
Deep links: <code>?tab=mission-control</code> or slugs <code>master</code><code>mission-control</code>
(numeric <code>?tab=0</code><code>8</code>).
Bundle: <span id="meta-version"></span>.
</p>
</header>
<details class="status-note" id="page-about">
<summary>About this page (live explorer is canonical)</summary>
<p id="mermaid-status" style="margin:0.65rem 0 0;">
Loading diagram assets from <code>/thirdparty/mermaid.min.js</code>; CDN fallback runs automatically if local Mermaid is unavailable.
</p>
<p style="margin:0.65rem 0 0;">
Operational surfaces:
<a href="/operations">Operations hub</a>,
<a href="/bridge">Bridge</a>,
<a href="/routes">Routes</a>,
<a href="/liquidity">Liquidity</a>,
<a href="/pools">Pools</a>,
<a href="/protocols">Protocols</a>,
<a href="/analytics">Analytics</a>,
<a href="/system">System</a>,
<a href="/operator">Operator</a>,
<a href="/access">Access</a>,
<a href="/docs">Docs</a>,
<a href="/snap/">MetaMask Snap</a>.
</p>
</details>
<div class="toolbar">
<div class="tabs-wrap">
<div class="tabs" role="tablist" aria-label="Topology panels">
<button type="button" id="tab-0" class="tab active" role="tab" aria-selected="true" aria-controls="panel-0" data-tab="0" tabindex="0">Master map</button>
<button type="button" id="tab-1" class="tab" role="tab" aria-selected="false" aria-controls="panel-1" data-tab="1" tabindex="-1">Network</button>
<button type="button" id="tab-2" class="tab" role="tab" aria-selected="false" aria-controls="panel-2" data-tab="2" tabindex="-1">Stack</button>
<button type="button" id="tab-3" class="tab" role="tab" aria-selected="false" aria-controls="panel-3" data-tab="3" tabindex="-1">Flows</button>
<button type="button" id="tab-4" class="tab" role="tab" aria-selected="false" aria-controls="panel-4" data-tab="4" tabindex="-1">Cross-chain</button>
<button type="button" id="tab-5" class="tab" role="tab" aria-selected="false" aria-controls="panel-5" data-tab="5" tabindex="-1">Public cW</button>
<button type="button" id="tab-6" class="tab" role="tab" aria-selected="false" aria-controls="panel-6" data-tab="6" tabindex="-1">Off-chain</button>
<button type="button" id="tab-7" class="tab" role="tab" aria-selected="false" aria-controls="panel-7" data-tab="7" tabindex="-1">Integrations</button>
<button type="button" id="tab-8" class="tab" role="tab" aria-selected="false" aria-controls="panel-8" data-tab="8" tabindex="-1">Mission Control</button>
</div>
</div>
<a class="back" href="/operations">Operations hub</a>
</div>
<!-- 0 Master -->
<div class="content active" id="panel-0" role="tabpanel" aria-labelledby="tab-0">
<p class="panel-desc">Hub, leaf endings, CCIP destinations, Alltra, Avalanche cW corridor, public cW mesh, and pending programs. Mainnet cW mint corridors and optional TRUU sit under the Ethereum anchor.</p>
<div class="mermaid-wrap"><div class="mermaid" id="g-master">
flowchart TB
subgraph LEAF_INGRESS["Leaves — access to 138"]
WU[Wallets · MetaMask Snaps · Ledger · Chainlist · SDKs · ethers.js]
OPS[Operators · Foundry scripts · relay · systemd · deploy hooks]
RPCPUB[Public RPC FQDNs · thirdweb mirrors]
FB[Fireblocks Web3 RPC]
end
subgraph LEAF_EDGE["Leaves — services that index or front 138"]
EXP[explorer.d-bis.org · blockscout.defi-oracle.io · token-aggregation]
INFO[info.defi-oracle.io]
DAPP[dapp.d-bis.org bridge UI · atomic-swap.defi-oracle.io]
DBIS[dbis-api Core hosts]
X402[x402 payment API]
MCP[MCP PMM controller]
end
subgraph HUB["CHAIN 138 — origin hub"]
C138["Besu EVM · tokens · DODO PMM Stack A · EnhancedSwapRouter live · UniV3 / Balancer / Curve / 1inch pilots · CCIP · AlltraAdapter · BridgeVault · ISO · reserve vault · Lockbox · Truth / Tron / Solana adapters"]
end
subgraph CCIP_ETH["Ethereum 1 — CCIP anchor"]
ETH1["WETH9 / WETH10 bridges · CCIPRelayRouter · RelayBridge · Logger · optional trustless stack"]
LEAF_ETH["Mainnet DEX · Li.Fi touchpoints · first-wave cW DODO pools · optional TRUU PMM rail"]
end
subgraph CCIP_L2["Other live CCIP EVM destinations"]
L2CLU["OP 10 · Base 8453 · Arb 42161 · Polygon 137 · BSC 56 · Avax 43114 · Gnosis 100 · Celo 42220 · Cronos 25"]
LEAF_L2["Per-chain native DEX · cW representation · partial edge pools"]
end
subgraph ALLTRA["ALL Mainnet 651940"]
A651["AlltraAdapter peer · AUSDT · WETH · WALL · HYDX · DEX env placeholders"]
LEAF_651["ALL native venues when configured"]
end
subgraph SPECIAL["Dedicated corridor from 138"]
AVAXCW["138 cUSDT to Avax cWUSDT mint path"]
LEAF_AVAX["Recipient on 43114"]
end
subgraph CW_MESH["Public cW GRU mesh"]
CW["Cross-public-EVM token matrix · pool design · Mainnet DODO concentration"]
end
subgraph PENDING["Pending or degraded scaffold"]
WEMIX[Wemix 1111 CCIP lane degraded]
XDC[XDC Zero parallel program]
SCAFF[Etherlink Tezos OP L2 design]
PNON[Truth pointer · Tron adapter · Solana partial]
end
WU --> RPCPUB
RPCPUB --> C138
WU --> C138
OPS --> C138
EXP --> C138
INFO --> C138
DAPP --> C138
DBIS --> C138
X402 --> C138
MCP --> C138
FB --> C138
C138 <--> ETH1
C138 <--> L2CLU
C138 <--> A651
C138 --> AVAXCW
AVAXCW --> LEAF_AVAX
ETH1 <--> L2CLU
ETH1 --> LEAF_ETH
L2CLU --> LEAF_L2
A651 --> LEAF_651
CW -.->|pool and peg design| LEAF_ETH
CW -.->|token mesh| L2CLU
C138 -.-> WEMIX
C138 -.-> XDC
C138 -.-> SCAFF
C138 -.-> PNON
</div></div>
</div>
<!-- 1 Network -->
<div class="content" id="panel-1" role="tabpanel" aria-labelledby="tab-1" hidden>
<p class="panel-desc">Chain 138 to the public EVM mesh, Alltra, scaffold targets, Avalanche cW minting, and the Mainnet cW mint corridor alongside the WETH-class CCIP rail.</p>
<div class="mermaid-wrap"><div class="mermaid">
flowchart TB
subgraph C138["Chain 138 — primary"]
CORE[Core registry vault oracle ISO router]
PMM[DODO PMM Stack A V2 DVM + pools]
R1[EnhancedSwapRouter live]
R2P[EnhancedSwapRouterV2 planned]
D3[D3MM pilot]
CCIPB[CCIP WETH9 WETH10 bridges]
ALLA[AlltraAdapter]
ADP[Truth Tron Solana adapters partial]
end
subgraph PUB["Public EVM mesh (cW*)"]
E1[Ethereum 1]
E10[Optimism 10]
E25[Cronos 25]
E56[BSC 56]
E100[Gnosis 100]
E137[Polygon 137]
E42161[Arbitrum 42161]
E43114[Avalanche 43114]
E8453[Base 8453]
E42220[Celo 42220]
end
subgraph PEND["Pending or separate"]
WEMIX[Wemix 1111 lane degraded]
XDC[XDC Zero parallel program]
SCAFF[Etherlink Tezos OP L2 scaffold]
end
subgraph A651["ALL Mainnet 651940"]
ALLTOK[AUSDT USDC WETH WALL HYDX]
end
C138 -->|CCIP WETH| PUB
C138 -->|CCIP WETH| E1
C138 -->|mainnet cW mint corridor| E1
C138 -->|AlltraAdapter| A651
PUB -->|CCIP return| C138
E1 -->|CCIP return| C138
C138 -.->|operator completion| WEMIX
C138 -.->|not CCIP matrix row| XDC
C138 -.->|future gated| SCAFF
C138 -->|avax cw corridor| E43114
R1 -.->|Phase 4b| R2P
</div></div>
<p class="panel-desc">Topology note: Mainnet has two Ethereum-facing patterns — standard WETH-class CCIP and the dedicated <code>cUSDC/cUSDT → cWUSDC/cWUSDT</code> mint corridor.</p>
</div>
<!-- 2 Stack -->
<div class="content" id="panel-2" role="tabpanel" aria-labelledby="tab-2" hidden>
<p class="panel-desc">On-chain layers: tokens, core, liquidity, cross-domain, reserve and settlement.</p>
<div class="callout callout-warn">
<strong>PMM Stack A (production).</strong>
Wire dApps and routers to
<code>DODOPMMIntegration</code> <code>0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895</code>
and <code>DODOPMMProvider</code> <code>0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e</code>.
</div>
<div class="callout callout-warn">
<strong>Do not wire Stack B</strong> parallel integration
<code>0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d</code> — seeded but un-traded pools.
See <a href="/protocols">official protocol registry</a>.
</div>
<div class="callout">
<strong>EnhancedSwapRouter (live)</strong> <code>0xE6Cc7643ae2A4C720A28D8263BC4972905d7DE0f</code>
DODO Stack A active; UniV3/Balancer/1inch slots wired per-pair.
<strong>EnhancedSwapRouterV2</strong> is planned (Phase 4b), not the default production router.
</div>
<div class="mermaid-wrap"><div class="mermaid">
flowchart TB
subgraph L1["Tokens and compliance"]
CT[cUSDT · cUSDC · cEUR* · cXAU* · mirrors · USDT · USDC]
GEN[WETH WETH10 LINK]
end
subgraph L2["Core infrastructure"]
REG[Compliance TokenFactory TokenRegistry BridgeVault]
POL[PolicyManager DebtRegistry FeeCollector]
ISO[ISO20022Router]
end
subgraph L3["Liquidity and execution"]
DVM[Stack A DVMFactory VendingMachine DODOPMMIntegration]
PRV[DODOPMMProvider PrivatePoolRegistry]
R1[EnhancedSwapRouter live]
R2P[EnhancedSwapRouterV2 planned]
VEN[Uniswap v3 Balancer Curve 1inch pilots]
D3[D3Oracle D3Vault D3Proxy D3MMFactory]
end
subgraph L4["Cross-domain"]
CCIP[CCIP Router CCIPWETH9 CCIPWETH10]
ALL[AlltraAdapter]
LBX[Lockbox138]
CH[PaymentChannel Mirror AddressMapper]
end
subgraph L5["Reserve vault settlement"]
RS[ReserveSystem OraclePriceFeed]
VF[VaultFactory Ledger Liquidation XAUOracle]
MSR[MerchantSettlementRegistry WithdrawalEscrow]
end
L1 --> L2
L2 --> L3
L3 --> R1
R1 --> VEN
R1 -.-> R2P
L2 --> L4
L2 --> L5
DVM --> PRV
</div></div>
<div class="callout">
<strong>Compliance &amp; evidence (explorer surfaces).</strong>
<code>ISO20022Router</code> on-chain aligns with ISO-20022 posture badges —
<a href="/docs/posture-glossary">posture glossary</a>.
x402 readiness (EIP-712, ERC-5267, permit/3009) —
<a href="/docs/gru">GRU guide</a> and <a href="/search?q=cUSDT">token/search filters</a>.
Transaction evidence scoring —
<a href="/docs/transaction-review">transaction review matrix</a>.
Li* RWA factory is separate from c*→cW* transport —
<a href="/protocols/rwa_token_factory">RWA token factory registry</a>.
</div>
</div>
<!-- 3 Flows -->
<div class="content" id="panel-3" role="tabpanel" aria-labelledby="tab-3" hidden>
<p class="panel-desc">Same-chain 138: Stack A PMM pools, EnhancedSwapRouter (live), D3 pilot. Live pool inventory: <a href="/pools">/pools</a>.</p>
<div class="mermaid-wrap">
<h3>Stack A PMM pools (live, traded)</h3>
<table class="pool-table">
<thead><tr><th>Pair</th><th>Pool</th></tr></thead>
<tbody>
<tr><td>cUSDT/cUSDC</td><td><a href="/pools/0x9e89bAe009adf128782E19e8341996c596ac40dC">0x9e89…40dC</a></td></tr>
<tr><td>cUSDT/USDT</td><td><a href="/pools/0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66">0x866C…8d66</a></td></tr>
<tr><td>cUSDC/USDC</td><td><a href="/pools/0xc39B7D0F40838cbFb54649d327f49a6DAC964062">0xc39B…4062</a></td></tr>
<tr><td>cBTC/cUSDT</td><td><a href="/pools/0x67049e7333481e2cac91af61403ac7bddfab7bcd">0x6704…7bcd</a></td></tr>
<tr><td>cBTC/cUSDC</td><td><a href="/pools/0x72f1a0794153c3b8a1e8a731f1d8e1a52cb10dc5">0x72f1…0dc5</a></td></tr>
<tr><td>WETH/USDC</td><td><a href="/pools/0xb53a0508940b1ff90f1aad4f6cb50a7012fe5593">0xb53a…5593</a></td></tr>
<tr><td>WETH/USDT</td><td><a href="/pools/0xe227f6c0520c0c6e8786fe56fa76c4914f861533">0xe227…1533</a></td></tr>
<tr><td>cBTC/cXAUC</td><td><a href="/pools/0xf3e8a07d419b61f002114e64d79f7cf8f7989433">0xf3e8…9433</a></td></tr>
</tbody>
</table>
</div>
<div class="mermaid-wrap"><div class="mermaid">
flowchart LR
subgraph inputs["Typical inputs"]
U1[cUSDT]
U2[cUSDC]
U3[USDT mirror]
U4[USDC mirror]
U5[cEURT]
U6[cXAUC]
end
subgraph path_pmm["DODO PMM Stack A"]
INT[DODOPMMIntegration 0x86ADA6Ef]
POOL[Stable pools XAU public pools Private XAU registry]
end
subgraph path_r1["EnhancedSwapRouter live"]
R1[EnhancedSwapRouter 0xE6Cc7643]
UV3[Uniswap v3 WETH stable]
PILOT[Balancer Curve 1inch]
end
subgraph path_d3["Pilot"]
D3[D3MM WETH10 pilot pool]
end
inputs --> INT
INT --> POOL
inputs --> R1
R1 --> UV3
R1 --> PILOT
GEN2[WETH WETH10] --> R1
GEN2 --> D3
</div></div>
</div>
<!-- 4 Cross-chain -->
<div class="content" id="panel-4" role="tabpanel" aria-labelledby="tab-4" hidden>
<p class="panel-desc">CCIP routing, managed relay fleet, Alltra round-trip, c→cW mint corridors, and swap-bridge-swap orchestration. Live relay posture: <a href="/bridge">/bridge</a>.</p>
<div class="mermaid-wrap">
<h3>Managed CCIP relay fleet (explorer /bridge)</h3>
<div class="mermaid">
flowchart TB
C138[Chain 138 hub]
subgraph RELAYS["Managed relay lanes"]
MW[mainnet_weth]
MC[mainnet_cw]
BSC[bsc]
AV[avax]
AVC[avax_cw]
A138[avax_to_138]
end
C138 --> MW
C138 --> MC
C138 --> BSC
C138 --> AV
C138 --> AVC
AVC --> A138
A138 --> C138
</div>
</div>
<div class="mermaid-wrap">
<h3>CCIP — WETH primary routing lane</h3>
<div class="mermaid">
sequenceDiagram
participant U as User or bot
participant C138 as Chain 138
participant BR as CCIPWETH9 or WETH10 bridge
participant R as CCIP Router
participant D as Destination EVM
U->>C138: Fund WETH bridge fee LINK
U->>BR: Initiate cross-chain WETH transfer
BR->>R: CCIP message
R->>D: Deliver WETH class asset
Note over D: Native DEX or cW pools where deployed
D->>R: Optional return leg
R->>C138: Inbound to receiver bridge
</div>
</div>
<div class="mermaid-wrap">
<h3>Alltra — 138 to ALL Mainnet</h3>
<div class="mermaid">
flowchart LR
A[Chain 138] -->|AlltraAdapter| B[ALL 651940]
B -->|AlltraAdapter| A
</div>
</div>
<div class="mermaid-wrap">
<h3>Special corridors — c* to cW* mint</h3>
<div class="mermaid">
flowchart LR
S1[cUSDT on 138] -->|avax cw relay mint| T1[cWUSDT on Avalanche]
S2[cUSDC on 138] -->|mainnet relay mint| T2[cWUSDC on Mainnet]
S3[cUSDT on 138] -->|mainnet relay mint| T3[cWUSDT on Mainnet]
</div>
</div>
<div class="mermaid-wrap">
<h3>Orchestrated swap-bridge-swap (design target)</h3>
<div class="mermaid">
flowchart LR
Q[QuoteService POST api bridge quote] --> S1[Source leg e.g. 138 PMM]
S1 --> BR[Bridge CCIP Alltra or special]
BR --> S2[Destination leg DEX or cW pool]
</div>
</div>
</div>
<!-- 5 Public cW -->
<div class="content" id="panel-5" role="tabpanel" aria-labelledby="tab-5" hidden>
<p class="panel-desc">
Ethereum Mainnet first-wave cW DODO mesh plus optional TRUU PMM rail.
<strong>c*</strong> on Chain 138 is the compliant canonical instrument;
<strong>cW*</strong> on public chains is the wrapped transport representation (not Li* RWA).
Guide: <a href="/docs/gru">GRU guide</a> · mesh search <a href="/search?q=cWUSDC">cWUSDC</a>.
</p>
<div class="callout callout-warn">
<strong>Mainnet cWUSDC/USDC guardrail.</strong>
Do not route cWUSDC→USDC through skewed legacy UniV2 pair <code>0xC28706F8…</code> when peg deviation is high.
Prefer DODO / UniV3 repair lanes and explorer <a href="/liquidity">liquidity policy</a> (bridge underlying, not LP).
</div>
<div class="mermaid-wrap"><div class="mermaid">
flowchart TB
subgraph ETH["Ethereum Mainnet"]
CW[cWUSDT cWUSDC cWEURC cWGBPC cWAUDC cWCADC cWJPYC cWCHFC]
HUB[USDC USDT]
DODO[DODO PMM Wave 1 pools]
end
CW <--> DODO
HUB <--> DODO
</div></div>
<p class="panel-desc">TRUU: optional Mainnet Truth volatile PMM lane — not part of the default cW stable mesh.</p>
<div class="mermaid-wrap">
<h3>Mainnet TRUU PMM (volatile, optional)</h3>
<div class="mermaid">
flowchart LR
subgraph TRUUmesh["Mainnet TRUU rail optional"]
CWu[cWUSDT or cWUSDC]
TRUU[TRUU ERC-20]
PMM[DODO PMM integration]
end
CWu <--> PMM
TRUU <--> PMM
</div>
</div>
</div>
<!-- 6 Off-chain -->
<div class="content" id="panel-6" role="tabpanel" aria-labelledby="tab-6" hidden>
<p class="panel-desc">Wallets, edge FQDNs, APIs, operators, and explorer-hosted Mission Control surfaces.</p>
<div class="mermaid-wrap"><div class="mermaid">
flowchart TB
subgraph users["Wallets and tools"]
MM[MetaMask custom network · /snap/]
MCP[MCP PMM controller allowlist 138]
end
subgraph edge["Public edge"]
EXP[explorer.d-bis.org · blockscout.defi-oracle.io]
MC[Mission Control panels · /bridge · homepage]
INFO[info.defi-oracle.io]
DAPP[dapp.d-bis.org · atomic-swap.defi-oracle.io]
RPC[rpc-http-pub.d-bis.org]
end
subgraph api["APIs"]
TA[token-aggregation v1 v2 quote pools bridge routes]
DBIS[dbis-api Core runtime]
X402[x402-api readiness surface]
end
subgraph ops["Operator"]
REL[CCIP relay systemd · mainnet_cw bsc avax lanes]
SCR[smom-dbis-138 forge scripts]
end
users --> edge
EXP --> MC
edge --> api
MC --> api
api --> C138[Chain 138 RPC]
ops --> C138
</div></div>
<p class="panel-desc">Live Mission Control UI: <a href="/bridge">bridge monitoring</a>, <a href="/operations">operations hub</a>, homepage Mission Control card. This page stays the static topology reference.</p>
</div>
<!-- 7 Integrations -->
<div class="content" id="panel-7" role="tabpanel" aria-labelledby="tab-7" hidden>
<p class="panel-desc">
Contract families vs wallet/client integrations.
<strong>Wormhole</strong> appears in the <a href="/protocols">official protocol registry</a> as integration scaffold / docs scope — not a live Chain 138 liquidity rail unless listed as production on <a href="/protocols/wormhole">protocol detail</a>.
</p>
<div class="mermaid-wrap"><div class="mermaid">
flowchart LR
subgraph chain138_tech["Chain 138 contract families"]
A[Besu EVM]
B[ERC-20 core registries]
C[DODO V2 V3 Stack A]
D[UniV3 Bal Curve 1inch pilots]
E[CCIP bridges router]
F[Alltra Vault ISO channels]
end
subgraph public_integrations["Wallet and client integrations"]
L[Ledger]
CL[Chainlist]
TW[thirdweb RPC]
ETH[ethers.js]
MM[MetaMask Snaps /snap/]
end
chain138_tech --> public_integrations
</div></div>
</div>
<!-- 8 Mission Control -->
<div class="content" id="panel-8" role="tabpanel" aria-labelledby="tab-8" hidden>
<p class="panel-desc">Mission Control: SSE health, bridge traces, liquidity proxy, and operator APIs. Interactive controls live in the explorer SPA; this tab lists entry points.</p>
<div class="mermaid-wrap">
<h3>Mission Control visual flow</h3>
<div class="mermaid">
flowchart LR
UI[Explorer SPA Mission Control panels]
SSE[SSE stream]
TRACE[Bridge trace]
LIQ[Liquidity proxy]
T4[Track 4 script API]
API[Explorer Go API]
UP[Blockscout and token-aggregation upstreams]
UI --> SSE
UI --> TRACE
UI --> LIQ
UI -.->|operator-only| T4
SSE --> API
TRACE --> API
LIQ --> API
T4 --> API
TRACE --> UP
LIQ --> UP
</div>
</div>
<div class="mermaid-wrap">
<h3>Explorer operational surfaces</h3>
<div class="link-grid">
<a class="link-card" href="/operations"><div class="link-card-title">Operations hub</div><div class="link-card-desc">Consolidated monitoring, routes, and topology shortcuts.</div></a>
<a class="link-card" href="/bridge"><div class="link-card-title">Bridge monitoring</div><div class="link-card-desc">Relay fleet, CCIP lane health, bridge trace card, SSE.</div></a>
<a class="link-card" href="/routes"><div class="link-card-title">Routes</div><div class="link-card-desc">Live route matrix and execution paths.</div></a>
<a class="link-card" href="/liquidity"><div class="link-card-title">Liquidity</div><div class="link-card-desc">PMM access, planner capabilities, pool inventory.</div></a>
<a class="link-card" href="/pools"><div class="link-card-title">Pools</div><div class="link-card-desc">Mission-control pool inventory snapshot.</div></a>
<a class="link-card" href="/protocols"><div class="link-card-title">Protocols</div><div class="link-card-desc">Official DODO, Uni, CCIP, Multicall3 registry.</div></a>
<a class="link-card" href="/weth"><div class="link-card-title">WETH utilities</div><div class="link-card-desc">Wrapped-asset references and bridge context.</div></a>
<a class="link-card" href="/analytics"><div class="link-card-title">Analytics</div><div class="link-card-desc">Track 3 blocks, transactions, activity summaries.</div></a>
<a class="link-card" href="/system"><div class="link-card-title">System</div><div class="link-card-desc">Networks, RPC capabilities, topology inventory.</div></a>
<a class="link-card" href="/operator"><div class="link-card-title">Operator</div><div class="link-card-desc">Track 4 relay, route, and planner shortcuts.</div></a>
<a class="link-card" href="/access"><div class="link-card-title">Access</div><div class="link-card-desc">Wallet-authenticated Track 3/4 features.</div></a>
<a class="link-card" href="/docs"><div class="link-card-title">Documentation</div><div class="link-card-desc">GRU, posture glossary, transaction review, APIs.</div></a>
<a class="link-card" href="/snap/"><div class="link-card-title">MetaMask Snap</div><div class="link-card-desc">Snap install path on this explorer domain.</div></a>
</div>
</div>
<div class="mermaid-wrap">
<h3>Public JSON APIs</h3>
<div class="link-grid">
<a class="link-card" href="/explorer-api/v1/mission-control/stream" target="_blank" rel="noopener noreferrer"><div class="link-card-title">SSE stream</div><div class="link-card-desc"><code>GET /explorer-api/v1/mission-control/stream</code></div></a>
<a class="link-card" href="/explorer-api/v1/track1/bridge/status" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Bridge status JSON</div><div class="link-card-desc"><code>GET /explorer-api/v1/track1/bridge/status</code></div></a>
<a class="link-card" href="/explorer-api/v1/mission-control/bridge/trace?tx=0x2f31d4f9a97be754b800f4af1a9eedf3b107d353bfa1a19e81417497a76c05c2" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Bridge trace example</div><div class="link-card-desc"><code>GET …/mission-control/bridge/trace</code></div></a>
<a class="link-card" href="/explorer-api/v1/mission-control/liquidity/token/0x93E66202A11B1772E55407B32B44e5Cd8eda7f22/pools" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Liquidity pools (cUSDT)</div><div class="link-card-desc"><code>GET …/liquidity/token/{address}/pools</code></div></a>
<a class="link-card" href="/token-aggregation/api/v1/routes/matrix?includeNonLive=true" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Route matrix</div><div class="link-card-desc">Token-aggregation live and planned routes.</div></a>
<a class="link-card" href="/api/v1/report/external-indexer-readiness?chainId=138" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Indexer readiness</div><div class="link-card-desc">External indexer readiness report (chain 138).</div></a>
<a class="link-card" href="/token-aggregation/api/v1/report/official-protocols" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Official protocols JSON</div><div class="link-card-desc">Production guardrails and contract list.</div></a>
<a class="link-card" href="/api/v2/stats" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Blockscout stats</div><div class="link-card-desc">Chain head, gas, indexer summary.</div></a>
<a class="link-card" href="/api/config/networks" target="_blank" rel="noopener noreferrer"><div class="link-card-title">Wallet networks</div><div class="link-card-desc">Published chain metadata for onboarding.</div></a>
<a class="link-card" href="/explorer-api/v1/walletconnect/config" target="_blank" rel="noopener noreferrer"><div class="link-card-title">WalletConnect config</div><div class="link-card-desc">WalletConnect v2 posture.</div></a>
</div>
<p class="panel-desc" style="margin-top:1rem;">
<strong>Track 4 script API:</strong>
<code>POST /explorer-api/v1/track4/operator/run-script</code>
wallet auth, IP allowlist, and backend allowlist required.
</p>
</div>
</div>
<footer>
Source: <code>explorer-monorepo/docs/CHAIN138_VISUAL_TOPOLOGY_SOURCE.md</code> ·
Live addresses: <a href="/protocols">/protocols</a>,
<a href="/token-aggregation/api/v1/report/official-protocols">official-protocols JSON</a> ·
Meta: <a href="/chain138-command-center.meta.json">bundle metadata</a> ·
Alias: <a href="/topology">/topology</a>
</footer>
<script>
(function () {
mermaid.initialize({
startOnLoad: false,
theme: 'dark',
securityLevel: 'loose',
flowchart: { curve: 'basis', padding: 12 },
sequence: { actorMargin: 24, boxMargin: 8 }
});
var TAB_SLUGS = ['master', 'network', 'stack', 'flows', 'cross-chain', 'public-cw', 'off-chain', 'integrations', 'mission-control'];
var TAB_BY_NAME = {};
TAB_SLUGS.forEach(function (s, i) { TAB_BY_NAME[s] = i; });
var tabs = document.querySelectorAll('.tab');
var panels = document.querySelectorAll('.content[role="tabpanel"]');
var tablist = document.querySelector('[role="tablist"]');
var done = {};
fetch('/chain138-command-center.meta.json', { credentials: 'same-origin' })
.then(function (r) { return r.ok ? r.json() : null; })
.then(function (meta) {
var el = document.getElementById('meta-version');
if (!el || !meta) return;
var parts = [meta.bundleVersion];
if (meta.routeMatrixUpdated) parts.push('routes ' + meta.routeMatrixUpdated);
el.textContent = parts.join(' · ');
})
.catch(function () {});
function parseInitialTab() {
var q = new URLSearchParams(window.location.search).get('tab');
if (q == null || q === '') return 0;
var n = parseInt(q, 10);
if (!isNaN(n) && n >= 0 && n < tabs.length) return n;
var key = String(q).toLowerCase().trim().replace(/\s+/g, '-');
if (Object.prototype.hasOwnProperty.call(TAB_BY_NAME, key)) return TAB_BY_NAME[key];
return 0;
}
function ensureMermaid() {
if (window.mermaid && typeof window.mermaid.run === 'function') {
return Promise.resolve(window.mermaid);
}
return new Promise(function (resolve, reject) {
var script = document.createElement('script');
script.src = 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js';
script.async = true;
script.onload = function () {
if (window.mermaid && typeof window.mermaid.run === 'function') resolve(window.mermaid);
else reject(new Error('Mermaid fallback loaded without runtime'));
};
script.onerror = function () {
reject(new Error('Mermaid fallback failed to load'));
};
document.head.appendChild(script);
});
}
function syncUrl(index) {
var slug = TAB_SLUGS[index] != null ? TAB_SLUGS[index] : String(index);
try {
var u = new URL(window.location.href);
u.searchParams.set('tab', slug);
history.replaceState(null, '', u.pathname + u.search + u.hash);
} catch (e) { /* file:// */ }
}
function setActive(index) {
if (index < 0) index = 0;
if (index >= tabs.length) index = tabs.length - 1;
tabs.forEach(function (t, i) {
var on = i === index;
t.classList.toggle('active', on);
t.setAttribute('aria-selected', on ? 'true' : 'false');
t.setAttribute('tabindex', on ? '0' : '-1');
});
panels.forEach(function (p, i) {
var on = i === index;
p.classList.toggle('active', on);
if (on) p.removeAttribute('hidden');
else p.setAttribute('hidden', '');
});
}
async function renderPanel(index) {
var panel = document.getElementById('panel-' + index);
if (!panel || done[index]) return;
done[index] = true;
var nodes = panel.querySelectorAll('.mermaid');
if (nodes.length) {
try {
await ensureMermaid();
await mermaid.run({ nodes: nodes });
var status = document.getElementById('mermaid-status');
if (status) status.textContent = 'Diagram assets loaded. Use the main explorer for live operational data.';
} catch (e) {
console.error('Mermaid render failed for panel', index, e);
var statusError = document.getElementById('mermaid-status');
if (statusError) statusError.textContent = 'Diagram rendering failed. Open /operations or /bridge for live surfaces.';
}
}
}
async function showTab(index, opts) {
opts = opts || {};
setActive(index);
await renderPanel(index);
if (!opts.skipUrl) syncUrl(index);
}
tabs.forEach(function (tab) {
tab.addEventListener('click', function () {
var i = parseInt(tab.getAttribute('data-tab'), 10);
showTab(i);
});
});
if (tablist) {
tablist.addEventListener('keydown', function (e) {
var cur = -1;
tabs.forEach(function (t, idx) {
if (t.getAttribute('aria-selected') === 'true') cur = idx;
});
if (cur < 0) return;
var next = cur;
if (e.key === 'ArrowRight') {
e.preventDefault();
next = (cur + 1) % tabs.length;
} else if (e.key === 'ArrowLeft') {
e.preventDefault();
next = (cur - 1 + tabs.length) % tabs.length;
} else if (e.key === 'Home') {
e.preventDefault();
next = 0;
} else if (e.key === 'End') {
e.preventDefault();
next = tabs.length - 1;
} else {
return;
}
showTab(next).then(function () {
tabs[next].focus();
});
});
}
async function boot() {
var initial = parseInitialTab();
await showTab(initial, { skipUrl: true });
try {
var u = new URL(window.location.href);
if (u.searchParams.has('tab')) syncUrl(initial);
} catch (e2) { /* ignore */ }
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', boot);
} else {
boot();
}
})();
</script>
</body>
</html>