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
fix links, update redirects, "metamask wallet sdk"
  • Loading branch information
alexandratran committed Sep 30, 2025
commit ef20ee10d538f66720d2f6ed00d90efceab75970
Original file line number Diff line number Diff line change
Expand Up @@ -168,4 +168,4 @@ const userOperationHash = await bundlerClient.sendUserOperation({

- To grant specific permissions to other accounts from your smart account, [create a delegation](../../guides/delegation/execute-on-smart-accounts-behalf.md).
- To quickly bootstrap a MetaMask Smart Accounts project, [use the CLI](../use-the-cli.md).
- You can also [use MetaMask SDK to upgrade a MetaMask account to a smart account](/tutorials/upgrade-eoa-to-smart-account).
- You can also [use MetaMask Wallet SDK to upgrade a MetaMask account to a smart account](/tutorials/upgrade-eoa-to-smart-account).
12 changes: 4 additions & 8 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -417,21 +417,17 @@ const config = {
title: 'Documentation',
items: [
{
label: 'SDK',
label: 'MetaMask Wallet SDK',
to: '/sdk',
},
{
label: 'Wallet API',
to: '/wallet',
label: 'Embedded Wallets',
to: '/embedded-wallets',
},
{
label: 'Delegation Toolkit',
to: '/delegation-toolkit',
},
{
label: 'Embedded Wallets',
to: '/embedded-wallets',
},
{
label: 'Snaps',
to: '/snaps',
Expand All @@ -458,7 +454,7 @@ const config = {
href: 'https://github.com/MetaMask/metamask-extension/',
},
{
label: 'MetaMask SDK GitHub',
label: 'MetaMask Wallet SDK GitHub',
href: 'https://github.com/MetaMask/metamask-sdk/',
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,4 +167,4 @@ const userOperationHash = await bundlerClient.sendUserOperation({

- To grant specific permissions to other accounts from your smart account, [create a delegation](../../guides/delegation/execute-on-smart-accounts-behalf.md).
- To quickly bootstrap a MetaMask Smart Accounts project, [use the CLI](../use-the-cli.md).
- You can also [use MetaMask SDK to upgrade a MetaMask account to a smart account](/tutorials/upgrade-eoa-to-smart-account).
- You can also [use MetaMask Wallet SDK to upgrade a MetaMask account to a smart account](/tutorials/upgrade-eoa-to-smart-account).
27 changes: 14 additions & 13 deletions sdk-sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const sdkSidebar = {
collapsible: false,
collapsed: false,
items: [
'reference/sdk-options',
'reference/options',
],
},
],
Expand Down Expand Up @@ -43,7 +43,7 @@ const sdkSidebar = {
collapsible: false,
collapsed: false,
items: [
'multichain/connect/reference/multichain-api',
'multichain/connect/reference/api',
],
},
],
Expand All @@ -55,9 +55,9 @@ const sdkSidebar = {
collapsible: false,
collapsed: false,
items: [
'evm/connect/get-started/javascript-wagmi',
'evm/connect/get-started/wagmi',
'evm/connect/get-started/javascript',
'evm/connect/get-started/javascript-rainbowkit',
'evm/connect/get-started/rainbowkit',
'evm/connect/get-started/react-native',
],
},
Expand All @@ -76,7 +76,7 @@ const sdkSidebar = {
collapsed: true,
link: { type: "doc", id: "evm/connect/guides/send-transactions/index" },
items: [
'evm/connect/guides/send-transactions/send-batch-transactions',
'evm/connect/guides/send-transactions/batch-transactions',
],
},
{
Expand All @@ -93,6 +93,7 @@ const sdkSidebar = {
'evm/connect/guides/interact-with-contracts',
'evm/connect/guides/use-deeplinks',
'evm/connect/guides/display-tokens',
'evm/connect/guides/connect-extension',
{
type: 'category',
label: 'Best practices',
Expand Down Expand Up @@ -140,14 +141,14 @@ const sdkSidebar = {
collapsible: false,
collapsed: false,
items: [
'evm/connect/reference/sdk-methods',
'evm/connect/reference/methods',
'evm/connect/reference/provider-api',
{
type: "category",
label: "JSON-RPC API",
collapsible: true,
collapsed: true,
link: { type: "doc", id: "evm/connect/reference/json-rpc-methods/index" },
link: { type: "doc", id: "evm/connect/reference/json-rpc-api/index" },
items: [],
},
],
Expand All @@ -165,10 +166,10 @@ const sdkSidebar = {
collapsed: false,
items: [
'starknet/guides/connect-to-starknet',
'starknet/guides/manage-starknet-accounts',
'starknet/guides/manage-starknet-networks',
'starknet/guides/send-starknet-transactions',
'starknet/guides/sign-starknet-data',
'starknet/guides/manage-user-accounts',
'starknet/guides/manage-networks',
'starknet/guides/send-transactions',
'starknet/guides/sign-data',
'starknet/guides/troubleshoot',
],
},
Expand All @@ -187,7 +188,7 @@ const sdkSidebar = {
collapsible: false,
collapsed: false,
items: [
'starknet/tutorials/create-a-simple-starknet-dapp',
'starknet/tutorials/create-simple-starknet-dapp',
],
},
{
Expand All @@ -196,7 +197,7 @@ const sdkSidebar = {
collapsible: false,
collapsed: false,
items: [
'starknet/reference/starknet-snap-api',
'starknet/reference/snap-api',
],
},
],
Expand Down
File renamed without changes
4 changes: 2 additions & 2 deletions sdk/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ With MetaMask Wallet SDK, you can connect your dapp to MetaMask in the following

The following table expands on the SDK's connection methods:

| Dapp location | User wallet location | Connection method | MetaMask SDK | Other SDKs |
| Dapp location | User wallet location | Connection method | MetaMask Wallet SDK | Other SDKs |
|---------------|-------------|------------------|--------------------------|--------------------------|
| Desktop web | Wallet browser extension | Automatic connection via browser extension | Supported | Supported |
| Desktop web | Wallet mobile app | QR code scan with wallet mobile app | Supported | Limited |
Expand All @@ -29,6 +29,6 @@ We recommend using services like [MetaMask Developer](https://developer.metamask

<p align="center">

![SDK architecture](_assets/web3-architecture.png)
![SDK architecture](_assets/architecture.png)

</p>
24 changes: 12 additions & 12 deletions sdk/evm/connect/get-started/javascript.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Quickstart guide for using the MetaMask SDK with a JavaScript dapp.
description: Quickstart guide for using MetaMask Wallet SDK with a JavaScript dapp.
sidebar_label: JavaScript
keywords: [connect, MetaMask, JavaScript, SDK, dapp, Wallet SDK]
---
Expand All @@ -9,7 +9,7 @@ import TabItem from "@theme/TabItem";

# Connect to MetaMask using JavaScript

Get started with MetaMask SDK in your JavaScript dapp.
Get started with MetaMask Wallet SDK 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.

<p align="center">
Expand All @@ -27,7 +27,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall

## Set up using a template

1. Download the [MetaMask SDK JavaScript template](https://github.com/MetaMask/metamask-sdk-examples/tree/main/quickstarts/javascript):
1. Download the [MetaMask Wallet SDK JavaScript template](https://github.com/MetaMask/metamask-sdk-examples/tree/main/quickstarts/javascript):

```bash
npx degit MetaMask/metamask-sdk-examples/quickstarts/javascript metamask-javascript
Expand All @@ -46,7 +46,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall
`degit` is a tool that enables cloning only the directory structure from a GitHub repository, without retrieving the entire repository.

Alternatively, you can use `git clone`, which will download the entire repository.
To do so, clone the MetaMask SDK examples repository and navigate into the `quickstarts/javascript` directory:
To do so, clone the MetaMask Wallet SDK examples repository and navigate into the `quickstarts/javascript` directory:

```bash
git clone https://github.com/MetaMask/metamask-sdk-examples
Expand Down Expand Up @@ -80,7 +80,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall
pnpm dev
```

You've successfully set up MetaMask SDK.
You've successfully set up MetaMask Wallet SDK.

## Set up manually

Expand Down Expand Up @@ -136,8 +136,8 @@ const MMSDK = new MetaMaskSDK({

These examples configure the SDK with the following options:

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

`MMSDK.connect()` handles cross-platform connection (desktop and mobile), including deeplinking.

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

## Common SDK methods at a glance

| Method | Description |
| --------------------------------------------------------------------------------- | -------------------------------------------------------- |
| [`connect()`](../reference/sdk-methods.md#connect) | Triggers wallet connection flow |
| [`connectAndSign({ msg: "..." })`](../reference/sdk-methods.md#connectandsign) | Connects and prompts user to sign a message |
| [`getProvider()`](../reference/sdk-methods.md#getprovider) | Returns the provider object for RPC requests |
| [`provider.request({ method, params })`](/wallet/reference/provider-api/#request) | Calls any Ethereum JSON‑RPC method |
| [`connect()`](../reference/methods.md#connect) | Triggers wallet connection flow |
| [`connectAndSign({ msg: "..." })`](../reference/methods.md#connectandsign) | Connects and prompts user to sign a message |
| [`getProvider()`](../reference/methods.md#getprovider) | Returns the provider object for RPC requests |
| [`provider.request({ method, params })`](../reference/provider-api.md#request) | Calls any Ethereum JSON‑RPC method |
| [Batched RPC](../guides/batch-requests.md) | Use `metamask_batch` to group multiple JSON-RPC requests |

## Usage example
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Quickstart guide for using the MetaMask SDK with a JavaScript and RainbowKit dapp.
description: Quickstart guide for using MetaMask Wallet SDK with a JavaScript and RainbowKit dapp.
toc_max_heading_level: 2
sidebar_label: JavaScript + RainbowKit
keywords: [connect, MetaMask, JavaScript, RainbowKit, SDK, dapp, Wallet SDK]
---

# Connect to MetaMask using JavaScript + RainbowKit

Get started with MetaMask SDK in a JavaScript and RainbowKit dapp.
Get started with MetaMask Wallet SDK 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.

<p align="center">
Expand All @@ -25,7 +25,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall

## Set up using a template

1. Download the [MetaMask SDK RainbowKit template](https://github.com/MetaMask/metamask-sdk-examples/tree/main/quickstarts/rainbowkit):
1. Download the [MetaMask Wallet SDK RainbowKit template](https://github.com/MetaMask/metamask-sdk-examples/tree/main/quickstarts/rainbowkit):

```bash
npx degit MetaMask/metamask-sdk-examples/quickstarts/rainbowkit metamask-rainbowkit
Expand All @@ -44,7 +44,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall
`degit` is a tool that enables cloning only the directory structure from a GitHub repository, without retrieving the entire repository.

Alternatively, you can use `git clone`, which will download the entire repository.
To do so, clone the MetaMask SDK examples repository and navigate into the `quickstarts/rainbowkit` directory:
To do so, clone the MetaMask Wallet SDK examples repository and navigate into the `quickstarts/rainbowkit` directory:

```bash
git clone https://github.com/MetaMask/metamask-sdk-examples
Expand Down Expand Up @@ -82,7 +82,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall

### 1. Install the SDK

Install MetaMask SDK along with its peer dependencies to an existing React project:
Install MetaMask Wallet SDK along with its peer dependencies to an existing React project:

```bash npm2yarn
npm install @rainbow-me/rainbowkit wagmi [email protected] @tanstack/react-query
Expand All @@ -108,7 +108,7 @@ In the following example, replace `<YOUR-PROJECT-ID>` with your WalletConnect pr

```jsx
const config = getDefaultConfig({
appName: "MetaMask SDK RainbowKit Quickstart",
appName: "MetaMask Wallet SDK RainbowKit Quickstart",
projectId: "<YOUR-PROJECT-ID>",
chains: [mainnet, linea, sepolia, lineaSepolia],
wallets: [
Expand Down
2 changes: 1 addition & 1 deletion sdk/evm/connect/get-started/react-native.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import TabItem from "@theme/TabItem";

# Connect to MetaMask using React Native

Get started with MetaMask SDK in your React Native or Expo dapp.
Get started with MetaMask Wallet SDK in your React Native or Expo dapp.

## Steps

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: Quickstart guide for using the MetaMask SDK with a JavaScript and Wagmi dapp.
description: Quickstart guide for using MetaMask Wallet SDK with a JavaScript and Wagmi dapp.
toc_max_heading_level: 2
sidebar_label: JavaScript + Wagmi (recommended)
keywords: [connect, MetaMask, JavaScript, Wagmi, SDK, dapp, Wallet SDK]
---

# Connect to MetaMask using JavaScript + Wagmi

Get started with MetaMask SDK in a JavaScript and Wagmi dapp.
Get started with MetaMask Wallet SDK 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.

<p align="center">
Expand All @@ -24,7 +24,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall

## Set up using a template

1. Download the [MetaMask SDK Wagmi template](https://github.com/MetaMask/metamask-sdk-examples/tree/main/quickstarts/wagmi):
1. Download the [MetaMask Wallet SDK Wagmi template](https://github.com/MetaMask/metamask-sdk-examples/tree/main/quickstarts/wagmi):

```bash
npx degit MetaMask/metamask-sdk-examples/quickstarts/wagmi metamask-wagmi
Expand All @@ -43,7 +43,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall
`degit` is a tool that enables cloning only the directory structure from a GitHub repository, without retrieving the entire repository.

Alternatively, you can use `git clone`, which will download the entire repository.
To do so, clone the MetaMask SDK examples repository and navigate into the `quickstarts/wagmi` directory:
To do so, clone the MetaMask Wallet SDK examples repository and navigate into the `quickstarts/wagmi` directory:

```bash
git clone https://github.com/MetaMask/metamask-sdk-examples
Expand All @@ -69,7 +69,7 @@ You can [download the quickstart template](#set-up-using-a-template) or [manuall

### 1. Install the SDK

Install MetaMask SDK along with its peer dependencies to an existing React project:
Install MetaMask Wallet SDK along with its peer dependencies to an existing React project:

```bash npm2yarn
npm install @metamask/sdk wagmi [email protected] @tanstack/react-query
Expand All @@ -89,7 +89,7 @@ import { metaMask } from "wagmi/connectors"
### 3. Configure your project

Set up your configuration with the desired chains and connectors.
In the following example, set the [`infuraAPIKey`](../reference/sdk-options.md#infuraapikey) option to your [Infura API key](/developer-tools/dashboard/get-started/create-api) to use for RPC requests:
In the following example, set the [`infuraAPIKey`](../../../reference/options.md#infuraapikey) option to your [Infura API key](/developer-tools/dashboard/get-started/create-api) to use for RPC requests:

```jsx
const config = createConfig({
Expand Down Expand Up @@ -179,9 +179,9 @@ const config = createConfig({

After completing the basic setup, you can follow these guides to add your own functionality:

- [Authenticate users](../guides/authenticate-users.md)
- [Manage user accounts](../guides/manage-user-accounts.md)
- [Manage networks](../guides/manage-networks.md)
- [Handle transactions](../guides/handle-transactions.md)
- [Send transactions](../guides/send-transactions/index.md)
- [Interact with smart contracts](../guides/interact-with-contracts.md)

## Live example
Expand Down
10 changes: 5 additions & 5 deletions sdk/evm/connect/guides/batch-requests.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
description: Batch multiple JSON-RPC requests using MetaMask SDK or Wagmi.
description: Batch multiple JSON-RPC requests using MetaMask Wallet SDK or Wagmi.
keywords: [SDK, Wagmi, batch, JSON-RPC, RPC, requests, methods, dapp]
---

# Batch requests

MetaMask SDK provides mechanisms to send multiple JSON-RPC requests in a single call.
MetaMask Wallet SDK provides mechanisms to send multiple JSON-RPC requests in a single call.
However, "batching" can be used in a few different contexts:

- [**Wagmi batching for contract reads**](#use-wagmi-usereadcontracts) - Wagmi does not support MetaMask's generic batching mechanism.
Expand All @@ -14,11 +14,11 @@ However, "batching" can be used in a few different contexts:
`useReadContracts` does not support batching JSON-RPC methods.

- [**Vanilla JavaScript batching with `metamask_batch`**](#use-vanilla-javascript-metamask_batch) -
This approach uses MetaMask SDK's `metamask_batch` method to group any JSON-RPC requests together, whether they are contract calls or other JSON-RPC methods (for example, signing messages or sending transactions).
This approach uses MetaMask Wallet SDK's `metamask_batch` method to group any JSON-RPC requests together, whether they are contract calls or other JSON-RPC methods (for example, signing messages or sending transactions).
Despite being batched into one HTTP request, each call still requires individual user approval, and if any request is rejected, the entire batch fails.

:::info
"Batching" can also refer to [sending atomic batch transactions](/wallet/how-to/send-transactions/send-batch-transactions) in MetaMask.
"Batching" can also refer to [sending atomic batch transactions](send-transactions/batch-transactions.md) in MetaMask.
Use the methods introduced by EIP-5792 to send atomic batches.
:::

Expand Down Expand Up @@ -94,7 +94,7 @@ We recommend using services like [MetaMask Developer](https://developer.metamask

## Use Vanilla JavaScript (`metamask_batch`)

If you're not using Wagmi, you can directly use MetaMask SDK's `metamask_batch` method to group multiple JSON-RPC requests into a single HTTP call.
If you're not using Wagmi, you can directly use MetaMask Wallet SDK's `metamask_batch` method to group multiple JSON-RPC requests into a single HTTP call.

Use cases include:

Expand Down
Loading
Loading