[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation":3,"\u002Fbuild\u002Fbridging-user":260,"\u002Fbuild\u002Fbridging-user-surround":771},[4,22,105,148,177,186,243],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Agents","\u002Fagents","agents",[9,13,17],{"title":10,"path":11,"stem":12},"LLMs.txt","\u002Fagents\u002Fllms-txt","agents\u002Fllms-txt",{"title":14,"path":15,"stem":16},"MCP Server","\u002Fagents\u002Fmcp-server","agents\u002Fmcp-server",{"title":18,"path":19,"stem":20},"Skills","\u002Fagents\u002Fskills","agents\u002Fskills",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Api Reference","\u002Fapi-reference","api-reference",[27,31,35,68],{"title":28,"path":29,"stem":30},"Authentication","\u002Fapi-reference\u002Fauthentication","api-reference\u002Fauthentication",{"title":32,"path":33,"stem":34},"API Reference","\u002Fapi-reference\u002Fintroduction","api-reference\u002Fintroduction",{"title":36,"path":37,"stem":38,"children":39,"page":21},"Orchestration","\u002Fapi-reference\u002Forchestration","api-reference\u002Forchestration",[40,44,48,52,56,60,64],{"title":41,"path":42,"stem":43},"POST \u002Fcancel-order","\u002Fapi-reference\u002Forchestration\u002Fcancel-order","api-reference\u002Forchestration\u002Fcancel-order",{"title":45,"path":46,"stem":47},"GET \u002Forder-status\u002F{orderId}","\u002Fapi-reference\u002Forchestration\u002Forder-status","api-reference\u002Forchestration\u002Forder-status",{"title":49,"path":50,"stem":51},"GET \u002Forders","\u002Fapi-reference\u002Forchestration\u002Forders","api-reference\u002Forchestration\u002Forders",{"title":53,"path":54,"stem":55},"Orchestration API","\u002Fapi-reference\u002Forchestration\u002Foverview","api-reference\u002Forchestration\u002Foverview",{"title":57,"path":58,"stem":59},"POST \u002Fquote","\u002Fapi-reference\u002Forchestration\u002Fquote","api-reference\u002Forchestration\u002Fquote",{"title":61,"path":62,"stem":63},"GET \u002Fsupported-assets","\u002Fapi-reference\u002Forchestration\u002Fsupported-assets","api-reference\u002Forchestration\u002Fsupported-assets",{"title":65,"path":66,"stem":67},"TypeScript Type Generation","\u002Fapi-reference\u002Forchestration\u002Ftype-generation","api-reference\u002Forchestration\u002Ftype-generation",{"title":69,"path":70,"stem":71,"children":72,"page":21},"Recipes","\u002Fapi-reference\u002Frecipes","api-reference\u002Frecipes",[73,77,81,85,89,93,97,101],{"title":74,"path":75,"stem":76},"Collateral Composition","\u002Fapi-reference\u002Frecipes\u002Fcollateral-composition","api-reference\u002Frecipes\u002Fcollateral-composition",{"title":78,"path":79,"stem":80},"Daily Yields","\u002Fapi-reference\u002Frecipes\u002Fdaily-yields","api-reference\u002Frecipes\u002Fdaily-yields",{"title":82,"path":83,"stem":84},"Earner Rate History","\u002Fapi-reference\u002Frecipes\u002Fearner-rate-history","api-reference\u002Frecipes\u002Fearner-rate-history",{"title":86,"path":87,"stem":88},"Minter Daily Expenses","\u002Fapi-reference\u002Frecipes\u002Fminter-daily-expenses","api-reference\u002Frecipes\u002Fminter-daily-expenses",{"title":90,"path":91,"stem":92},"Network Supply","\u002Fapi-reference\u002Frecipes\u002Fnetwork-supply","api-reference\u002Frecipes\u002Fnetwork-supply",{"title":94,"path":95,"stem":96},"Protocol Configuration","\u002Fapi-reference\u002Frecipes\u002Fprotocol-config","api-reference\u002Frecipes\u002Fprotocol-config",{"title":98,"path":99,"stem":100},"Token Holders","\u002Fapi-reference\u002Frecipes\u002Ftoken-holders","api-reference\u002Frecipes\u002Ftoken-holders",{"title":102,"path":103,"stem":104},"Token Overview","\u002Fapi-reference\u002Frecipes\u002Ftoken-overview","api-reference\u002Frecipes\u002Ftoken-overview",{"title":106,"path":107,"stem":108,"children":109,"page":21},"Build","\u002Fbuild","build",[110,114,118,122,126,130,134,138,142,145],{"title":111,"path":112,"stem":113},"Integrating with the M0 Portals","\u002Fbuild\u002Fbridging-developer","build\u002Fbridging-developer",{"title":115,"path":116,"stem":117},"Bridging M And wM Tokens","\u002Fbuild\u002Fbridging-user","build\u002Fbridging-user",{"title":119,"path":120,"stem":121},"Stablecoin Extension Templates","\u002Fbuild\u002Fchoosing-your-model","build\u002Fchoosing-your-model",{"title":123,"path":124,"stem":125},"How to Design Your Stablecoin","\u002Fbuild\u002Foverview","build\u002Foverview",{"title":127,"path":128,"stem":129},"Implementation Guide: NoYield","\u002Fbuild\u002Fsvm-noyield-guide","build\u002Fsvm-noyield-guide",{"title":131,"path":132,"stem":133},"Getting started","\u002Fbuild\u002Fsvm-noyield-guide-overview","build\u002Fsvm-noyield-guide-overview",{"title":135,"path":136,"stem":137},"Implementation Guide: MYieldToOne (Onshore)","\u002Fbuild\u002Ftreasury-guide","build\u002Ftreasury-guide",{"title":139,"path":140,"stem":141},"Implementation Guide: JMI (Offshore)","\u002Fbuild\u002Ftreasury-jmi-guide","build\u002Ftreasury-jmi-guide",{"title":131,"path":143,"stem":144},"\u002Fbuild\u002Ftreasury-jmi-overview","build\u002Ftreasury-jmi-overview",{"title":131,"path":146,"stem":147},"\u002Fbuild\u002Ftreasury-model","build\u002Ftreasury-model",{"title":149,"path":150,"stem":151,"children":152,"page":21},"Get Started","\u002Fget-started","get-started",[153,157,161,165,169,173],{"title":154,"path":155,"stem":156},"Accessing Liquidity","\u002Fget-started\u002Faccessing-liquidity","get-started\u002Faccessing-liquidity",{"title":158,"path":159,"stem":160},"Cross Chain Interoperability","\u002Fget-started\u002Fcross-chain","get-started\u002Fcross-chain",{"title":162,"path":163,"stem":164},"Architecture Overview","\u002Fget-started\u002Fhow-it-works","get-started\u002Fhow-it-works",{"title":166,"path":167,"stem":168},"Overview","\u002Fget-started\u002Foverview","get-started\u002Foverview",{"title":170,"path":171,"stem":172},"Platform Mechanics & Reward Programmability","\u002Fget-started\u002Fprotocol-mechanics","get-started\u002Fprotocol-mechanics",{"title":174,"path":175,"stem":176},"Stablecoin Features","\u002Fget-started\u002Fstablecoin-features","get-started\u002Fstablecoin-features",{"title":178,"path":179,"stem":180,"children":181,"page":21},"Issuers","\u002Fissuers","issuers",[182],{"title":183,"path":184,"stem":185},"Issue Your Stablecoin","\u002Fissuers\u002Foverview","issuers\u002Foverview",{"title":187,"path":188,"stem":189,"children":190,"page":21},"Protocol","\u002Fprotocol","protocol",[191,195,199,203,207,211,215,219,223,227,231,235,239],{"title":192,"path":193,"stem":194},"Distribution Vault","\u002Fprotocol\u002Fdistribution-vault","protocol\u002Fdistribution-vault",{"title":196,"path":197,"stem":198},"M0 Extensions","\u002Fprotocol\u002Fextensions","protocol\u002Fextensions",{"title":200,"path":201,"stem":202},"Limit Order Protocol","\u002Fprotocol\u002Flimit-order-protocol","protocol\u002Flimit-order-protocol",{"title":204,"path":205,"stem":206},"M0 Portals","\u002Fprotocol\u002Fm-portals","protocol\u002Fm-portals",{"title":208,"path":209,"stem":210},"M Token","\u002Fprotocol\u002Fm-token","protocol\u002Fm-token",{"title":212,"path":213,"stem":214},"M Token Specification","\u002Fprotocol\u002Fm-token-spec","protocol\u002Fm-token-spec",{"title":216,"path":217,"stem":218},"Minting & Burning (MinterGateway)","\u002Fprotocol\u002Fminting-burning","protocol\u002Fminting-burning",{"title":220,"path":221,"stem":222},"Portal V2","\u002Fprotocol\u002Fportal-v2","protocol\u002Fportal-v2",{"title":224,"path":225,"stem":226},"Rate Models & Yield","\u002Fprotocol\u002Frate-models","protocol\u002Frate-models",{"title":228,"path":229,"stem":230},"Roles","\u002Fprotocol\u002Froles","protocol\u002Froles",{"title":232,"path":233,"stem":234},"M0 On Solana","\u002Fprotocol\u002Fsolana","protocol\u002Fsolana",{"title":236,"path":237,"stem":238},"Wrapped M (wM)","\u002Fprotocol\u002Fwrapped-m","protocol\u002Fwrapped-m",{"title":240,"path":241,"stem":242},"Wrapped M Specification","\u002Fprotocol\u002Fwrapped-m-spec","protocol\u002Fwrapped-m-spec",{"title":244,"path":245,"stem":246,"children":247,"page":21},"Resources","\u002Fresources","resources",[248,252,256],{"title":249,"path":250,"stem":251},"Deployments","\u002Fresources\u002Faddresses","resources\u002Faddresses",{"title":253,"path":254,"stem":255},"Audits","\u002Fresources\u002Faudits","resources\u002Faudits",{"title":257,"path":258,"stem":259},"Glossary","\u002Fresources\u002Fglossary","resources\u002Fglossary",{"id":261,"title":115,"body":262,"description":764,"extension":765,"links":766,"meta":767,"navigation":768,"path":116,"seo":769,"stem":117,"__hash__":770},"docs\u002Fbuild\u002Fbridging-user.md",{"type":263,"value":264,"toc":746},"minimark",[265,281,288,293,306,311,316,322,375,379,384,425,437,441,585,591,601,612,622,631,639,643,646],[266,267,268,269,273,274,276,277,280],"p",{},"This guide explains how to manually bridge ",[270,271,272],"code",{},"$M"," and wrapped ",[270,275,272],{}," (",[270,278,279],{},"w$M",") tokens between Ethereum (the \"Hub\") and connected networks (the \"Spokes\") using a block explorer.",[266,282,283,287],{},[284,285,286],"strong",{},"Important:"," The bridging system uses two different portal contracts depending on the destination chain. Always use the correct Portal address for your transaction.",[266,289,290],{},[284,291,292],{},"Prerequisites:",[294,295,296,300,303],"ul",{},[297,298,299],"li",{},"A Web3 wallet (e.g., MetaMask).",[297,301,302],{},"Your wallet must be funded with the token you wish to bridge.",[297,304,305],{},"Your wallet must have the native currency of the source chain for gas fees (e.g., ETH on Ethereum).",[307,308,310],"h2",{"id":309},"addresses-chain-ids","Addresses & Chain IDs",[312,313,315],"h3",{"id":314},"portal-contract-addresses","Portal Contract Addresses",[266,317,318],{},[319,320,321],"em",{},"Which portal to use based on your destination chain",[323,324,325,341],"table",{},[326,327,328],"thead",{},[329,330,331,335,338],"tr",{},[332,333,334],"th",{},"Portal Type",[332,336,337],{},"Supported Chains",[332,339,340],{},"Contract Address",[342,343,344,360],"tbody",{},[329,345,346,352,355],{},[347,348,349],"td",{},[284,350,351],{},"Portal (NTT\u002FWormhole)",[347,353,354],{},"Arbitrum, Optimism",[347,356,357],{},[270,358,359],{},"0xD925C84b55E4e44a53749fF5F2a5A13F63D128fd",[329,361,362,367,370],{},[347,363,364],{},[284,365,366],{},"Portal Lite (Hyperlane)",[347,368,369],{},"Plume, HyperEVM, Linea, Mantra",[347,371,372],{},[270,373,374],{},"0x36f586A30502AE3afb555b8aA4dCc05d233c2ecE",[312,376,378],{"id":377},"token-addresses","Token Addresses",[266,380,381],{},[319,382,383],{},"Same addresses across all supported chains",[323,385,386,396],{},[326,387,388],{},[329,389,390,393],{},[332,391,392],{},"Token",[332,394,395],{},"Address",[342,397,398,412],{},[329,399,400,407],{},[347,401,402],{},[284,403,404,406],{},[270,405,272],{}," Token",[347,408,409],{},[270,410,411],{},"0x866A2BF4E572CbcF37D5071A7a58503Bfb36be1b",[329,413,414,420],{},[347,415,416],{},[284,417,418,406],{},[270,419,279],{},[347,421,422],{},[270,423,424],{},"0x437cc33344a0B27A429f795ff6B469C72698B291",[426,427,428],"note",{},[266,429,430,431,433,434,436],{},"Note on Amounts: ",[270,432,272],{}," and ",[270,435,279],{}," tokens use 6 decimal places. When entering an amount in a contract, add 6 zeros. To transfer 10 tokens, enter 10000000.",[312,438,440],{"id":439},"chain-ids","Chain IDs",[323,442,443,459],{},[326,444,445],{},[329,446,447,450,453,456],{},[332,448,449],{},"Chain",[332,451,452],{},"EVM Chain ID",[332,454,455],{},"Wormhole Chain ID",[332,457,458],{},"Hyperlane",[342,460,461,481,500,519,537,553,569],{},[329,462,463,468,473,478],{},[347,464,465],{},[284,466,467],{},"Ethereum",[347,469,470],{},[270,471,472],{},"1",[347,474,475],{},[270,476,477],{},"2",[347,479,480],{},"-",[329,482,483,488,493,498],{},[347,484,485],{},[284,486,487],{},"Arbitrum One",[347,489,490],{},[270,491,492],{},"42161",[347,494,495],{},[270,496,497],{},"23",[347,499,480],{},[329,501,502,507,512,517],{},[347,503,504],{},[284,505,506],{},"Optimism",[347,508,509],{},[270,510,511],{},"10",[347,513,514],{},[270,515,516],{},"24",[347,518,480],{},[329,520,521,526,531,534],{},[347,522,523],{},[284,524,525],{},"Plume",[347,527,528],{},[270,529,530],{},"98866",[347,532,533],{},"--",[347,535,536],{},"Yes",[329,538,539,544,549,551],{},[347,540,541],{},[284,542,543],{},"HyperEVM",[347,545,546],{},[270,547,548],{},"999",[347,550,533],{},[347,552,536],{},[329,554,555,560,565,567],{},[347,556,557],{},[284,558,559],{},"Mantra",[347,561,562],{},[270,563,564],{},"5888",[347,566,533],{},[347,568,536],{},[329,570,571,576,581,583],{},[347,572,573],{},[284,574,575],{},"Linea",[347,577,578],{},[270,579,580],{},"59144",[347,582,533],{},[347,584,536],{},[307,586,588],{"id":587},"part-1-hub-to-spoke-bridging-from-ethereum",[284,589,590],{},"Part 1: Hub to Spoke (Bridging from Ethereum)",[266,592,593,594,433,597,600],{},"The process always involves two transactions: ",[270,595,596],{},"approve",[270,598,599],{},"transferMLikeToken",".",[312,602,604,605,608,609,611],{"id":603},"a-bridging-to-arbitrum-or-optimism-via-m0-portal","A. Bridging to ",[270,606,607],{},"Arbitrum"," or ",[270,610,506],{}," (via M0 Portal)",[266,613,614,615,617,618,608,620,600],{},"This uses the ",[284,616,351],{},". The steps are the same for bridging either ",[270,619,279],{},[270,621,272],{},[312,623,625,626,608,628,630],{"id":624},"b-bridging-to-plume-or-hyperevm-via-m0-portal-lite","B. Bridging to ",[270,627,525],{},[270,629,543],{}," (via M0 Portal Lite)",[266,632,614,633,617,635,608,637,600],{},[284,634,366],{},[270,636,279],{},[270,638,272],{},[307,640,642],{"id":641},"part-2-spoke-to-hub-bridging-to-ethereum","Part 2: Spoke to Hub (Bridging to Ethereum)",[266,644,645],{},"This is the reverse process. You will perform the transactions on the source chain's block explorer (e.g., Arbiscan, Plume Explorer).",[294,647,648,703],{},[297,649,650,657,658],{},[284,651,652,653,608,655],{},"From ",[270,654,607],{},[270,656,506],{},":\n",[659,660,661,681],"ol",{},[297,662,663,666,667,608,669,671,672,674,675,678,679,600],{},[284,664,665],{},"Approve",": On Arbiscan\u002FOptimistic Etherscan, go to the ",[270,668,272],{},[270,670,279],{}," token and ",[270,673,596],{}," the ",[284,676,677],{},"Portal (NTT)"," address: ",[270,680,359],{},[297,682,683,686,687,690,691,695,696,699,700,702],{},[284,684,685],{},"Transfer",": Go to the Portal contract (",[270,688,689],{},"0xD92...28fd",") and call ",[284,692,693],{},[270,694,599],{},". Use a ",[270,697,698],{},"destinationChainId"," of ",[270,701,477],{}," (Wormhole ID for Ethereum).",[297,704,705,657,711],{},[284,706,652,707,608,709],{},[270,708,525],{},[270,710,543],{},[659,712,713,729],{},[297,714,715,717,718,608,720,671,722,674,724,678,727,600],{},[284,716,665],{},": On the source explorer, go to the ",[270,719,272],{},[270,721,279],{},[270,723,596],{},[284,725,726],{},"Portal Lite",[270,728,374],{},[297,730,731,733,734,690,737,695,741,699,743,745],{},[284,732,685],{},": Go to the Portal Lite contract (",[270,735,736],{},"0x36f...2ecE",[284,738,739],{},[270,740,599],{},[270,742,698],{},[270,744,472],{}," (EVM ID for Ethereum).",{"title":747,"searchDepth":748,"depth":749,"links":750},"",1,2,[751,757,763],{"id":309,"depth":749,"text":310,"children":752},[753,755,756],{"id":314,"depth":754,"text":315},3,{"id":377,"depth":754,"text":378},{"id":439,"depth":754,"text":440},{"id":587,"depth":749,"text":590,"children":758},[759,761],{"id":603,"depth":754,"text":760},"A. Bridging to Arbitrum or Optimism (via M0 Portal)",{"id":624,"depth":754,"text":762},"B. Bridging to Plume or HyperEVM (via M0 Portal Lite)",{"id":641,"depth":749,"text":642},"How to manually bridge M and wrapped M (wM) tokens between Ethereum and connected networks using a block explorer.","md",null,{},true,{"title":115,"description":764},"0nlhcThat1szHdhLOGvwK-5-gNGXfxQ68LtQ_WAXQAc",[772,774],{"title":111,"path":112,"stem":113,"description":773,"children":-1},"Technical details and step-by-step workflows for developers integrating with the M0 stablecoin bridging infrastructure.",{"title":119,"path":120,"stem":121,"description":775,"children":-1},"Compare M0's stablecoin extension models to find the right monetization strategy and deployment chain for your use case."]