Note
To use this feature, you must purchase a MetaMask Institutional account. You must also have access to the Web3 access page in the Fireblocks Console. If you do not have access, contact Fireblocks Support.
Overview
MetaMask Institutional Wallets is a vehicle for financial institutions to use the MetaMask Web3 wallet with custodial and non-custodial platforms, like Fireblocks. It offers institutional portfolio management solutions, such as native token swapping, NFT tracking, and profit and loss (P&L) reporting. Fireblocks enables you to integrate MetaMask Institutional Wallets into your workspace to connect to Web3 decentralized applications (dApps) and utilize the MetaMask Institutional capabilities.
MetaMask Institutional Wallets connects directly to your Fireblocks workspace and secure wallet infrastructure. Accordingly, any contract calls placed by dApps are subject to your workspace Policy and secure multi-party computation (MPC) signing, just like any other transaction you make using your Fireblocks Vault.
Note
MetaMask Institutional Wallets replaces the legacy MMI extension, as Consensys integrated its capabilities into the MetaMask retail extension, mobile app, and web platform in May 2025. The designated MMI extension will be deprecated.
Configuring MetaMask Institutional
Before configuring MetaMask to integrate with your Fireblocks accounts:
- Set up a MetaMask Institutional account for your organization and complete its onboarding process.
- If you have the MMI extension installed, disable and remove it from your Chrome browser.
Next, add a MetaMask extension:
- Access the MetaMask extension in the Chrome Web Store.
- Select Add to Chrome > Add extension.
- The MetaMask extension setup process opens in your browser.
- Complete the extension’s setup process according to MetaMask’s instructions.
- The extension automatically creates a default account.
Important
The default account is a local account, meaning its private key is stored in your browser, not in your Fireblocks account. Do not use this default account for any of your crypto operations.
- Connect your Fireblocks vault account to the extension.
Connecting your Fireblocks account
-
In the MetaMask extension, go to Settings > Advanced and turn on Manage Institutional Wallets.
-
Navigate to the Account’s dropdown list next to the wallet name.
-
Select Add account or hardware wallet, then Manage Institutional Wallets to display a list of supported platforms, including Fireblocks.
Note
You cannot see this in the dropdown until it has been activated under Advanced Settings in the first step.
.
-
Scroll down to Fireblocks > Select.
When prompted, confirm you want to leave MetaMask by selecting Visit Site. You’ll be redirected to connect your MetaMask wallet. - In your Fireblocks workspace, navigate to Web3 access using the left-side navigation panel.
- Select Connect MetaMask Institutional, then choose the vault accounts you want to connect to MetaMask, then select Connect.
- The MetaMask extension should open an Accounts screen. Select the Wallets you want to add to MetaMask, then select Confirm.
- Open MetaMask and select the newly added vault account.
- To initiate a transaction, perform the desired action within MetaMask, then select Confirm.
- The transaction is now routed to Fireblocks, where you can complete the signing process.
- You can see the extension’s connection status on the Web3 access page in the Fireblocks Console.
Setting up Policy rules for Web3
To interact with dApps, you must create and configure Policy rules for the following Policy types:
- dApp connection. Within the Fireblocks workspace, you can govern and control access to dApps. You can define specific Policy rules based on various parameters in the Policy Editor to utilize these capabilities.
- Contract call. By default, your workspace only allows you to interact with whitelisted contract calls. To allow contract calls to non-whitelisted contract addresses or to add rules and approval flows for other parameters, you can create specific Policy rules for contract calls in the Policy Editor.
- Program call. (Interacting with Solana Programs). By default, your workspace only allows you to interact with whitelisted programs. To allow interactions with Solana non-whitelisted programs addresses or to add rules and approval flows for other parameters, you can create specific Policy rules for program calls in the Policy Editor.
- Approve. When transferring to a new smart contract, you must first make an Approve transaction that allows the contract to withdraw funds. You can use your Approve Policy to apply rules to these transactions.
- Typed message. You can use Typed message signing to securely sign off-chain messages that are not transactions. If you want to use a dApp that requires signing a Typed message, you must create Policy rules that apply to Typed messages. When creating rules, select Any as the asset type. Don’t choose a specific asset since Typed messages for MetaMask always use ETH.
- Transfer. You can create Policy rules for transferring funds using Web3 connections. For example, these rules apply when sending tokens using the MetaMask extension.
Learn more about setting up rules for Web3 operations, and view an example Policy rule.
Connecting your Fireblocks workspace to dApps
Proceed with the steps below. Note that instructions may differ depending on the dApp being integrated with your workspace.
- In the dApp web page, select Connect Wallet.
- In the following window, select MetaMask.
- Select your Fireblocks vault account. Do not select the default account created by the extension.
- Your Fireblocks wallet connects to the dApp.
You can now make transactions on the dApp and sign them using the Fireblocks mobile app.
Using MetaMask Institutional functionality
After connecting the MetaMask extension to a dApp, you can make Web3 transactions and sign them in Fireblocks. You can also make transactions directly from the extension’s dashboard.
Interacting with dApps
The MetaMask extension allows you to make transactions directly from a dApp’s website while using your Fireblocks workspace to sign the transactions. Your Policy rules apply to these transactions as well.
The following example illustrates the transaction flow for lending on Compound.
- You initiate the lending transaction on Compound.
- The MetaMask extension asks you to confirm the transaction.
- The transaction passes through your workspace’s policy.
- You sign the transaction using the Fireblocks mobile app.
- The transaction confirms on the blockchain.
During the flow, the transaction’s status updates in the MetaMask extension and the Fireblocks Console. You can review the transaction’s details in the extension using the Activity tab, and from your Fireblocks workspace using the Recent activity panel and Transaction history page.
MetaMask Institutional features
The MetaMask extension allows you to manage your assets directly from the extension’s dashboard.
Transactions made directly in the extension, such as sending or swapping tokens, pass through your Fireblocks workspace for signing. Your Policy rules also apply to these transactions.
The following example illustrates the transaction flow for a token swap in the MetaMask extension.
- You initiate a swap in the MetaMask extension.
- The extension asks you to confirm the transaction.
- The transaction passes through your workspace’s policy.
- You sign the transaction using the Fireblocks mobile app.
- The transaction confirms on the blockchain.
During the flow, the transaction’s status updates in the MetaMask extension and the Fireblocks Console. You can review the transaction’s details in the extension using the Activity tab and from your Fireblocks workspace using the Recent activity panel and Transaction history page.
Managing your MetaMask extension
Changing the network
To change the network the MetaMask extension operates on, select a new network from the dropdown list at the top of the extension's main page. Note that you cannot use custom RPC endpoints. All transactions initiated in the MetaMask extension use Fireblocks' transaction processing infrastructure and Fireblocks-managed RPC endpoints.
Disconnecting the extension
- In the extension, choose the vault account you want to disconnect.
- Select More Actions (...) > Remove account > Remove.