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
edits
  • Loading branch information
alexandratran committed Sep 25, 2025
commit f3316549d308b59c5d3102509480358f4f23750c
16 changes: 12 additions & 4 deletions sdk/about.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# About the SDK

## Architecture

## Supported platforms

With MetaMask SDK, you can connect your dapp to MetaMask in the following ways:
With MetaMask Wallet SDK, you can connect your dapp to MetaMask in the following ways:

- **Desktop web dapps** - Automatically connect to the MetaMask extension, or connect to the MetaMask mobile app using a QR code.
- **Mobile dapps** - The SDK generates a deeplink that takes users directly to the MetaMask mobile app.
Expand All @@ -23,4 +21,14 @@ The following table expands on the SDK's connection methods:
:::tip
For a better user experience on mobile, it's important to use reliable RPC providers instead of public nodes.
We recommend using services like [MetaMask Developer](https://developer.metamask.io/) to ensure better reliability and performance.
:::
:::

## Architecture

[Old architecture diagram as an example, this should be updated:]

<p align="center">

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

</p>
File renamed without changes
Binary file removed sdk/evm/connect/assets/add-network.png
Binary file not shown.
Binary file not shown.
Binary file removed sdk/evm/connect/assets/custom-modal.gif
Binary file not shown.
Binary file removed sdk/evm/connect/assets/react-tutorial-01-final.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/react-tutorial-01-start.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/request-permissions-2.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/request-permissions.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/sdk-android-architecture.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/sdk-android-communication.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/sdk-clear-connections.png
Binary file not shown.
Binary file removed sdk/evm/connect/assets/switch-network.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed sdk/evm/connect/assets/unity-empty-template.png
Diff not rendered.
Binary file removed sdk/evm/connect/assets/unity-example-template.png
Diff not rendered.
Binary file removed sdk/evm/connect/assets/unity-infura.png
Diff not rendered.
Binary file removed sdk/evm/connect/assets/wagmi-errors.png
Diff not rendered.
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/display-tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@ The add NFT interfaces look like the following:

<div class="imgRow">
<div class="imgCol">
<img src={require("../assets/watchasset-nft.png").default} alt="NFT confirmation" class="appScreen" />
<img src={require("../_assets/watchasset-nft.png").default} alt="NFT confirmation" class="appScreen" />
</div>
<div class="imgCol">
<img src={require("../assets/watchasset-nft-2.png").default} alt="Multiple NFTs confirmation" class="appScreen" />
<img src={require("../_assets/watchasset-nft-2.png").default} alt="Multiple NFTs confirmation" class="appScreen" />
</div>
</div>

Expand Down
4 changes: 2 additions & 2 deletions sdk/evm/connect/guides/sign-data/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ account names in place of addresses).

<p align="center">

![eth_signTypedData_v4](../../assets/signTypedData.png)
![eth_signTypedData_v4](../../_assets/signTypedData.png)

</p>

Expand Down Expand Up @@ -190,7 +190,7 @@ It's often used for signature challenges that are authenticated on a web server,

<p align="center">

![Personal sign](../../assets/personal_sign.png)
![Personal sign](../../_assets/personal_sign.png)

</p>

Expand Down
6 changes: 3 additions & 3 deletions sdk/evm/connect/guides/sign-data/siwe.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ MetaMask parses the message and gives the user a friendly interface prompting th
your dapp:

<p align="center">
<img src={require("../../assets/siwe.png").default} alt="Sign-in with Ethereum request" class="appScreen" />
<img src={require("../../_assets/siwe.png").default} alt="Sign-in with Ethereum request" class="appScreen" />
</p>

## Domain binding
Expand All @@ -31,10 +31,10 @@ This is to not break existing dapps that may have use cases for mismatched domai

<div class="imgRow">
<div class="imgCol">
<img src={require("../../assets/siwe-bad-domain.png").default} alt="Sign-in bad domain" class="appScreen" />
<img src={require("../../_assets/siwe-bad-domain.png").default} alt="Sign-in bad domain" class="appScreen" />
</div>
<div class="imgCol">
<img src={require("../../assets/siwe-bad-domain-2.png").default} alt="Sign-in bad domain pop-up" class="appScreen" />
<img src={require("../../_assets/siwe-bad-domain-2.png").default} alt="Sign-in bad domain pop-up" class="appScreen" />
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion sdk/evm/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import CardList from '@site/src/components/CardList'

## Supported platforms and libraries

MetaMask SDK is available in a variety of ways to make integration as easy as possible.
MetaMask Wallet SDK 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.

<CardList
Expand Down
10 changes: 5 additions & 5 deletions sdk/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ keywords: [connect, sdk, integrate, dapp]

import CardList from '@site/src/components/CardList'

# Seamlessly connect to MetaMask using the SDK
# Seamlessly connect to the MetaMask wallet

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

<CardList
items={[
Expand Down Expand Up @@ -39,12 +39,12 @@ description: 'Connect to Starknet.',

## Why use the SDK?

MetaMask SDK gives your dapp a powerful upgrade:
MetaMask Wallet SDK 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.
- **Production-ready, battle-tested** - MetaMask SDK is used in high-volume dapps across DeFi, NFTs, gaming, and more—ensuring stability, speed, and a smooth developer experience.
- **Production-ready, battle-tested** - MetaMask Wallet SDK is used in high-volume dapps across DeFi, NFTs, gaming, and more—ensuring stability, speed, and a smooth developer experience.
- **Multichain by design** - Today, the SDK supports all EVM networks and Solana.
Coming soon: Seamless connection to more ecosystems like Bitcoin and Tron.
Futureproof your dapp with a single integration.
2 changes: 1 addition & 1 deletion sdk/reference/sdk-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import TabItem from "@theme/TabItem";

# SDK options

MetaMask SDK takes the following configuration options.
MetaMask Wallet SDK takes the following configuration options.

### `checkInstallationImmediately`

Expand Down
20 changes: 9 additions & 11 deletions src/components/ParserOpenRPC/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ export default function ParserOpenRPC({

if (currentMethodData === null) return null

const isMetamaskNetwork = network === NETWORK_NAMES.metamask
// const isMetamaskNetwork = network === NETWORK_NAMES.metamask

useEffect(() => {
const example = currentMethodData?.examples?.[0]
Expand Down Expand Up @@ -212,7 +212,7 @@ export default function ParserOpenRPC({

setParamsData(Object.values(data))
}

/*
const handleMetaMaskRequest = async () => {
if (!metaMaskProvider) return
setIsLoading(true)
Expand All @@ -232,7 +232,7 @@ export default function ParserOpenRPC({
setIsLoading(false)
}
}

*/
const INIT_URL =
currentMethodData.servers !== null ? currentMethodData.servers : `${LINEA_REQUEST_URL}/v3/`

Expand Down Expand Up @@ -270,11 +270,11 @@ export default function ParserOpenRPC({
}

const onSubmitRequestHandle = async () => {
if (isMetamaskNetwork) {
await handleMetaMaskRequest()
} else {
await handleServiceRequest()
}
//if (isMetamaskNetwork) {
// await handleMetaMaskRequest()
//} else {
await handleServiceRequest()
//}
}

const closeComplexTypeView = () => {
Expand Down Expand Up @@ -359,8 +359,7 @@ export default function ParserOpenRPC({
</div>
<div className={global.colRight}>
<div className={global.stickyCol}>
{!isMetamaskNetwork && <ProjectsBox />}
{isMetamaskNetwork && !metaMaskAccount && <AuthBox theme={colorMode} />}
{<ProjectsBox />}
<RequestBox
colorMode={colorMode}
isMetamaskInstalled={!!metaMaskAccount}
Expand All @@ -370,7 +369,6 @@ export default function ParserOpenRPC({
response={reqResult}
openModal={openModal}
submitRequest={onSubmitRequestHandle}
isMetamaskNetwork={isMetamaskNetwork}
defExampleResponse={defExampleResponse}
resetResponseHandle={resetResponseHandle}
requestURL={INIT_URL}
Expand Down
10 changes: 5 additions & 5 deletions src/components/SubNavBar/configs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export const EMBEDDED_WALLETS_SUBNAV_CONFIG: SubNavBarConfig = {

export const SDK_SUBNAV_CONFIG: SubNavBarConfig = {
pathPattern: '/sdk',
sectionName: 'MetaMask SDK',
sectionName: 'MetaMask Wallet SDK',
links: [
{
key: 'overview',
Expand All @@ -49,22 +49,22 @@ export const SDK_SUBNAV_CONFIG: SubNavBarConfig = {
{
key: 'multichain',
label: 'Multichain',
path: '/sdk/multichain/',
path: '/sdk/multichain',
},
{
key: 'evm',
label: 'EVM',
path: '/sdk/evm/',
path: '/sdk/evm',
},
{
key: 'solana',
label: 'Solana',
path: '/sdk/solana/',
path: '/sdk/solana',
},
{
key: 'starknet',
label: 'Starknet',
path: '/sdk/starknet/',
path: '/sdk/starknet',
},
],
}
Expand Down