Page cover

Why Use This Library?

1. Save Development Time

Skip hundreds of lines of repetitive boilerplate and wallet-specific conditionals. Use a single, clean interface to interact with any supported wallet on any supported chain.

⚠️ Before:

if (window.ethereum?.isMetaMask) {
  await window.ethereum.request({ method: 'wallet_addEthereumChain', params: [...] });
  await window.ethereum.request({ method: 'wallet_switchEthereumChain', params: [...] });
} else if (window.coinbaseWalletExtension) {
  // Handle Coinbase logic here
}

After:

import { connectWallet } from 'multichain-wallet-connector';
const { provider, account } = await connectWallet({ chainId: 137 });

2. Future-Proof Your dApp

As new EVM chains and wallets emerge, you don’t need to refactor or add new logic. Just specify the chainId—the library handles the rest. Updates to EIPs or wallet standards are handled behind the scenes.

3. Reduce User Friction

  • Auto-Add Chains: Users aren’t left with vague errors like “Unrecognized Chain.”

  • Smart Fallbacks: Gracefully handles unsupported operations and suggests workarounds.

  • Optimized UX: Auto gas estimation and error reporting reduce failed transactions and improve reliability.

Last updated