{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-pages/bridge/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Wormhole","siteUrl":"https://docs.xrplevm.org/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]},"description":"Wormhole on the XRPL EVM Sidechain: how Guardians, VAAs and the Executor connect XRPL EVM to 40+ chains for cross-chain messaging and transfers."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"wormhole","__idx":0},"children":["Wormhole"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://wormhole.com/"},"children":["Wormhole"]}," is a decentralized interoperability platform that connects the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["XRPL EVM Sidechain"]}," with more than 40 blockchain networks, including Ethereum, Solana, Base, Arbitrum, and the wider EVM ecosystem. Wormhole is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["live on XRPL EVM"]},", giving EVM developers cross-chain messaging, token transfers, and multichain token issuance out of the box."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Because the XRPL EVM is a fully EVM-compatible chain, every Wormhole EVM integration path (Solidity contracts, the TypeScript SDK, and the Connect widget) works on XRPL EVM the same way it does on any other EVM network."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-wormhole-works","__idx":1},"children":["How Wormhole Works"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Guardians"]},": A network of 19 independent validators observes messages emitted by the Wormhole ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Core Contract"]}," on each connected chain. When at least 13 of 19 Guardians sign an observation, it becomes a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["VAA"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["VAAs (Verifiable Action Approvals)"]},": The signed attestation of an observed message. A VAA is a portable cryptographic proof that can be verified by the Core Contract on any destination chain."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Executor"]},": Wormhole's shared execution framework for message delivery. Integrators request a delivery quote off-chain, publish their message, and request execution on-chain; independent relay providers then compete to deliver the VAA to the destination chain. Unless you are building a low-level integration, the Wormhole SDK manages quoting and execution for you."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["WormholeScan"]},": The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://wormholescan.io"},"children":["Wormhole explorer"]}," for tracking cross-chain messages, VAAs, and Guardian activity. Testnet transactions are available at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://wormholescan.io/#/tx/<txHash>?network=Testnet"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Read more in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://wormhole.com/docs/protocol/architecture/"},"children":["Wormhole architecture documentation"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"xrpl-evm-on-wormhole","__idx":2},"children":["XRPL EVM on Wormhole"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Property"},"children":["Property"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wormhole chain ID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["57"]}," (both Mainnet and Testnet)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SDK chain name"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["XRPLEVM"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EVM chain ID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1440000"]}," (Mainnet) / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1449000"]}," (Testnet)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Wormhole chain IDs are not EVM chain IDs"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wormhole assigns its own chain IDs to every connected network. When calling Wormhole contracts or the SDK, use the Wormhole chain ID ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["57"]}," for XRPL EVM, not the EVM chain ID (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1440000"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1449000"]},") you use in MetaMask or JSON-RPC calls. See the full ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://wormhole.com/docs/products/reference/chain-ids/"},"children":["Wormhole chain ID reference"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"supported-products","__idx":3},"children":["Supported Products"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Product"},"children":["Product"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Mainnet"},"children":["Mainnet"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Testnet"},"children":["Testnet"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Use it for"},"children":["Use it for"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/send-messages"},"children":["Messaging (Core Contract)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Arbitrary cross-chain messages between smart contracts"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/transfer-tokens"},"children":["Wrapped Token Transfers (WTT)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Bridging existing ERC-20 tokens (lock-and-mint)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/native-token-transfers"},"children":["Native Token Transfers (NTT)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Multichain-native tokens without wrapped assets"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/connect-widget"},"children":["Connect widget"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Drop-in bridging UI for your dApp"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://wormhole.com/docs/products/queries/overview/"},"children":["Queries"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Guardian-attested on-chain data reads (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eth_call"]},")"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"xrp-ledger-xrpl-support","__idx":4},"children":["XRP Ledger (XRPL) Support"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wormhole has ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://wormhole.com/blog/ripple-expands-multichain-interoperability-infrastructure-with-wormhole"},"children":["announced integration with the XRP Ledger mainnet"]}," (Wormhole chain ID ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["66"]},"), covering XRP, Issued Assets (IOUs), and Multi-Purpose Tokens (MPTs). As of this writing, the XRPL (non-EVM) route is still rolling out and is not yet covered by the Wormhole product documentation. For live transfers between XRPL and XRPL EVM today, use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/bridge/interchain-transfer"},"children":["Axelar bridge"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reference-and-guides","__idx":5},"children":["Reference and Guides"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reference material in this section:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/bridge/wormhole/deployed-contracts"},"children":["Deployed Contracts"]},": Wormhole contract addresses on XRPL EVM Mainnet and Testnet."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/bridge/wormhole/supported-tokens"},"children":["Supported Tokens"]},": the tokens live on each network today (XRP, RLUSD, USDC.e, WETH)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Hands-on guides in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/introduction"},"children":["Developers section"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/send-messages"},"children":["Send Cross-Chain Messages"]},": Publish and receive messages from Solidity with the Core Contract."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/transfer-tokens"},"children":["Transfer Tokens"]},": Bridge ERC-20 tokens with the TypeScript SDK or Portal Bridge."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/native-token-transfers"},"children":["Native Token Transfers"]},": Deploy a multichain-native token with the NTT framework."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pages/developers/interacting-with-evm/advanced-guides/cross-chain-transactions/wormhole/connect-widget"},"children":["Connect Widget"]},": Embed a bridging UI in your React app."]}]}]},"headings":[{"value":"Wormhole","id":"wormhole","depth":1},{"value":"How Wormhole Works","id":"how-wormhole-works","depth":2},{"value":"XRPL EVM on Wormhole","id":"xrpl-evm-on-wormhole","depth":2},{"value":"Supported Products","id":"supported-products","depth":3},{"value":"XRP Ledger (XRPL) Support","id":"xrp-ledger-xrpl-support","depth":3},{"value":"Reference and Guides","id":"reference-and-guides","depth":2}],"frontmatter":{"seo":{"description":"Wormhole on the XRPL EVM Sidechain: how Guardians, VAAs and the Executor connect XRPL EVM to 40+ chains for cross-chain messaging and transfers.","title":"Wormhole"}},"editPage":{"to":"https://github.com/ripple/docs.xrplevm.org/tree/main/pages/bridge/wormhole/index.md"},"lastModified":"2026-08-26T09:12:17.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/pages/bridge/wormhole","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}