Bridging M And wM Tokens
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 Type | Supported Chains | Contract Address |
|---|---|---|
| Portal (NTT/Wormhole) | Arbitrum, Optimism | 0xD925C84b55E4e44a53749fF5F2a5A13F63D128fd |
| Portal Lite (Hyperlane) | Plume, HyperEVM, Linea, Mantra | 0x36f586A30502AE3afb555b8aA4dCc05d233c2ecE |
Token Addresses
Same addresses across all supported chains
| Token | Address |
|---|---|
$M Token | 0x866A2BF4E572CbcF37D5071A7a58503Bfb36be1b |
w$M Token | 0x437cc33344a0B27A429f795ff6B469C72698B291 |
$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
| Chain | EVM Chain ID | Wormhole Chain ID | Hyperlane |
|---|---|---|---|
| Ethereum | 1 | 2 | - |
| Arbitrum One | 42161 | 23 | - |
| Optimism | 10 | 24 | - |
| Plume | 98866 | -- | Yes |
| HyperEVM | 999 | -- | Yes |
| Mantra | 5888 | -- | Yes |
| Linea | 59144 | -- | 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
ArbitrumorOptimism:- Approve: On Arbiscan/Optimistic Etherscan, go to the
$Morw$Mtoken andapprovethe Portal (NTT) address:0xD925C84b55E4e44a53749fF5F2a5A13F63D128fd. - Transfer: Go to the Portal contract (
0xD92...28fd) and calltransferMLikeToken. Use adestinationChainIdof2(Wormhole ID for Ethereum).
- Approve: On Arbiscan/Optimistic Etherscan, go to the
- From
PlumeorHyperEVM:- Approve: On the source explorer, go to the
$Morw$Mtoken andapprovethe Portal Lite address:0x36f586A30502AE3afb555b8aA4dCc05d233c2ecE. - Transfer: Go to the Portal Lite contract (
0x36f...2ecE) and calltransferMLikeToken. Use adestinationChainIdof1(EVM ID for Ethereum).
- Approve: On the source explorer, go to the