Developer Guides

Bridging M And wM Tokens

How to manually bridge M and wrapped M (wM) tokens between Ethereum and connected networks using a block explorer.

This guide explains how to manually bridge $M and wrapped $M (w$M) tokens between Ethereum (the "Hub") and connected networks (the "Spokes") using a block explorer.

Important: The bridging system uses two different portal contracts depending on the destination chain. Always use the correct Portal address for your transaction.

Prerequisites:

  • A Web3 wallet (e.g., MetaMask).
  • Your wallet must be funded with the token you wish to bridge.
  • Your wallet must have the native currency of the source chain for gas fees (e.g., ETH on Ethereum).

Addresses & Chain IDs

Portal Contract Addresses

Which portal to use based on your destination chain

Portal TypeSupported ChainsContract Address
Portal (NTT/Wormhole)Arbitrum, Optimism0xD925C84b55E4e44a53749fF5F2a5A13F63D128fd
Portal Lite (Hyperlane)Plume, HyperEVM, Linea, Mantra0x36f586A30502AE3afb555b8aA4dCc05d233c2ecE

Token Addresses

Same addresses across all supported chains

TokenAddress
$M Token0x866A2BF4E572CbcF37D5071A7a58503Bfb36be1b
w$M Token0x437cc33344a0B27A429f795ff6B469C72698B291
Note on Amounts: $M and w$M tokens use 6 decimal places. When entering an amount in a contract, add 6 zeros. To transfer 10 tokens, enter 10000000.

Chain IDs

ChainEVM Chain IDWormhole Chain IDHyperlane
Ethereum12-
Arbitrum One4216123-
Optimism1024-
Plume98866--Yes
HyperEVM999--Yes
Mantra5888--Yes
Linea59144--Yes

Part 1: Hub to Spoke (Bridging from Ethereum)

The process always involves two transactions: approve and transferMLikeToken.

A. Bridging to Arbitrum or Optimism (via M0 Portal)

This uses the Portal (NTT/Wormhole). The steps are the same for bridging either w$M or $M.

B. Bridging to Plume or HyperEVM (via M0 Portal Lite)

This uses the Portal Lite (Hyperlane). The steps are the same for bridging either w$M or $M.

Part 2: Spoke to Hub (Bridging to Ethereum)

This is the reverse process. You will perform the transactions on the source chain's block explorer (e.g., Arbiscan, Plume Explorer).

  • From Arbitrum or Optimism:
    1. Approve: On Arbiscan/Optimistic Etherscan, go to the $M or w$M token and approve the Portal (NTT) address: 0xD925C84b55E4e44a53749fF5F2a5A13F63D128fd.
    2. Transfer: Go to the Portal contract (0xD92...28fd) and call transferMLikeToken. Use a destinationChainId of 2 (Wormhole ID for Ethereum).
  • From Plume or HyperEVM:
    1. Approve: On the source explorer, go to the $M or w$M token and approve the Portal Lite address: 0x36f586A30502AE3afb555b8aA4dCc05d233c2ecE.
    2. Transfer: Go to the Portal Lite contract (0x36f...2ecE) and call transferMLikeToken. Use a destinationChainId of 1 (EVM ID for Ethereum).
Copyright © M0 Foundation 2026