Skip to main content

About the Multichain API

Experimental

The Multichain API is an experimental feature.

The Multichain API is a scalable, generalized web3 wallet API that supports simultaneous interactions across multiple blockchain networks and ecosystems. When integrated with MetaMask Snaps, it enables developers to interact with both popular and emerging networks. Key benefits include:

  • Elimination of chain switching - The Multichain API allows dapps to interact with multiple EVM networks without having to request chain switches. This feature significantly reduces development overhead involved with error handling.

  • Extensibility - The Multichain API can be integrated with interoperability Snaps, providing a standards-based interface to non-EVM networks that can be broadly adopted across ecosystems.

  • Seamless multichain UX - The Multichain API offers improvements over EIP-1193 and wallet-standard interfaces. It allows dapps to create unified multichain wallet connection flows, trigger transactions across disparate networks, and clearly interpret chain-specific addresses.

Get started using the Multichain API.

Technical overview

The Multichain API follows the CAIP-25 standard for dapps to interface with multichain wallets. See MIP-5 and MIP-6 for detailed information about MetaMask's Multichain API implementation.

The API includes methods for dapps to manage multichain connections:

The API also includes events that wallets can send to dapps:

  • wallet_notify - Notifies dapps of onchain events or state changes they previously subscribed to.
  • wallet_sessionChanged - Notifies dapps of changes to the multichain connection.

See the Multichain API reference for full details.

Lifecycle diagram

The following sequence diagram illustrates the multichain connection lifecycle.

Backwards compatibility

When using the Multichain API, your dapp can still interact with the existing Ethereum provider API. However, the provider API is not optimized for multichain usage, and we recommend starting directly with the Multichain API. The Multichain API is backwards compatible mainly to support dapps that use third-party libraries with dependencies on the legacy provider.

Get started

Get started with the Multichain API: