Build with MetaMask

A suite of developer tools to empower dapp developers to build innovative experiences for the most powerful, crypto-native users on MetaMask

Build with MetaMask
  • Integrate with MetaMask wallet

    • MetaMask SDK

      Seamless, reliable, and customizable connection to the browser extension and mobile clients.

    • Multichain API

      Connect dapps to users’ Ethereum and non-EVM accounts

    Integrate with MetaMask wallet
  • Explore smart accounts and embedded wallets

    • Smart Accounts Kit

      Instantly onboard users through smart accounts portable with MetaMask, redesign gas, build with permissions-first delegations.

    • Embedded Wallets

      Design supercharged on-chain experiences with Embedded Wallets — instant setup, minimal friction, endless customizability.

    Explore smart accounts and embedded wallets
  • Run dapps faster

    • Managed Nodes

      Scale your dapp with Infura’s industry-leading, cloud-based node services.

    • Platform APIs

      Simplify development and boost performance with the APIs powering MetaMask’s most popular features.

    Run dapps faster
  • Customize MetaMask for any dapp and protocol

    • Snaps

      Add new functionality for MetaMask, and add support for any protocol in EVM and non-EVM networks.

    Customize MetaMask for any dapp and protocol

Develop with MetaMask

A comprehensive set of developer tools, products and services for onboarding and engaging with MetaMask users.

  • 1
  • 2
  • 3

Discover tutorials, workshops, and more.

Tutorials, video walkthroughs, and workshops—for developers, by developers

Start building with a free Linea mainnet node

Deploy your smart contract on Linea’s EVM-equivalent L2 for free.

  • 1
  • 2
  • 3

Release notes

  • MetaMask Snaps

    View full note
    v165.0.0
    10 August 2026
    • Added
      @metamask/snaps-controllers 21.1.0
      • Add optional originMetadata parameter to SnapController, MultichainRoutingService and ExecutionService (#4093)
        • This parameter can be used for specifying additional metadata about the origin of a request.
      Changed
      • Bump @metamask/messenger from ^1.2.0 to ^2.0.0 (#4064)
      • Bump @metamask/superstruct from ^3.2.1 to ^3.3.0 (#4062)
      • Bump @metamask/analytics-controller from ^1.1.1 to ^1.2.1 (#4059)
    • Added
      @metamask/snaps-execution-environments 11.3.0
      • Add support for the optional originMetadata property to all handlers that also support origin (#4093)
    • Changed
      @metamask/snaps-jest 10.2.1
      • Bump @metamask/snaps-sdk from ^11.2.0 to ^12.0.0 (#4094)
    • Changed
      @metamask/snaps-rpc-methods 17.1.1
      • Bump @metamask/snaps-sdk from ^11.2.0 to ^12.0.0 (#4094)
    • Added
      @metamask/snaps-sdk 12.0.0
      • BREAKING: KeyringRequest may now include an optional originMetadata property
        • This requires @metamask/keyring-api version 24.1.0 or newer.
      • Add support for the optional originMetadata property to all handlers that also support origin (#4093)
    • Changed
      @metamask/snaps-simulation 4.3.1
      • Bump @metamask/snaps-sdk from ^11.2.0 to ^12.0.0 (#4094)
    • Added
      @metamask/snaps-utils 12.5.0
      • Add optional originMetadata property to SnapRpcHookArgs type (#4093)
  • MetaMask SDK

    View full note
    v117.0.0
    25 March 2026
    • Changed
      @metamask/sdk 0.34.1
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
    • Changed
      @metamask/sdk-analytics 0.0.6
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
      • fix: missing export of esmodule on sdk-analytics (#1334)
    • Changed
      @metamask/sdk-communication-layer 0.33.2
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
    • Changed
      @metamask/sdk-install-modal-web 0.32.2
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
      • feat: adding mobile wallet protocol (#1346)
      • Release 110.0.0 (#1235)
    • Changed
      @metamask/multichain-sdk 0.0.1
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
    • Changed
      @metamask/sdk-multichain-ui 0.0.1
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
    • Changed
      @metamask/sdk-react 0.33.2
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
    • Changed
      @metamask/sdk-react-native 0.3.13
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
      • refactor: replace qr-code-styling with smaller library (#1129)
    • Changed
      @metamask/sdk-react-ui 0.29.3
      • Mark the package as deprecated in the README and direct consumers to MetaMask Connect migration docs and successor packages.
  • Wallet / Multichain API

    View full note
    v0.15.0
    10 June 2026
    • Added
      • Add ERC-7715 execution permission methods: wallet_requestExecutionPermissions, wallet_getGrantedExecutionPermissions, and wallet_getSupportedExecutionPermissions, along with the ExecutionPermission, ExecutionPermissionRule, ExecutionPermissionRequest, and ExecutionPermissionResponse schemas (#311)
    • Changed
      • build(deps): Bump node-fetch to 2.6.7, ansi-regex to 3.0.1, braces to 3.0.3, semver to 5.7.2, ws to 7.5.10(#235)
      • Update multichain Scope properties (#295)