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

Seamless, reliable, and customizable connection to the browser extension and mobile clients.
Connect dapps to users’ Ethereum and non-EVM accounts
Instantly onboard users through smart accounts portable with MetaMask, redesign gas, build with permissions-first delegations.
Design supercharged on-chain experiences with Embedded Wallets — instant setup, minimal friction, endless customizability.

Scale your dapp with Infura’s industry-leading, cloud-based node services.
Simplify development and boost performance with the APIs powering MetaMask’s most popular features.

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

createSnapsMethodMiddleware now requires a messenger parameter.createSnapsMethodMiddleware will throw if the expected hooks are not passed.buildSnapRestrictedMethodSpecifications now requires a messenger parameter.buildSnapRestrictedMethodSpecifications will now throw if the expected hooks are not passed.@metamask/permission-controller 12.3.0 to ^13.1.0 (#3984, #3989)@metamask/json-rpc-engine from ^10.2.4 to ^10.5.0 (#3982,#3992, #3998)@metamask/messenger from ^1.1.1 to ^1.2.0 (#3981)selectHooks and permittedMethods are no longer exported (#3987)selectHooks implementation is exported from @metamask/json-rpc-engine if needed.snap_getFile can be null (#3987)@metamask/snaps-rpc-methods from ^15.1.1 to 16.0.0 and handle breaking changes (#3968, #3987, #3993)@metamask/permission-controller 12.3.0 to ^13.1.0 (#3984, #3989)@metamask/json-rpc-engine from ^10.2.4 to ^10.5.0 (#3982,#3992, #3998)@metamask/messenger from ^1.1.1 to ^1.2.0 (#3981)@metamask/chain-agnostic-permission from ^1.5.0 to ^1.6.0 (#3997)wallet_sendCalls, wallet_getCallsStatus, wallet_getCapabilities (#284)