Can I use MetaMask with Sui?
November 2, 2026
Not natively. MetaMask has no built-in Sui network, and you can't add Sui as a custom RPC network, because Sui isn't an EVM chain. The way to use Sui from MetaMask is the Sui MetaMask Snap from Kuna Labs. It's an extension that runs inside MetaMask and gives you a separate Sui account. For everyday use, most people install a wallet built for Sui, such as Slush.
Why "Add network" doesn't work
MetaMask's custom-network feature expects an Ethereum-style JSON-RPC endpoint, secp256k1 keys, Keccak-derived 20-byte addresses and EVM transactions. Sui has none of these:
- Sui addresses are 32 bytes, derived with BLAKE2b from a signature-scheme flag and a public key.
- Sui transactions are BCS-encoded programmable transaction blocks, not RLP-encoded EVM transactions.
- Contracts are Move packages, not EVM bytecode.
Pasting a Sui RPC URL into MetaMask therefore can't work. See Is Sui EVM compatible? for the wider picture.
The Sui Snap
Snaps are sandboxed plugins that add features to MetaMask. The Sui Snap (kunalabs-io/sui-snap) asks MetaMask for Ed25519 key material under Sui's coin type, BIP-44 path m/44'/784', using the snap_getBip32Entropy permission. It then signs Sui transactions with that key using @mysten/sui.
What this means in practice:
- The Sui account comes from your MetaMask Secret Recovery Phrase, so it's backed up along with it. Your Ethereum address and your Sui address are still different accounts.
- You install the Snap from suisnap.com or from an app that has integrated it.
- The Snap is set up for the MetaMask browser extension. Third-party guides say it doesn't work in MetaMask Mobile, so plan on desktop.
Supporting the Snap in a dApp
Sui wallets usually announce themselves to apps through the Sui Wallet Standard, and dApp Kit lists them automatically. The Snap's README says MetaMask Snaps don't support the wallet standard, so your app has to register the Snap wallet itself:
npm install @kunalabs-io/sui-snap-walletimport { registerSuiSnapWallet } from '@kunalabs-io/sui-snap-wallet'
// Run once at startup, before rendering your wallet picker.
registerSuiSnapWallet()After that call, the Snap appears next to the other wallets in your connect dialog. See How do I connect a wallet in a React app on Sui? for the rest of the setup.
Can I import my MetaMask key into a Sui wallet?
Don't. Copying an Ethereum private key into a Sui wallet doesn't give you the same account. Sui computes addresses differently, so an imported secp256k1 key produces an unrelated Sui address, and copying keys between wallets only exposes them to more software. Create a Sui account in a Sui wallet or in the Snap instead. Which wallets support Sui? lists the options.
Gotchas
- Snap or wallet? The Snap is third-party code from Kuna Labs, not from MetaMask or Mysten Labs. Check the permissions MetaMask shows before you approve the install.
- Getting funds onto Sui. Assets on Ethereum don't show up on Sui automatically. Moving them requires a bridge; see How do I bridge assets to and from Sui?.
- Developers. For testing you don't need MetaMask at all. Use the Sui CLI or a Sui wallet on testnet, or try transactions in the playground.
Sources
- kunalabs-io/sui-snap on GitHub (README and
packages/snap/snap.manifest.json) - Sui Snap documentation
- Wallet Standard, Sui documentation
- Keys and addresses, Sui documentation