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
}