Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
0b79037
SDK new structure PoC
alexandratran Sep 23, 2025
44a6248
edits
alexandratran Sep 24, 2025
f234baf
remove custom reference component
alexandratran Sep 24, 2025
f331654
edits
alexandratran Sep 25, 2025
e2f4b8b
Merge branch 'main' into sdk-new-structure
alexandratran Sep 30, 2025
ef20ee1
fix links, update redirects, "metamask wallet sdk"
alexandratran Sep 30, 2025
39b9b16
Merge branch 'main' into sdk-new-structure
alexandratran Oct 16, 2025
905d9a8
add simplified api reference with two examples
alexandratran Oct 18, 2025
549887c
missing files
alexandratran Oct 18, 2025
1b97b2c
Merge branch 'main' into sdk-new-structure
alexandratran Oct 20, 2025
bb103fb
remove starknet docs
alexandratran Oct 21, 2025
8216d8b
copy over solana docs
alexandratran Oct 21, 2025
34aed2c
Merge branch 'main' into sdk-new-structure
alexandratran Oct 22, 2025
d64e8a4
Merge branch 'main' into sdk-new-structure
alexandratran Oct 23, 2025
e02092a
Update terminology and restructure EVM docs
alexandratran Oct 23, 2025
956c09a
fix broken links
alexandratran Oct 23, 2025
86d2dfc
Merge branch 'main' into sdk-new-structure
alexandratran Nov 4, 2025
f70f940
fix broken links
alexandratran Nov 4, 2025
e1e0008
Add/update Solana Wallet Adapter docs (#2443)
alexandratran Nov 7, 2025
37a4d06
Merge branch 'main' into sdk-new-structure
alexandratran Nov 10, 2025
30d0439
Update mobile products menu
alexandratran Nov 10, 2025
3db005f
Update MM Connect EVM JS code samples with potential new usage (#2454)
alexandratran Nov 12, 2025
d122361
Merge branch 'main' into sdk-new-structure
alexandratran Nov 13, 2025
360383d
Remove ParserOpenRPC component and replace usage in Linea services
alexandratran Nov 14, 2025
98476fe
Merge branch 'main' into sdk-new-structure
alexandratran Nov 18, 2025
c04fb6d
fix broken link
alexandratran Nov 18, 2025
b034e01
Add more multichain info (#2479)
alexandratran Nov 18, 2025
77bb9a9
Merge branch 'main' into sdk-new-structure
alexandratran Nov 27, 2025
b4716d6
Enhance JS section {WIP} (#2450)
shahbaz17 Nov 27, 2025
2a6e4ab
Add view & wagmi options
shahbaz17 Nov 27, 2025
6cf2880
Merge branch 'main' into sdk-new-structure
alexandratran Nov 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add more multichain info (#2479)
* Add more multichain info

* minor edits
  • Loading branch information
alexandratran authored Nov 18, 2025
commit b034e010b195ee4e5d85170002dcf47e2d22721e
2 changes: 1 addition & 1 deletion sdk/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ We recommend using services like [MetaMask Developer](https://developer.metamask

<p align="center">

![SDK architecture](_assets/architecture.png)
![MM Connect architecture](_assets/architecture.png)

</p>
2 changes: 1 addition & 1 deletion sdk/evm/connect/guides/connectkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords: [connect, MetaMask, JavaScript, ConnectKit, SDK, dapp, Wallet SDK]
# Connect to MetaMask using JavaScript + ConnectKit

Get started with MM Connect in a JavaScript and ConnectKit dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up the SDK](#set-up-manually) in an existing dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up MM Connect](#set-up-manually) in an existing dapp.

<p align="center">
<a href="https://metamask-connectkit-demo.vercel.app/" target="_blank">
Expand Down
2 changes: 1 addition & 1 deletion sdk/evm/connect/guides/dynamic.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ keywords: [connect, MetaMask, Dynamic, SDK, dapp, Wallet SDK]

Get started with MM Connect and [Dynamic SDK](https://docs.dynamic.xyz/introduction/welcome).
You can use MM Connect features directly within Dynamic SDK.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up the SDKs](#set-up-manually) in an existing dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up MM Connects](#set-up-manually) in an existing dapp.

<p align="center">
<a href="https://metamask-dynamic-demo.vercel.app/" target="_blank">
Expand Down
10 changes: 5 additions & 5 deletions sdk/evm/connect/guides/javascript/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import TabItem from "@theme/TabItem";
# Connect to MetaMask using JavaScript

Get started with MM Connect in your JavaScript dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up the SDK](#set-up-manually) in an existing dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up MM Connect](#set-up-manually) in an existing dapp.

<p align="center">
<a href="https://metamask-javascript-demo.vercel.app/" target="_blank">
Expand Down Expand Up @@ -106,7 +106,7 @@ const evmClient = createEVMClient({
dappMetadata: {
name: "Example JavaScript dapp",
url: window.location.href,
// iconUrl: "https://mydapp.com/icon.png" // Optional
iconUrl: "https://mydapp.com/icon.png" // Optional
},
infuraAPIKey: process.env.INFURA_API_KEY,
})
Expand All @@ -123,7 +123,7 @@ const evmClient = createEVMClient({
dappMetadata: {
name: "Example JavaScript dapp",
url: window.location.href,
// iconUrl: "https://mydapp.com/icon.png" // Optional
iconUrl: "https://mydapp.com/icon.png" // Optional
},
infuraAPIKey: process.env.INFURA_API_KEY,
})
Expand All @@ -134,7 +134,7 @@ const evmClient = createEVMClient({
</TabItem>
</Tabs>

These examples configure the SDK with the following options:
These examples configure MM Connect with the following options:

- [`dappMetadata`](../../../../reference/options.md#dappmetadata) - Ensures trust by showing your dapp's `name`, `url`, and `iconUrl` during connection.
- [`infuraAPIKey`](../../../../reference/options.md#infuraapikey) - Enables read-only RPC and load‑balancing.
Expand All @@ -161,7 +161,7 @@ console.log("eth_accounts result:", result)

Use `provider.request()` for arbitrary [JSON-RPC requests](../../reference/json-rpc-api/index.md) like `eth_chainId` or `eth_getBalance`, or for [batching requests](batch-requests.md) via `metamask_batch`.

## Common SDK methods at a glance
## Common MM Connect methods at a glance

| Method | Description |
| --------------------------------------------------------------------------------- | -------------------------------------------------------- |
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/javascript/interact-with-contracts.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Interact with contracts with the SDK in your JavaScript dapp.
description: Interact with contracts with MM Connect in your JavaScript dapp.
keywords: [SDK, JavaScript, read, write, smart, contract, contracts, dapp]
sidebar_label: Interact with contracts
toc_max_heading_level: 2
Expand All @@ -8,7 +8,7 @@ toc_max_heading_level: 2
# Interact with smart contracts

Interact with smart contracts in your JavaScript dapp.
With the SDK, you can:
With MM Connect, you can:

- **Read data** from smart contracts.
- **Write data** to smart contracts.
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/javascript/manage-networks.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Manage networks with the SDK in your JavaScript dapp.
description: Manage networks with MM Connect in your JavaScript dapp.
keywords: [SDK, JavaScript, detect, switch, add, network, networks, dapp]
toc_max_heading_level: 2
---

# Manage networks

Manage networks in your JavaScript dapp.
With the SDK, you can:
With MM Connect, you can:

- **Detect the current network** and monitor network changes.
- **Switch between networks** programmatically.
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/javascript/manage-user-accounts.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Authenticate users with the SDK in your JavaScript dapp.
description: Authenticate users with MM Connect in your JavaScript dapp.
keywords: [SDK, JavaScript, authenticate, connect, sign, accounts, wallet, dapp]
toc_max_heading_level: 3
---

# Manage user accounts

Connect and manage user wallet sessions in your JavaScript dapp.
With the SDK, you can:
With MM Connect, you can:

- **Connect users' wallets** to your dapp.
- **Access user accounts** (addresses).
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/javascript/send-transactions/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Handle transactions with the SDK in your JavaScript dapp.
description: Handle transactions with MM Connect in your JavaScript dapp.
keywords: [SDK, JavaScript, send, transaction, transactions, status, estimate, gas, dapp]
toc_max_heading_level: 2
---

# Send transactions

Handle EVM transactions in your JavaScript dapp.
With the SDK, you can:
With MM Connect, you can:

- **Send transactions**.
- **Track transaction status** in real time.
Expand Down
2 changes: 1 addition & 1 deletion sdk/evm/connect/guides/rainbowkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords: [connect, MetaMask, JavaScript, RainbowKit, SDK, dapp, Wallet SDK]
# Connect to MetaMask using JavaScript + RainbowKit

Get started with MM Connect in a JavaScript and RainbowKit dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up the SDK](#set-up-manually) in an existing dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up MM Connect](#set-up-manually) in an existing dapp.

<p align="center">
<a href="https://metamask-rainbowkit-demo.vercel.app/" target="_blank">
Expand Down
6 changes: 3 additions & 3 deletions sdk/evm/connect/guides/react-native.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Quickstart guide for using the SDK with a React Native dapp.
description: Quickstart guide for using MM Connect with a React Native dapp.
sidebar_label: React Native
keywords: [connect, MetaMask, React, Native, SDK, dapp]
---
Expand Down Expand Up @@ -167,9 +167,9 @@ npx expo run:ios
</TabItem>
</Tabs>

### 6. Use the SDK
### 6. Use MM Connect

Initialize and use the SDK in your React Native or Expo project using the `useSDK` hook.
Initialize and use MM Connect in your React Native or Expo project using the `useSDK` hook.
For example:

```javascript
Expand Down
2 changes: 1 addition & 1 deletion sdk/evm/connect/guides/wagmi/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords: [connect, MetaMask, JavaScript, Wagmi, SDK, dapp, Wallet SDK]
# Connect to MetaMask using JavaScript + Wagmi

Get started with MM Connect in a JavaScript and Wagmi dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up the SDK](#set-up-manually) in an existing dapp.
You can [download the quickstart template](#set-up-using-a-template) or [manually set up MM Connect](#set-up-manually) in an existing dapp.

<p align="center">
<!-- a href="https://metamask-wagmi-demo.vercel.app/" target="_blank" -->
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/wagmi/interact-with-contracts.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Interact with contracts with the SDK in your Wagmi dapp.
description: Interact with contracts with MM Connect in your Wagmi dapp.
keywords: [SDK, Wagmi, JavaScript, batch, read, write, smart, contract, contracts, dapp]
sidebar_label: Interact with contracts
---

# Interact with smart contracts

Interact with smart contracts in your Wagmi dapp.
With the SDK, you can:
With MM Connect, you can:

- **Read data** from smart contracts.
- **Batch contract reads**.
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/wagmi/manage-networks.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Manage networks with the SDK in your Wagmi dapp.
description: Manage networks with MM Connect in your Wagmi dapp.
keywords: [SDK, Wagmi, JavaScript, detect, switch, add, network, networks, dapp]
toc_max_heading_level: 2
---

# Manage networks

Manage networks in your Wagmi dapp.
With the SDK, you can:
With MM Connect, you can:

- **Detect the current network** and monitor network changes.
- **Switch between networks** programmatically.
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/wagmi/manage-user-accounts.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Authenticate users with the SDK in your Wagmi dapp.
description: Authenticate users with MM Connect in your Wagmi dapp.
keywords: [SDK, Wagmi, JavaScript, authenticate, connect, sign, accounts, wallet, dapp]
toc_max_heading_level: 3
---

# Manage user accounts

Connect and manage user wallet sessions in your Wagmi dapp.
With the SDK, you can:
With MM Connect, you can:

- **Connect users' wallets** to your dapp.
- **Access user accounts** (addresses).
Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/wagmi/send-transactions.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Handle transactions with the SDK in your Wagmi dapp.
description: Handle transactions with MM Connect in your Wagmi dapp.
keywords: [SDK, Wagmi, JavaScript, send, transaction, transactions, status, estimate, gas, dapp]
toc_max_heading_level: 2
---

# Send transactions

Handle EVM transactions in your Wagmi dapp.
With the SDK, you can:
With MM Connect, you can:

- **Send transactions**.
- **Track transaction status** in real time.
Expand Down
15 changes: 7 additions & 8 deletions sdk/evm/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,36 @@ import CardList from '@site/src/components/CardList'

# Connect to EVM networks

## Supported platforms and libraries

Connect to EVM networks in MetaMask using MM Connect.
MM Connect is available in a variety of ways to make integration as easy as possible.
You can access it directly via npm, through popular developer libraries like Wagmi, or as part of popular convenience libraries.
You can access it directly via npm, through popular developer libraries like Wagmi, or as part of popular convenience libraries:

<CardList
items={[
{
href: '/sdk/evm/connect/guides/javascript',
title: 'JavaScript',
description: 'Set up the SDK in a JavaScript dapp.',
description: 'Set up MM Connect in a JavaScript dapp.',
},
{
href: '/sdk/evm/connect/guides/wagmi',
title: 'Wagmi',
description: 'Set up the SDK in a Next.js and Wagmi dapp.',
description: 'Set up MM Connect in a Next.js and Wagmi dapp.',
},
{
href: '/sdk/evm/connect/guides/rainbowkit',
title: 'RainbowKit',
description: 'Set up the SDK in a JavaScript and RainbowKit dapp.',
description: 'Set up MM Connect in a JavaScript and RainbowKit dapp.',
},
{
href: '/sdk/evm/connect/guides/connectkit',
title: 'ConnectKit',
description: 'Set up the SDK in a JavaScript and ConnectKit dapp.',
description: 'Set up MM Connect in a JavaScript and ConnectKit dapp.',
},
{
href: '/sdk/evm/connect/guides/react-native',
title: 'React Native',
description: 'Set up the SDK in a React Native or Expo dapp.',
description: 'Set up MM Connect in a React Native or Expo dapp.',
},
{
href: '/sdk/evm/connect/guides/dynamic',
Expand Down
4 changes: 2 additions & 2 deletions sdk/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import CardList from '@site/src/components/CardList'
# Seamlessly connect to the MetaMask wallet

MM Connect enables a fast, reliable, and seamless connection from your dapp to the MetaMask extension and MetaMask mobile app.
With the MM Connect, you can easily onboard users and interact with their accounts on desktop or mobile.
With MM Connect, you can easily onboard users and interact with their accounts on desktop or mobile.
Get started with the following networks and ecosystems:

<CardList
Expand Down Expand Up @@ -38,7 +38,7 @@ MM Connect gives your dapp a powerful upgrade:

- **Cross-platform, cross-browser support** - One integration covers both desktop and mobile, all major browsers, and the MetaMask mobile app—streamlining your user onboarding and eliminating edge cases.
- **Mobile connection that just works** - Say goodbye to clunky "open in in-app browser" flows.
The SDK enables a native connection from any mobile browser (Safari, Chrome, etc.) directly to the MetaMask mobile app, using secure deeplinking and session management.
MM Connect enables a native connection from any mobile browser (Safari, Chrome, etc.) directly to the MetaMask mobile app, using secure deeplinking and session management.
- **Production-ready, battle-tested** - MM Connect is used in high-volume dapps across DeFi, NFTs, gaming, and more—ensuring stability, speed, and a smooth developer experience.
- **Multichain by design** - Today, MM Connect supports all EVM networks and Solana.
Coming soon: Seamless connection to more ecosystems like Bitcoin and Tron.
Expand Down
66 changes: 65 additions & 1 deletion sdk/multichain/connect/guides/connect-to-multichain.md
Original file line number Diff line number Diff line change
@@ -1 +1,65 @@
# Connect to EVM and Solana
---
sidebar_label: Connect to EVM and Solana
---

# Connect to EVM and Solana in MetaMask

Get started with MM Connect in your multichain JavaScript dapp.
You can connect to EVM networks and Solana in MetaMask at the same time, and make requests to each network without having to switch between them.

## Prerequisites

- [Node.js](https://nodejs.org/) version 19 or later installed.
- A package manager installed, such as [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm), [Yarn](https://yarnpkg.com/), [pnpm](https://pnpm.io/installation), or [bun](https://bun.sh/).
- [MetaMask](https://metamask.io/) installed in your browser or on mobile.

## Steps

### 1. Install MM Connect

Install MM Connect in an existing JavaScript project:

```bash npm2yarn
npm install @metamask/connect/multichain
```

### 2. Initialize MM Connect

Initialize MM Connect with configuration options:

```javascript
import { createMultichainClient } from "@metamask/connect/multichain"

const multichainClient = createMultichainClient({
dappMetadata: {
name: "Example multichain dapp",
url: window.location.href,
iconUrl: "https://mydapp.com/icon.png" // Optional
},
infuraAPIKey: process.env.INFURA_API_KEY,
})
```

This example configures MM Connect with the following options:

- [`dappMetadata`](../../../reference/options.md#dappmetadata) - Ensures trust by showing your dapp's `name`, `url`, and `iconUrl` during connection.
- [`infuraAPIKey`](../../../reference/options.md#infuraapikey) - Enables read-only RPC and load‑balancing.
Set this option to your [Infura API key](/developer-tools/dashboard/get-started/create-api).

### 3. Connect and use provider

Connect to MetaMask and get the provider for RPC requests:

```javascript
const provider = multichainClient.getProvider()

await provider.request({
chain: 'eip155:1',
method: 'eth_sendTransaction',
params: [...]
});
```

## Next steps

Now that you've connected to multiple ecosystems in MetaMask, learn how to [send EVM and Solana transactions](send-transactions.md).
Loading
Loading