**Status**: ✅ **BIDIRECTIONAL BRIDGE CONFIGURED** (`bridge_live`). ⚠️ **Same-chain swap inventory not production-published** per canonical [`config/allmainnet-non-dodo-protocol-surface.json`](../../../config/allmainnet-non-dodo-protocol-surface.json): `status` is `bridge_live_swap_inventory_pending` and `summary.sameChainSwapInventoryPublished` is **`false`** until committed verified pools are promoted (do not claim routable DEX liquidity from this doc alone).
**Last Updated**: 2026-04-28
---
## Single source of truth (read this first)
| Topic | Canonical location |
|--------|-------------------|
| **CCIP / LiFi flags, inbound list, `isCCIPSupported` / `isLiFiSupported`** | [`alltra-lifi-settlement/src/config/chains.ts`](../../../alltra-lifi-settlement/src/config/chains.ts) — `ALL_MAINNET` must keep `ccipSupported: false` and `lifiSupported: false` until Chainlink / LiFi list 651940. |
| **Routing when LiFi/CCIP are off** | **Alltra custom bridge only** for 138↔651940: `AlltraAdapter` + `AlltraCustomBridge` (table below). **LiFi** routes use `isLiFiSupported(chainId)` — false for 651940, so LiFi quotes must not target ALL Mainnet. **CCIP** routes use `isCCIPSupported(chainId)` — false for 651940. **Generic inbound** includes 651940 via `isSupportedInboundChain` for non–LiFi / non–CCIP settlement (Alltra / internal). |
| **Canonical ALL Mainnet protocol surface (651940)** | **[proxmox root]** [`config/allmainnet-non-dodo-protocol-surface.json`](../../../config/allmainnet-non-dodo-protocol-surface.json) — source of truth for `status`, `sameChainSwapInventoryPublished`, token/protocol rows, and `nextTasks`. Submodule copies must track this file; **config wins** over this markdown if they disagree. |
| **CI / validation (proxmox repo root)** | [`scripts/verify/check-allmainnet-protocol-surface.sh`](../../../scripts/verify/check-allmainnet-protocol-surface.sh) — JSON shape + `sameChainSwapInventoryPublished` vs `status` consistency. [`scripts/verify/check-allmainnet-chains-flags.sh`](../../../scripts/verify/check-allmainnet-chains-flags.sh) — `ALL_MAINNET` in [`alltra-lifi-settlement/src/config/chains.ts`](../../../alltra-lifi-settlement/src/config/chains.ts) keeps `ccipSupported`/`lifiSupported` false for 651940. [`scripts/verify/check-allmainnet-gate-surface-alignment.sh`](../../../scripts/verify/check-allmainnet-gate-surface-alignment.sh) aliases the protocol-surface check. Invoked from [`scripts/validation/validate-config-files.sh`](../../../scripts/validation/validate-config-files.sh) / [`scripts/verify/run-all-validation.sh`](../../../scripts/verify/run-all-validation.sh) step 2. |
| **Registry / machine checks** | **proxmox repo root:**`config/routing-registry.json`, `config/aggregator-route-matrix.csv`, `config/allmainnet-non-dodo-protocol-surface.json`, [`config/all-mainnet-pool-creation-matrix.json`](../../../config/all-mainnet-pool-creation-matrix.json). *(No `all-mainnet-production-gate.json` in repo root today — do not reference a missing file as canonical.)* |
| **This document** | Human narrative, verification history, and operator checklist — **not** a second copy of `chains.ts`; if they disagree, **fix `chains.ts` and regen checks**, then update this file. |
**Same-chain surface:** documented tokens and protocol scaffolding live in [`config/allmainnet-non-dodo-protocol-surface.json`](../../../config/allmainnet-non-dodo-protocol-surface.json). As of **`updated`: 2026-04-28**, the file explicitly sets **`sameChainSwapInventoryPublished`: `false`** and **`status`: `bridge_live_swap_inventory_pending`** — meaning the **AlltraAdapter bridge is live**, but **routable same-chain DEX inventory is not asserted complete**. Follow `documentedTokens`, `protocols[]`, `gaps`, and `nextTasks` there for remaining pool/factory work; **`config/all-mainnet-pool-creation-matrix.json`** tracks pool lifecycle separately.
**Verification (from proxmox repo root):** run repo config validation (includes ALL Mainnet pool matrix when present) and review the canonical surface JSON:
**Related docs:** [ALL_MAINNET_VERIFICATION_COMPLETE.md](ALL_MAINNET_VERIFICATION_COMPLETE.md); ecosystem routing narrative [docs/11-references/DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS.md](../../../docs/11-references/DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS.md). *(Earlier pointers to `ALL_MAINNET_PRODUCTION_GATE.md`, `ALL_MAINNET_OPERATOR_ACTIONS.md`, or a fixed-path evidence bundle were removed — those paths are not present in this workspace.)*
**Do not duplicate** the snippet below in app code; **import** from [`alltra-lifi-settlement/src/config/chains.ts`](../../../alltra-lifi-settlement/src/config/chains.ts).
3. ✅ **VERIFY CCIP SUPPORT** - not supported as of 2026-01-26
4. ✅ **VERIFY LIFI SUPPORT** - not supported as of 2026-01-26
5. ✅ **VERIFY USDC DEPLOYMENT** - AUSDC verified on ALL Mainnet
6. ✅ Update routing services based on verification results
7. ✅ Update telemetry/metrics labels
8. ✅ Deploy and configure adapter transports on Chain 138 and 651940
9. ✅ Publish bidirectional bridge routes for WETH, cUSDT/AUSDT, and cUSDC/AUSDC
10. ⬜ **Promote same-chain swap inventory** — set `summary.sameChainSwapInventoryPublished` to **`true`** in [`config/allmainnet-non-dodo-protocol-surface.json`](../../../config/allmainnet-non-dodo-protocol-surface.json) only after factory/router/pool addresses are verified and aligned with [`config/all-mainnet-pool-creation-matrix.json`](../../../config/all-mainnet-pool-creation-matrix.json); until then status remains `bridge_live_swap_inventory_pending`.
- [ ] Same-chain ALL DEX pool inventory **published** in canonical surface JSON (`sameChainSwapInventoryPublished: true`) — **pending** as of 2026-04-28; bridge-only posture documented in JSON.
- ✅ Chain 138 ↔ ALL Mainnet bridge support is configured and machine-verifiable
- **Same-chain:** do **not** treat surface JSON as full swap readiness until `sameChainSwapInventoryPublished` is **`true`**; follow `nextTasks` / pool matrix promotion; bridge-only flows remain valid.