Skip to main content
All CollectionsDevelop with Core
Core API Calls: wallet_addEthereumChain
Core API Calls: wallet_addEthereumChain
A
Written by Ana
Updated this week

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. The wallet application may refuse or accept the request. null is returned if the chain is added, and an error otherwise. Introduced by EIP-3085.

Params

1. AddEthereumChainParameter (required)

chainId string (required)

The chain ID as a 0x-prefixed hexadecimal string, per the eth_chainId method. Core compares this chain ID value with the eth_chainId return value. If these values aren't identical, Core rejects the request.

blockExplorerUrls array[string] (required)

(Optional) One or more URLs pointing to block explorer sites for the chain.

chainName string (required)

A human-readable name for the chain.

iconUrls array[string] (required)

(Optional) One or more URLs pointing to reasonably sized images that can be used to visually identify the chain. NOTE: Core will not currently display these images. Values can still be included so that they are utilized if Core incorporates them into the display of custom networks in the future.

nativeCurrency NativeCurrency (required)

Describes the native currency of the chain using the name, symbol, and decimals fields.

decimals integer (required)

A non-negative integer.

name integer (required)

A human-readable name.

symbol string (required)

A human-readable symbol.

rpcUrls array[string] (required)

One or more URLs pointing to RPC endpoints that can be used to communicate with the chain. At least one item is required, and only the first item is used.

>= 1 items

Result (AddEthereumChainResult)

null

Errors

Code

Message

-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 Core 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 window.ethereum.request({
"method": "wallet_addEthereumChain",
"params": [
{
"chainId": "0x64",
"chainName": "Gnosis",
"rpcUrls": [
"https://rpc.ankr.com/gnosis"
],
"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/"
]
}
]
});

Result

"null"

For any additional questions, please view our other knowledge base articles or contact a Product Support team member via the chat button. Examples are for illustrative purposes only.

Did this answer your question?