Skip to content

feat: add Metric propAMM (mainnet)#432

Merged
keone merged 2 commits into
mainfrom
metric/add-metric-propamm
Jul 14, 2026
Merged

feat: add Metric propAMM (mainnet)#432
keone merged 2 commits into
mainfrom
metric/add-metric-propamm

Conversation

@dak-agent

@dak-agent dak-agent Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Metric (metric.xyz)

Adds mainnet/metric.jsonc for Metric, a proprietary AMM (propAMM) DEX built around an oracle-anchored active pool standard — each pool continuously reprices to the asset's real market price rather than sitting on a static curve. Live on Monad mainnet and integrated by KyberSwap, 0x, Odos, OpenOcean, Monorail and other aggregators.

  • Category: DeFi::DEX
  • Links: project, twitter

Core contracts

Label Address
Factory 0xe22F9fc0f04486dE25ed6CF1800a4a47aFD82e0C
PoolDeployer 0x0f732971a3503afee276782173170D1F1154d4c1
Router 0xaF9ADa6b6eC7993CE146f6c0bF98f7211CDfD3e5
Lens 0xe6b102a2aea65b9b59e4F8B86B38E221886675A8

Pools

The requested MON/USDC, BTC/USDC and WETH/USDC pools. Metric deploys multiple pool instances per pair; listed here is the currently-funded/active instance for each (the others hold no liquidity). Quote token is USDC (0x754704bc059f8c67012fed69bc8a327a5aafb603).

Pair Pool ~USDC reserve
MON/USDC 0xFA32f9ec28787d1F9C5BA5c39e54e59984FEF3f0 ~108k
WBTC/USDC 0x2D82AC42334b394A9a8d8f097d61DC1c6B065Fd8 ~56k
WETH/USDC 0x354D92279cA0190fF275095fE6A2a6989BAa66Fb ~27k

Note on the BTC pool: on Monad, Metric's BTC/USDC pool trades WBTC (0x0555e30da8f98308edb960aa94c0db47230d2b9c), not cbBTC — there is no cbBTC pool on Metric/Monad. Labeled accordingly.

How these addresses were sourced

Metric's public API only exposes Ethereum + Base (not Monad), and the KyberSwap dex-lib discovers Metric pools dynamically via that API rather than hardcoding addresses. So these were derived on-chain:

  • Core contracts were deployed on Monad mainnet on 2026-03-27 by Metric's deployer (0xa9e4513754c3a86e752009d273f0c9eaee6a12a3, the same EOA that deployed Metric's Base factory) via CreateX (0xba5Ed0…). Roles inferred from bytecode: Factory (Ownable, creates/configures pools, drives the PoolDeployer); PoolDeployer (its factory() returns the Factory); Router (wraps/unwraps native MON via WMON); Lens (reads pool storage via extsload).
  • Pools were read from the Factory's PoolCreated events (topic 0xe1c304ac…); the active instance per pair was chosen by on-chain USDC reserve.

⚠️ Metric team: these contracts are currently unverified on Monad, so the automated verification check will flag them as "Not verified", and the labels above are best-effort inferences. Please confirm the canonical name→address mapping (and verify the sources on the explorer when you can) — happy to adjust.

cc @keone

Co-authored-by: Keone Hon <323982+keone@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

Contract Verification Results

Changed Files

  • mainnet/metric.jsonc

Verification Output


Verifying 1 protocol file(s)...

  ✓ Metric (4 addresses)

================================================================================
                         CONTRACT VERIFICATION RESULTS                          
================================================================================

✗ Metric (metric.jsonc)
  └─ ✗ Factory: 0xe22F9fc0f04486dE25ed6CF1800a4a47aFD82e0C [Not verified]
  └─ ✗ PoolDeployer: 0x0f732971a3503afee276782173170D1F1154d4c1 [Not verified]
  └─ ✗ Router: 0xaF9ADa6b6eC7993CE146f6c0bF98f7211CDfD3e5 [Not verified]
  └─ ✗ Lens: 0xe6b102a2aea65b9b59e4F8B86B38E221886675A8 [Not verified]

================================================================================
                                    SUMMARY                                     
================================================================================
  Files Processed:     1
  Addresses Checked:   4
  ✓ Verified:          0
  ✗ Not Verified:      4
================================================================================


Workflow run: Verify PR Contracts

Co-authored-by: Keone Hon <323982+keone@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

Contract Verification Results

Changed Files

  • mainnet/metric.jsonc

Verification Output


Verifying 1 protocol file(s)...

  ✓ Metric (7 addresses)

================================================================================
                         CONTRACT VERIFICATION RESULTS                          
================================================================================

✗ Metric (metric.jsonc)
  └─ ✗ Factory: 0xe22F9fc0f04486dE25ed6CF1800a4a47aFD82e0C [Not verified]
  └─ ✗ PoolDeployer: 0x0f732971a3503afee276782173170D1F1154d4c1 [Not verified]
  └─ ✗ Router: 0xaF9ADa6b6eC7993CE146f6c0bF98f7211CDfD3e5 [Not verified]
  └─ ✗ Lens: 0xe6b102a2aea65b9b59e4F8B86B38E221886675A8 [Not verified]
  └─ ✗ Pool-MON/USDC: 0xFA32f9ec28787d1F9C5BA5c39e54e59984FEF3f0 [Not verified]
  └─ ✗ Pool-WBTC/USDC: 0x2D82AC42334b394A9a8d8f097d61DC1c6B065Fd8 [Not verified]
  └─ ✗ Pool-WETH/USDC: 0x354D92279cA0190fF275095fE6A2a6989BAa66Fb [Not verified]

================================================================================
                                    SUMMARY                                     
================================================================================
  Files Processed:     1
  Addresses Checked:   7
  ✓ Verified:          0
  ✗ Not Verified:      7
================================================================================


Workflow run: Verify PR Contracts

@keone
keone merged commit 80a1349 into main Jul 14, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant