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 delegations

    • Delegation Toolkit

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

    Explore smart accounts and delegations
  • 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
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

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
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

Release notes

  • MetaMask Snaps

    View full note
    v90.0.0
    18 February 2025
    • Added
      @metamask/protocol-example-snap 1.0.0
      • Initial release (#3089)
    • Changed
      @metamask/snaps-controllers 10.0.0
      • BREAKING: Use a WebView per Snap on mobile (#3085)
        • WebViewExecutionService now requires createWebView and removeWebView constructor arguments, getWebView is no longer supported.
      • BREAKING: Encode messages in WebViewMessageStream as byte arrays (#3077)
        • A version of the Snaps execution environment that supports this encoding is required.
      • Bump MetaMask dependencies (#3091, #3092, #3084, #3083, #3082, #3050)
      Fixed
      • Recreate JSON-RPC request in MultichainRouter (#3086)
      • Properly pass down execution service constructor args (#3110)
    • Changed
      @metamask/snaps-execution-environments 7.0.0
      • BREAKING: Use a WebView per Snap on mobile (#3085)
        • The WebView bundle no longer supports proxy executor calls and functions as a single executor.
      • BREAKING: Encode messages in WebViewMessageStream as byte arrays (#3077)
        • A version of snaps-controllers that supports this encoding is required.
      • Bump MetaMask dependencies (#3091, #3057, #3050)
    • Changed
      @metamask/snaps-jest 8.12.0
      Fixed
      • Fix unintentionally narrow type for onKeyringRequest helper (#3109)
    • Added
      @metamask/snaps-rpc-methods 11.12.0
      • Add additional properties to snap_getPreferences (#3093)
      Changed
    • Added
      @metamask/snaps-sdk 6.18.0
      • Add additional properties to snap_getPreferences (#3093)
      • Add crossAlignment to Box (#3115)
      Changed
    • Added
      @metamask/snaps-simulation 2.2.0
      • Add additional properties to snap_getPreferences (#3093)
      Changed
      Fixed
      • Improve unintentionally narrow type for onKeyringRequest helper (#3109)
    • Changed
      @metamask/snaps-utils 9.0.0
      • BREAKING: Remove duplicate CAIP types (#3071)
        • The following functions, values, types, and structs were removed from @metamask/snaps-utils:
          • CHAIN_ID_REGEX
          • ACCOUNT_ID_REGEX
          • ACCOUNT_ADDRESS_REGEX
          • parseChainId
          • parseAccountId
          • LimitedString
          • ChainIdStringStruct
          • ChainIdStruct
          • AccountIdStruct
          • AccountIdArrayStruct
          • AccountAddressStruct
          • AccountAddress
          • ChainStruct
          • Chain
          • NamespaceStruct
          • Namespace
          • NamespaceIdStruct
          • NamespaceId
          • isNamespaceId
          • isChainId
          • isAccountId
          • isAccountIdArray
          • isNamespace
      • Bump MetaMask dependencies (#3091, #3082, #3050)
  • MetaMask SDK

    View full note
    v109.0.0
    28 January 2025
    • Added
      @metamask/sdk 0.32.0
      • feat(sdk): rollback @metamask/providers to 16.1.0 due to Next.js compatibility issues (#1207)
      • feat(sdk): upgrade @metamask/providers to ^18.3.1 (#1199)
      • feat: implement message size validation to prevent excessive payloads (#1197)
      • feat: add turborepo for improved monorepo development experience (#1195)
      Fixed
      • fix: user rejection bug (#1202)
    • Uncategorized
      @metamask/sdk-communication-layer 0.32.0
      • fix(rndemos): update metro config to support eciesjs crypto imports (#1147)
      • feat: add turborepo for improved monorepo development experience (#1195)
    • Added
      @metamask/sdk-install-modal-web 0.32.0
      • feat: setup stencil development environment with component preview (#1196)
      Fixed
      • fix: user rejection bug (#1202)
    • Uncategorized
      @metamask/sdk-react 0.32.0
      • feat: add turborepo for improved monorepo development experience (#1195)
  • Wallet / Multichain API

    View full note
    v0.10.17
    21 February 2025
    • Changed
      • modify ordering of methods in sessionScopes to satisfy strict API specs testing requirements (#287)