Skip to main content

wallet_addEthereumChain

Creates a confirmation asking the user to add the specified chain to the wallet application. The caller must specify a chain ID and some chain metadata. Specified by EIP-3085.

Parameters

Chain(object)

Object containing information about the chain to add.

Returns

This method returns null if the chain is added.

Errors

CodeDescription
-32602

Expected null or array with at least one valid string HTTPS URL 'blockExplorerUrl'. Received: ${blockExplorerUrls}

-32602

Expected 0x-prefixed, unpadded, non-zero hexadecimal string 'chainId'. Received: ${chainId}

-32602

Invalid chain ID "${_chainId}": numerical value greater than max safe value. Received: ${chainId}

-32602

May not specify default MetaMask chain.

-32602

Expected 2-6 character string 'nativeCurrency.symbol'. Received: ${ticker}

-32602

nativeCurrency.symbol does not match currency symbol for a network the user already has added with the same chainId. Received: ${ticker}

Example request
await provider.request({
method: 'wallet_addEthereumChain',
params: [
{
chainId: '0x64',
chainName: 'Gnosis',
rpcUrls: ['https://rpc.gnosischain.com'],
iconUrls: [
'https://xdaichain.com/fake/example/url/xdai.svg',
'https://xdaichain.com/fake/example/url/xdai.png',
],
nativeCurrency: {
name: 'XDAI',
symbol: 'XDAI',
decimals: 18,
},
blockExplorerUrls: ['https://blockscout.com/poa/xdai/'],
},
],
})
Example response
{
"id": 1,
"jsonrpc": "2.0",
"result": null
}