ChainList

App · Cryptocurrency · 6 actions

Look up any EVM network from a workflow. ChainList is the public registry of close to three thousand Ethereum-compatible networks: search them by name, chain ID or currency, get the settings a wallet needs to add one, pull a working RPC endpoint with its operator's logging policy attached, turn a transaction hash or a wallet address into a block explorer link, find the faucets for a test network, and see which layer 2s roll up to which network and over which bridges. Every action reads: nothing here changes anything. No account or API key is required.

Actions

ActionWhat it does
Find networksSearch the EVM networks ChainList publishes, or browse them ranked by how much value is locked on them.
Get block explorer linksTurn a transaction hash, a wallet address, a block number or a token contract into a link on the right block explorer for the network it is on: the link to put in the Slack message or the email.
Get network detailsGet everything ChainList holds about one network: its chain id in both decimal and hex, the coin gas is paid in, a working RPC endpoint, its block explorer, what it is built on and which bridges reach it.
Get RPC endpointsGet the RPC endpoints published for one network, each with what its operator says it does with your requests.
Get test network faucetsFind where to get test funds for a test network, so a deployment or a test run does not stall on an empty wallet.
List networks built on a networkList the layer 2s and shards that roll up to one network (the hundred or so built on Ethereum, the handful built on Base) each with the bridges that move funds between the two.

Find networks

Search the EVM networks ChainList publishes, or browse them ranked by how much value is locked on them. Search by name, short name, chain ID or currency symbol: 'arbitrum', 'matic' and '8453' all work. Each network comes back with its chain ID, its currency, a working RPC endpoint and its block explorer, so the next step can use it without a second lookup. Test networks are included and labelled.

Inputs

Searchsearchtext
Name, short name, chain ID or currency symbol. Leave it empty to browse every network in the chosen order. A number is read as a chain ID and nothing else.
Includenetwork_typetext
Whether to include test networks. Both by default, because a search that quietly skips Sepolia looks like a missing network rather than a filter. Every result says which each one is.One of: all (Live and test networks), mainnet (Live networks only), testnet (Test networks only). Default: all.
Ordersorttext
Most value locked first by default, which puts the networks people actually use at the top. Test networks have no figure, so they sort last.One of: value_locked (Most value locked), rpc_endpoints (Most RPC endpoints), name (Name (A–Z)), chain_id (Chain ID). Default: value_locked.
How many networkslimitnumber
How many networks to return, counting down from the top.From 1 to 200. Default: 20.

Outputs

countnumber
How many networks are in this result.
network_typetext
Which networks were included.
networkslist
The networks that matched, in order.
searchtext
The text searched for, or empty if none was given.
sorttext
The order they came back in.
source_urltext
The ChainList document this answer was read from.
total_matchesnumber
How many matched in all, before the limit.
total_networksnumber
How many networks ChainList publishes in all.
truncatedtrue/false
Whether the limit cut the list short.
Example output
{
  "count": 2,
  "network_type": "mainnet",
  "networks": [
    {
      "chain_id": 1,
      "chain_id_hex": "0x1",
      "chainlist_url": "https://chainlist.org/chain/1",
      "currency_symbol": "ETH",
      "explorer_url": "https://etherscan.io",
      "is_testnet": false,
      "name": "Ethereum Mainnet",
      "network": "Mainnet",
      "recommended_rpc_url": "https://ethereum-rpc.publicnode.com",
      "rpc_endpoint_count": 88,
      "short_name": "eth",
      "value_locked_usd": 108979818735.77
    },
    {
      "chain_id": 8453,
      "chain_id_hex": "0x2105",
      "chainlist_url": "https://chainlist.org/chain/8453",
      "currency_symbol": "ETH",
      "explorer_url": "https://basescan.org",
      "is_testnet": false,
      "name": "Base",
      "network": "Mainnet",
      "recommended_rpc_url": "https://base-rpc.publicnode.com",
      "rpc_endpoint_count": 44,
      "short_name": "base",
      "value_locked_usd": 8793363387.75
    }
  ],
  "search": null,
  "sort": "value_locked",
  "source_url": "https://chainlist.org/rpcs.json",
  "total_matches": 1760,
  "total_networks": 2923,
  "truncated": true
}

Turn a transaction hash, a wallet address, a block number or a token contract into a link on the right block explorer for the network it is on: the link to put in the Slack message or the email. Leave the value empty to just list the explorers. Only explorers that promise a fixed link shape are linked into, so a link that comes back opens something rather than a 404, and a hash pasted where an address goes is caught here rather than at the explorer.

Inputs

NetworkchaintextRequired
Which network to look up. Pick it from the list, or type the name or chain ID of any other network ChainList tracks: 1, Ethereum, eth and ethereum all find Ethereum Mainnet. Where two networks answer to the same name, the live one with the most RPC endpoints is used and the others are named in the result.
Look uplook_uptext
What the value is.One of: transaction, address (Wallet address), block, token (Token contract). Default: transaction.
Hash, address or blockvaluetext
The transaction hash, wallet address, block number or token contract to link to. Leave it empty to list the network's explorers without linking into them.

Outputs

chain_idnumber
The network's chain ID. Any ChainList step's Chain field takes it, so one step can hand a network to the next.
chainlist_urltext
This network's page on chainlist.org, for checking the answer by eye.
countnumber
How many explorers it lists.
explorer_urltext
The explorer a link was built against.
explorerslist
Every block explorer for this network.
linktext
The direct link, ready to open or to post. Empty when nothing was looked up.
linkable_countnumber
How many of them a direct link can be built for.
look_uptext
What was looked up: transaction, address, block or token.
matched_ontext
How the Chain field was matched: 'chain ID', 'short name', 'slug', 'name', 'the start of the name' or 'part of the name'.
nametext
The network's name.
other_matcheslist
Any other network that answered to the same text. Empty when the match was unambiguous; worth reading when it is not.
source_urltext
The ChainList document this answer was read from.
valuetext
The hash, address or block number that was looked up.
Example output
{
  "chain_id": 1,
  "chainlist_url": "https://chainlist.org/chain/1",
  "count": 2,
  "explorer_url": "https://etherscan.io",
  "explorers": [
    {
      "link": "https://etherscan.io/tx/0x8a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
      "name": "etherscan",
      "standard": "EIP3091",
      "supports_links": true,
      "url": "https://etherscan.io"
    },
    {
      "link": "https://eth.blockscout.com/tx/0x8a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
      "name": "blockscout",
      "standard": "EIP3091",
      "supports_links": true,
      "url": "https://eth.blockscout.com"
    }
  ],
  "link": "https://etherscan.io/tx/0x8a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
  "linkable_count": 2,
  "look_up": "transaction",
  "matched_on": "chain ID",
  "name": "Ethereum Mainnet",
  "other_matches": [],
  "source_url": "https://chainlist.org/rpcs.json",
  "value": "0x8a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9"
}

Get network details

Get everything ChainList holds about one network: its chain id in both decimal and hex, the coin gas is paid in, a working RPC endpoint, its block explorer, what it is built on and which bridges reach it. It also comes back with the five boxes a wallet's 'Add a network' form asks for, already filled in, so connecting a wallet is a copy rather than a hunt. Anything worth knowing first (a re-used chain id, a network still incubating) arrives as a warning rather than buried in a field.

Inputs

NetworkchaintextRequired
Which network to look up. Pick it from the list, or type the name or chain ID of any other network ChainList tracks: 1, Ethereum, eth and ethereum all find Ethereum Mainnet. Where two networks answer to the same name, the live one with the most RPC endpoints is used and the others are named in the result.

Outputs

bridge_urlslist
The bridges that move funds between the two.
built_on_chain_idnumber
The chain ID of the network this one is built on, for a layer 2 or a shard. Empty for a network that stands on its own.
chain_familytext
The family it belongs to, such as ETH. Networks that share one share a native currency, not a ledger.
chain_idnumber
The network's chain ID. Any ChainList step's Chain field takes it, so one step can hand a network to the next.
chain_id_hextext
The same chain ID written in hex, which is the form a wallet's network settings use: 0x1 for Ethereum.
chainlist_urltext
This network's page on chainlist.org, for checking the answer by eye.
currency_decimalsnumber
How many decimal places that coin has.
currency_nametext
The name of the coin gas is paid in.
currency_symboltext
That coin's symbol, such as ETH.
explorer_countnumber
How many block explorers it lists.
explorer_urltext
Its block explorer.
faucet_countnumber
How many faucets it lists, for a test network.
featureslist
The Ethereum improvement proposals and other features it supports.
is_testnettrue/false
Whether this is a test network.
matched_ontext
How the Chain field was matched: 'chain ID', 'short name', 'slug', 'name', 'the start of the name' or 'part of the name'.
nametext
The network's name.
networktext
'Mainnet' or 'Testnet', for printing.
other_matcheslist
Any other network that answered to the same text. Empty when the match was unambiguous; worth reading when it is not.
recommended_rpc_urltext
The endpoint to use when only one is wanted: HTTPS, and the one that logs least.
relationshiptext
How it relates to that network: 'Layer 2' or 'Shard'.
rpc_endpoint_countnumber
How many usable RPC endpoints it publishes.
short_nametext
Its short name, such as eth.
slugtext
Its slug, where it has one.
source_urltext
The ChainList document this answer was read from.
statustext
ChainList's own status for it, such as 'active' or 'incubating'.
titletext
A longer title, where ChainList publishes one.
value_locked_usdnumber
How many US dollars are locked on this network, where ChainList publishes a figure. Empty for test networks, whose published figure is their live network's.
wallet_networkobject
The five boxes a wallet's 'Add a network' form asks for, filled in.
warningslist
Anything in the record a person should read first: a re-used chain id, an incubating status, no usable endpoint. Usually empty.
website_urltext
The network's own site.
Example output
{
  "bridge_urls": [
    "https://bridge.base.org"
  ],
  "built_on_chain_id": 1,
  "chain_family": "ETH",
  "chain_id": 8453,
  "chain_id_hex": "0x2105",
  "chainlist_url": "https://chainlist.org/chain/8453",
  "currency_decimals": 18,
  "currency_name": "Ether",
  "currency_symbol": "ETH",
  "explorer_count": 3,
  "explorer_url": "https://basescan.org",
  "faucet_count": 0,
  "features": [
    "EIP155",
    "EIP1559"
  ],
  "is_testnet": false,
  "matched_on": "name",
  "name": "Base",
  "network": "Mainnet",
  "other_matches": [],
  "recommended_rpc_url": "https://base-rpc.publicnode.com",
  "relationship": "Layer 2",
  "rpc_endpoint_count": 44,
  "short_name": "base",
  "slug": "base",
  "source_url": "https://chainlist.org/rpcs.json",
  "status": "active",
  "title": null,
  "value_locked_usd": 8793363387.75,
  "wallet_network": {
    "block_explorer_url": "https://basescan.org",
    "chain_id": 8453,
    "currency_symbol": "ETH",
    "network_name": "Base",
    "rpc_url": "https://base-rpc.publicnode.com"
  },
  "warnings": [],
  "website_url": "https://base.org"
}

Get RPC endpoints

Get the RPC endpoints published for one network, each with what its operator says it does with your requests. HTTPS by default, because that is what most things can call; switch to WebSocket for a subscription. Narrow to the operators that log little or nothing when the traffic is someone's. Endpoints ChainList lists but nothing can call (config-file templates, notes, bare hostnames) are left out, so every address that comes back is one you can use.

Inputs

NetworkchaintextRequired
Which network to look up. Pick it from the list, or type the name or chain ID of any other network ChainList tracks: 1, Ethereum, eth and ethereum all find Ethereum Mainnet. Where two networks answer to the same name, the live one with the most RPC endpoints is used and the others are named in the result.
Connectionconnectiontext
HTTPS for ordinary calls, WebSocket for a live subscription. HTTPS by default.One of: https, websocket, any (Either). Default: https.
Request loggingprivacytext
Whether to keep only the operators that log little or nothing. Any endpoint by default, because most operators have not said either way and dropping them would leave some networks with nothing at all. Every endpoint says what its operator does regardless.One of: any (Any endpoint), limited_or_better (Logs little or nothing), no_tracking (Logs nothing). Default: any.
How many endpointslimitnumber
How many endpoints to return.From 1 to 100. Default: 10.

Outputs

chain_idnumber
The network's chain ID. Any ChainList step's Chain field takes it, so one step can hand a network to the next.
chainlist_urltext
This network's page on chainlist.org, for checking the answer by eye.
connectiontext
The connection type asked for.
countnumber
How many endpoints are in this result.
endpointslist
The endpoints that matched, in ChainList's own order.
is_testnettrue/false
Whether this is a test network.
matched_ontext
How the Chain field was matched: 'chain ID', 'short name', 'slug', 'name', 'the start of the name' or 'part of the name'.
nametext
The network's name.
other_matcheslist
Any other network that answered to the same text. Empty when the match was unambiguous; worth reading when it is not.
privacytext
The privacy level asked for.
recommended_urltext
The first endpoint, ready to call.
source_urltext
The ChainList document this answer was read from.
total_matchingnumber
How many matched the filters, before the limit.
total_publishednumber
How many usable endpoints the network publishes in all. A zero here means the network has none, not that the filters were tight.
truncatedtrue/false
Whether the limit cut the list short.
untracked_countnumber
How many of the matching endpoints log nothing.
Example output
{
  "chain_id": 8453,
  "chainlist_url": "https://chainlist.org/chain/8453",
  "connection": "https",
  "count": 2,
  "endpoints": [
    {
      "protocol": "HTTPS",
      "tracking": "none",
      "tracking_label": "Logs nothing",
      "url": "https://base-rpc.publicnode.com"
    },
    {
      "protocol": "HTTPS",
      "tracking": "limited",
      "tracking_label": "Logs some data",
      "url": "https://mainnet.base.org"
    }
  ],
  "is_testnet": false,
  "matched_on": "name",
  "name": "Base",
  "other_matches": [],
  "privacy": "any",
  "recommended_url": "https://base-rpc.publicnode.com",
  "source_url": "https://chainlist.org/rpcs.json",
  "total_matching": 38,
  "total_published": 44,
  "truncated": true,
  "untracked_count": 12
}

Get test network faucets

Find where to get test funds for a test network, so a deployment or a test run does not stall on an empty wallet. Give it your wallet address and the faucets that take one in their own address bar come back ready to open. Ask a live network and it says so, and names the test networks to ask instead rather than coming back empty.

Inputs

NetworkchaintextRequired
Which network to look up. Pick it from the list, or type the name or chain ID of any other network ChainList tracks: 1, Ethereum, eth and ethereum all find Ethereum Mainnet. Where two networks answer to the same name, the live one with the most RPC endpoints is used and the others are named in the result.
Wallet addresswallet_addresstext
Optional. The wallet the test funds are for. A few faucets take it in their own address bar, and those links come back complete when you give it.

Outputs

chain_idnumber
The network's chain ID. Any ChainList step's Chain field takes it, so one step can hand a network to the next.
chainlist_urltext
This network's page on chainlist.org, for checking the answer by eye.
countnumber
How many faucets it lists.
currency_symboltext
The coin the faucet hands out.
faucetslist
Where to get test funds for this network.
is_testnettrue/false
Whether this is a test network. A live network has no faucet.
matched_ontext
How the Chain field was matched: 'chain ID', 'short name', 'slug', 'name', 'the start of the name' or 'part of the name'.
nametext
The network's name.
other_matcheslist
Any other network that answered to the same text. Empty when the match was unambiguous; worth reading when it is not.
source_urltext
The ChainList document this answer was read from.
test_networkslist
For a live network, the test networks that carry its name, which are the ones to ask for a faucet instead. Empty for a test network, which is already the right one to ask.
wallet_addresstext
The wallet address that was filled in, if any.
Example output
{
  "chain_id": 11155111,
  "chainlist_url": "https://chainlist.org/chain/11155111",
  "count": 1,
  "currency_symbol": "ETH",
  "faucets": [
    {
      "ready_to_open": true,
      "url": "http://fauceth.komputing.org?chain=11155111&address=0x1111111111111111111111111111111111111111",
      "wants_wallet_address": true
    }
  ],
  "is_testnet": true,
  "matched_on": "name",
  "name": "Ethereum Sepolia",
  "other_matches": [],
  "source_url": "https://chainlist.org/rpcs.json",
  "test_networks": [],
  "wallet_address": "0x1111111111111111111111111111111111111111"
}

List networks built on a network

List the layer 2s and shards that roll up to one network (the hundred or so built on Ethereum, the handful built on Base) each with the bridges that move funds between the two. Ask it about a layer 2 instead and it says what that one is built on, so the same step answers the question from either end.

Inputs

NetworkchaintextRequired
Which network to look up. Pick it from the list, or type the name or chain ID of any other network ChainList tracks: 1, Ethereum, eth and ethereum all find Ethereum Mainnet. Where two networks answer to the same name, the live one with the most RPC endpoints is used and the others are named in the result.
Includenetwork_typetext
Whether to include test networks. Both by default, because a search that quietly skips Sepolia looks like a missing network rather than a filter. Every result says which each one is.One of: all (Live and test networks), mainnet (Live networks only), testnet (Test networks only). Default: all.
How many networkslimitnumber
How many networks to return.From 1 to 200. Default: 50.

Outputs

built_onobject
The network this one is itself built on, with the bridges between them. Empty for a network that stands on its own.
chain_idnumber
The network's chain ID. Any ChainList step's Chain field takes it, so one step can hand a network to the next.
chainlist_urltext
This network's page on chainlist.org, for checking the answer by eye.
countnumber
How many are in this result.
layer_2_countnumber
How many of them are layer 2s.
matched_ontext
How the Chain field was matched: 'chain ID', 'short name', 'slug', 'name', 'the start of the name' or 'part of the name'.
nametext
The network asked about.
network_typetext
Which networks were included.
networkslist
The networks built on it, the most-served first.
other_matcheslist
Any other network that answered to the same text. Empty when the match was unambiguous; worth reading when it is not.
shard_countnumber
How many of them are shards.
source_urltext
The ChainList document this answer was read from.
total_matchesnumber
How many there are in all, before the limit.
truncatedtrue/false
Whether the limit cut the list short.
Example output
{
  "built_on": null,
  "chain_id": 1,
  "chainlist_url": "https://chainlist.org/chain/1",
  "count": 2,
  "layer_2_count": 101,
  "matched_on": "chain ID",
  "name": "Ethereum Mainnet",
  "network_type": "mainnet",
  "networks": [
    {
      "bridge_urls": [
        "https://bridge.base.org"
      ],
      "chain_id": 8453,
      "chain_id_hex": "0x2105",
      "chainlist_url": "https://chainlist.org/chain/8453",
      "currency_symbol": "ETH",
      "explorer_url": "https://basescan.org",
      "is_testnet": false,
      "name": "Base",
      "network": "Mainnet",
      "recommended_rpc_url": "https://base-rpc.publicnode.com",
      "relationship": "Layer 2",
      "rpc_endpoint_count": 44,
      "short_name": "base",
      "value_locked_usd": 8793363387.75
    },
    {
      "bridge_urls": [
        "https://bridge.arbitrum.io"
      ],
      "chain_id": 42161,
      "chain_id_hex": "0xa4b1",
      "chainlist_url": "https://chainlist.org/chain/42161",
      "currency_symbol": "ETH",
      "explorer_url": "https://arbiscan.io",
      "is_testnet": false,
      "name": "Arbitrum One",
      "network": "Mainnet",
      "recommended_rpc_url": "https://arbitrum-one-rpc.publicnode.com",
      "relationship": "Layer 2",
      "rpc_endpoint_count": 38,
      "short_name": "arb1",
      "value_locked_usd": 2544000000.0
    }
  ],
  "other_matches": [],
  "shard_count": 0,
  "source_url": "https://chainlist.org/rpcs.json",
  "total_matches": 101,
  "truncated": true
}

On this page