Note
To use this feature, you must purchase a MetaMask Institutional account. Currently, the XDC Network is not supported by this feature.
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 (MMI) is a Web3 wallet that offers a suite of institutional portfolio management solutions, such as native token swapping, NFT tracking, and profit and loss (P&L) reporting. With Fireblocks, you can integrate the MMI extension into your workspace to connect to Web3 decentralized applications (dApps) and utilize MMI’s features.
The MMI extension connects directly to your Fireblocks workspace and secure wallet infrastructure. Therefore, any contract calls placed by dApps are subject to your Transaction Authorization Policy (TAP) and secure multi-party computation (MPC) signing, just like any other transaction you make using your Fireblocks Vault.
Installing the MMI extension
Note
You cannot use the MMI extension in conjunction with the regular MetaMask extension, the Fireblocks Chrome Extension, or other wallet extensions. You can only use one extension at a time.
Before installing the extension, create an MMI account for your organization and complete their onboarding process.
- Access the extension in the Chrome web store.
- Select Add to Chrome.
- On the confirmation window, select Add extension.
- The MMI extension setup process opens in your browser. Select Get started.
- Complete the extension’s setup process according to MMI’s instructions.
- Create a new MMI wallet.
- Create a password for the new wallet.
- Store your secret recovery passphrase.
- Confirm your secret recovery passphrase.
- The extension automatically creates a default account.
Important
The default account is a local account, meaning that its private key is stored in your browser and not 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
- On the Web3 Access page, select Connect MetaMask Institutional. If you have no dApps connected, select Connect account in the lower-right corner of the page.
Note
The options for connecting will only be available if you have installed the MMI extension and disabled the regular MetaMask extension, the Fireblocks Chrome Extension, and any other wallet extensions.
- Choose the vault accounts to connect, then select Connect. You can connect individual vault accounts or all vault accounts simultaneously.
- In the extension, confirm the connection and the vault accounts to connect.
- Your Fireblocks account connects to the extension and can now be used with Web3 applications.
- The extension status displays on the top right corner of the Web3 Access page in the Fireblocks Console.
- Complete the onboarding guide to familiarize yourself with the MMI extension.
Setting up TAP rules for Web3
To interact with dApps, you must set up TAP rules for:
- Contract calls. 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 implement specific TAP rules for contract calls in the TAP Editor.
- Approve transactions. 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 TAP to apply rules to these transactions.
- Typed messages. 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 TAP 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 MMI always use ETH.
- Transfers. You can create TAP rules for transferring funds using Web3 connections. For example, these rules apply when sending tokens using the MMI extension.
Learn more about setting up rules for Web3 operations, and view an example TAP.
Connecting your Fireblocks workspace to dApps
- In the dApp, select Connect Wallet. The instructions or button name might vary dApp to dApp.
- In the following window, select MetaMask. A notification window appears.
- On the notification window, 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 the MMI extension
After connecting the 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 MMI extension allows you to make transactions directly from a dApp’s website while still using your Fireblocks workspace to sign the transactions. Your TAP 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 MMI extension asks you to confirm the transaction.
- The transaction passes through your workspace’s TAP.
- 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 MMI extension and the Fireblocks Console. You can review the transaction’s details in the extension using the Activity tab and in your Fireblocks Console using the Recent activity panel and the Transaction History page.
MMI features
The MMI 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 TAP rules also apply to these transactions.
The following example illustrates the transaction flow for a token swap in the MMI extension.
- You initiate a swap in the MMI extension.
- The extension asks you to confirm the transaction.
- The transaction passes through your workspace’s TAP.
- 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 MMI extension and the Fireblocks Console. You can review the transaction’s details in the extension using the Activity tab and in your Fireblocks Console using the Recent activity panel and the Transaction History page.
Managing your MMI extension
Changing the network
To change the network the MMI 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 MMI extension use Fireblocks' transaction processing infrastructure and Fireblocks-managed RPC endpoints.
Managing dApp connections
Select More Actions in the upper-right corner of the extension to see the list of dApps currently connected to the extension. You can also disconnect dApps from this menu.
Disconnecting the extension
- In the extension, select your vault account to disconnect.
- Select More Actions
> Remove custodian token > Remove.
- On the Web3 Access page, select MetaMask Institutional Connected > Disconnect > Disconnect.