Skip to main content

Metamask Adapter

@web3auth/metamask-adapter

Metamask Adapter allows user to login with metamask wallet. You can read more about metamask wallet here.

Basic Details

Adapter Name: metamask

Package Name: @web3auth/metamask-adapter

authMode: DAPP

chainNamespace: EIP155

Default: YES

Installation

npm install --save @web3auth/metamask-adapter

Arguments

Parametertype
chainConfig?CustomChainConfig
clientId?string
sessionTime?number
web3AuthNetwork?WEB3AUTH_NETWORK_TYPE

Custom Chain Config

chainConfig

warning

While you can pass your chainConfig, it is not required since you can directly pass it over to Web3Auth/ Web3AuthNoModal configuration while instantiating it.

Read more about it in their respective sections:

warning

If you do pass chainConfig in an Adapter, it overwrites the chainConfig passed over to the Web3Auth/ Web3AuthNoModal constructor.

Change Adapter Settings

You can change the adapter settings by calling the setAdapterSettings() function on the adapter instance.

Arguments

Parametertype
clientId?string
sessionTime?number
chainConfig?CustomChainConfig
web3AuthNetwork?WEB3AUTH_NETWORK_TYPE

Example

import { MetamaskAdapter } from "@web3auth/metamask-adapter";
const metamaskAdapter = new MetamaskAdapter({
clientId,
sessionTime: 3600, // 1 hour in seconds
web3AuthNetwork: "sapphire_mainnet",
chainConfig: {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: "0x1",
rpcTarget: "https://rpc.ankr.com/eth", // This is the public RPC we have added, please pass on your own endpoint while creating an app
},
});

// it will add/update the metamask adapter in to web3auth class
web3auth.configureAdapter(metamaskAdapter);

// You can change the adapter settings by calling the setAdapterSettings() function on the adapter instance.
metamaskAdapter.setAdapterSettings({
sessionTime: 86400, // 1 day in seconds
chainConfig: {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: "0x1",
rpcTarget: "https://rpc.ankr.com/eth", // This is the public RPC we have added, please pass on your own endpoint while creating an app
},
web3AuthNetwork: "sapphire_mainnet",
});