Goal
Create a Uniswap pool on Ethereum L1 for NODL (0x6dd0E17ec6fE56c5f58a0Fe2Bb813B9b5cc25990), with the security of the pool and of the token economy verified first.
Context (verified on-chain, 2026-08-10)
- Bridge is burn-and-mint, no escrow (
~/nodle/rollup): L1 supply ≈ 546.5M, L2 (zkSync Era) supply ≈ 6.9B, both 18 decimals, standard ERC20 semantics (no fee-on-transfer/rebase).
- The parachain is stopped: the zkSync ERC20 (
0xBD4372e44c5eE654dd838304006E1f0f69983154) is the sole canonical token; the NODLMigration oracle bridge is permanently decommissioned (MINTER_ROLE revoked).
- Current minters — L1: old L1Bridge. L2: old L2Bridge, Rewards contract (
0xe629...3d36, quota-limited oracle emissions), and the zkSync Safe itself (0x5e09...86C9).
- The zkSync Bridgehub cutover is pending (legacy Mailbox deprecation, ~mid-Sep 2026). It redeploys both bridges and rotates MINTER_ROLEs — runbook:
ops/bridgehub-migration-cutover.md.
Dependency — owned by another team (not this task)
The Bridgehub cutover (bridge redeploys + MINTER_ROLE rotation, Safe audit, supply-finality statement) is handled by another team. This task does not track that work, but the pool launch is still gated on it:
Phase 1 — Create the pool securely
Phase 2 — Operate securely
Broader token-economy hardening (Safe mint-role revocation, emission policy, oracle key, supply-invariant monitoring, LP disclosure) is tracked separately in #129.
Done when
Goal
Create a Uniswap pool on Ethereum L1 for NODL (
0x6dd0E17ec6fE56c5f58a0Fe2Bb813B9b5cc25990), with the security of the pool and of the token economy verified first.Context (verified on-chain, 2026-08-10)
~/nodle/rollup): L1 supply ≈ 546.5M, L2 (zkSync Era) supply ≈ 6.9B, both 18 decimals, standard ERC20 semantics (no fee-on-transfer/rebase).0xBD4372e44c5eE654dd838304006E1f0f69983154) is the sole canonical token; the NODLMigration oracle bridge is permanently decommissioned (MINTER_ROLE revoked).0xe629...3d36, quota-limited oracle emissions), and the zkSync Safe itself (0x5e09...86C9).ops/bridgehub-migration-cutover.md.Dependency — owned by another team (not this task)
The Bridgehub cutover (bridge redeploys + MINTER_ROLE rotation, Safe audit, supply-finality statement) is handled by another team. This task does not track that work, but the pool launch is still gated on it:
Phase 1 — Create the pool securely
0x6dd0...5990) on the website, docs, and as an additional chain on CoinGecko/CoinMarketCap; request an Etherscan token label. This is the defense against fake-NODL pools.createAndInitializePoolIfNecessary+mintvia multicall), submitted through a private RPC (e.g. Flashbots Protect) so the empty/mispriced pool is never publicly visible in the mempool.Phase 2 — Operate securely
Pausedevents on either bridge (a paused bridge removes the arbitrage path — expect decoupling and know it's happening).Broader token-economy hardening (Safe mint-role revocation, emission policy, oracle key, supply-invariant monitoring, LP disclosure) is tracked separately in #129.
Done when